Migration from legacy iOS CLI and legacy (v1) objective-C classes

We are aware of a few breaking changes we made. We are committed to streamline your resource management, thus we tried to make sure your transition is as smooth as possible and also provide a rollback option for you. If you need assistance during the transition, feel free to get in touch with our tech support at info@respresso.io.

Breaking changes:

  • The current, v2 generator does NOT require a runtime Respresso dependency anymore. Thus, you can remove it from your dependencies. (Live localization will be discontinued in this form.)
  • The interfaces remain the same (except for additions) but the key camel-case conversion changed. You might need to follow the changes, if you are affected.
  • The ios sync group does not contain these files, instead, the objc group should be used. (There is a new Swift alternative available.)
  • The new Respresso CLI won't edit your workspace automatically like the previous did. You might use the existing framework respresso module with the new CLI, or you can directly sync your resources to your own modules.
  • The new .string files will use a different name and directory structure. The RespressoStrings.bundle/<language>.lproj/respresso.strings became RespressoStrings/<language>.lproj/RespressoStrings.strings. You will need to remove existing Xcode references and add the new one to migrate.

Suggested migration steps:

  1. Install the new Respresso CLI on all the machines you want to use to sync resource files.
  2. Remove the auto generated respresso framework module that were created by the legacy CLI.
  3. Remove unnecessary Build Phases from your target. (Framework, Copy Resources and Live Run Scripts)
  4. Set up your existing modules with the new CLI. Run respresso init in each module you want to use Respresso. For further instructions, see the CLI's get started page. (Keep in mind, that Respresso has objc and swift sync groups to align with your project language.)
  5. Run respresso sync for each new respresso.json.
  6. Add the new synced files to their projects in Xcode by dragging them to Xcode navigator. For folders, use the Create groups option.
  7. If necessary, update your imports to use the new helper classes. You might also need to update some usages with the new property names as key transformation changed a bit.
  8. Optionally, set up Xcode to run sync before each build.

Roll back to v1 objective-C class generator

If migration is not an option for you, you can roll back to the old generator and use the legacy iOS CLI. To do so, you can switch back to the legacy v1 processor in your Flow config, but we highly recommend to transition to the new one.

In this case, the ios sync group will contain the v1 helper classes as before. Keep in mind, that the key transformation change may still impact the old generator.