chore(ios): project changes for xcode 14 compatibility
To upgrade to Xcode 14 (needed to build and debug apps withiOS 16), two changes generated warnings and caused the build to fail. These changes are described in the Xcode 14 release notes:
- increase the iOS target version from 9 to 11
The Xcode 14 release supports on-device debugging in iOS 11 and later, tvOS 11 and later, and watchOS 4 and later. Xcode 14 requires a Mac running macOS Monterey 12.5 or later.
- disable bit code
The xcode 14 release notes describe the deprecation of bit code:
Deprecations Starting with Xcode 14, bitcode is no longer required for watchOS and tvOS applications, and the App Store no longer accepts bitcode submissions from Xcode 14. Xcode no longer builds bitcode by default and generates a warning message if a project explicitly enables bitcode: “Building with bitcode is deprecated. Please update your project and/or target settings to disable bitcode. The capability to build with bitcode will be removed in a future Xcode release. IPAs that contain bitcode will have the bitcode stripped before being submitted to the App Store. Debug symbols for past bitcode submissions remain available for download. (86118779)
- We should make sure we loop in the App Builder team (@chrisvire, @rpmargetts) so they have a heads-up on the changing requirements for Keyman 16. They'll probably already be dealing with it in their own move to iOS 16 but it's nice to be informed anyway! 😁
Please include @davidmoore1. He has done work in app-builders for Xcode 14 and iOS 16 (including removing bitcode). He has also done work in a fork of keyman to support Carthage.
Please include @davidmoore1. He has done work in app-builders for Xcode 14 and iOS 16 (including removing bitcode). He has also done work in a fork of keyman to support Carthage.
Righto, will do. We'd also be interested at some point in understanding what is diverging in the fork and what we should be merging back upstream into the main Keyman project.
Please see https://github.com/keymanapp/keyman/issues/7483#issuecomment-1285921017 for additional work we'll need to do in CI when we move to XCode 14.
Query: can we reliably use xcode-select to swap between xcode versions? This would allow us to more easily keep up with xcode releases, without breaking existing build agents
@mcdurdin: You can have multiple. The question is whether xcodebuild will work correctly after each xcode-select call and if there is anything that resides outside of the Xcode install folder.
https://stackoverflow.com/questions/669367/can-i-have-multiple-xcode-versions-installed
Thanks @chrisvire, that's helpful info. Sad that we need to sudo xcode-select because that makes it hard to script in TeamCity... some exploration needed I guess.
Is this replaced by #8015 ?
Replaced by #8015.