Problem Description:
When we upgrade Kinvey iOS SDK to v3.23.0 (or above) on Xcode 10.2.1 and build the project, it fails with a lot of Swift Compiler Errors. These errors are seen in the SDK files like Persistable.swift, PushOperation.swift, FileStore.swift and Query.Swift, HttpRequest.swift, MIC.swift, ObjectMapperJSONParser.swift.
Steps to Reproduce the issue:
- In Terminal, run "pod install" and upgrade the iOS SDK to v3.23.0 (or above)
- Open your project in Xcode and build it
Error Message:
"Value of optional type 'String?' must be unwrapped to a value of type 'String'"
Cause:
We see this error because CocoaPods is NOT using Swift 5 to compile the Kinvey framework i.e. we are using an old version of the CocoaPods which does not includes the changes for Xcode 10.2 and Swift 5.
Resolution:
- Please install the latest version of CocoaPods using "gem install cocoapods --pre".
- Once the CocoaPods in updated then run "pod install" again. This time CocoaPods will use Swift 5 to compile the Kinvey framework and you shouldn't see any errors in the Xcode.
Notes:
For details about CocoaPods versions, please check this link: https://github.com/CocoaPods/CocoaPods/releases