Skip to content
This repository has been archived by the owner on Feb 7, 2024. It is now read-only.

Latest commit

 

History

History
45 lines (30 loc) · 1.88 KB

README.md

File metadata and controls

45 lines (30 loc) · 1.88 KB

cocoa-i18n

Usage

./CocoaLoco generate ~/Resources/LocalizableStrings.json ~/Resources/Output --objc --public --prefix "Base" --bundleName "hudlCapture"
  1. The first param is the inputURL of the json file to process.
  2. The second param is the outputURL, a directory where the output files should go.
  3. --objc is optional, and will generate Objective-C compatibility
  4. --public is optional, and will make the code public.
  5. --prefix <prefix> will prefix all the files, as well as the files struct / enum names with the provided prefix.
  6. --bundleName <name>, if you have a static extension on Bundle that provides a bundle, use it's name here. Providing hudlCapture will result in the code Bundle.hudlCapture as the internal bundle for loading the strings.

Setup

To generate the xcodeproj file, use

swift package generate-xcodeproj

Then you can open CocoaLoco.xcodeproj. Tests won't be passing yet though, because SPM doesn't support resources. You will need to follow the below steps to get your resources added. It doesn't take long.

  1. First you will need to create a new build phase within the tests target to copy our resources.

  1. Next, you'll need to add these files to our project.

  1. Finally, select the resources directory and make sure you add them to the correct group.

Tests should be passing now!

Creating A Release

swift build -c release -Xswiftc "-target" -Xswiftc "x86_64-apple-macosx10.14"

It will build to .build/x86_64-apple-macosx/release/CocoaLoco. That's your binary!

Eventually this should be distributed through SPM or CocoaPods, but for now we're just floating binaries.