- Fonts: fix an issue where SwiftGen would fallback to the full font file path instead of using the relative path to the search location.
Due to the removal of legacy code, there are a few breaking changes in this new version that affect both template writers as well as developers. We've provided a migration guide to help you through these changes, which you can find here:
Migration Guide for 2.0
- Throw an error if a format string has mismatching types for the same placeholder position.
- Added support for multiple string tables.
- Storyboards now provide a
platform identifier (iOS, macOS, tvOS, watchOS).
- Added support for multiple color palettes.
- Fix swiftlint errors on enum names not conforming to the Swift 3 syntax.
- Switch to a DOM-based XML parser.
- Images: switch back from
actool to an internal parser to fix numerous issues with the former.
- Refactor the colors parser into a generic parser that will invoke the correct type-specific parser based on the file extension. This allows us to support multiple input files.
- Refactor all parsers to conform to a
Parser protocol to unify the interfaces.
- Don't convert colors to the calibrated RGB color space if it isn't needed.
- More variables have been deprecated, while new variables have been added.
tableName have been replaced by
tables, which is an array of string tables, each with a
name and a
- For each string, the
params variable and it's subvariables (such as
count, ...) have been replaced by
types, which is an array of types.
segueEnumName have been replaced by
param.segueEnumName respectively. Templates should provide a default value for these in case the variables are empty.
- Added the
path variable to the fonts context (so that we can use it to genrate
Info.plist entries and such).
- Switch from Travis CI to Circle CI, clean up the Rakefile in the process.
- We can now re-generate the contexts used for testing by using the "Generate Contexts" Xcode scheme.
- Documented the input & output of each parser.
PathKit dependency to 0.8.0
- Asset catalog parser: ignore unsupported types (such as appiconset).
See SwitftGen's own CHANGELOG pre SwiftGen 4.2 version, before the refactoring that led us to split the code in frameworks