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:

  1. In Terminal, run "pod install" and upgrade the iOS SDK to v3.23.0 (or above)
  2. 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: 

  1. Please install the latest version of CocoaPods using "gem install cocoapods --pre". 
  2. 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