Issue Description
Reveal version 21 added support for the new arm64e architecture used in the newest iOS devices.
Unfortunately, this has highlighted an issue with one of CocoaPods' dependencies, ruby-macho, that is causing the framework not to be copied properly when building (https://github.com/CocoaPods/CocoaPods/issues/8529).
This causes your iOS app to crash on launch, emitting a message similar to this in the Xcode debug console:
dyld: Library not loaded: @rpath/RevealServer.framework/RevealServer
Referenced from: /Users/tonyarnold/Library/Developer/CoreSimulator/Devices/70E3F476-9F99-4B34-B9C6-094A51FAEADF/data/Containers/Bundle/Application/F2C25678-8E2E-451B-9A92-9A62DF3AAD0E/Simple Sample.app/Simple Sample
Reason: image not found
A fix has already been submitted for review, however it may take some time to get to users via rubygems. In the meantime, there's a fairly quick workaround that you can use in your own projects.
Fix
This issue is fixed in CocoaPods 1.6.1 and subsequent releases. If you're experiencing this issue, you should update to the latest version by following their guide: Updating CocoaPods.
Workarounds
If you can't update your copy of CocoaPods right now, you can downgrade the RevealServer framework until upgrading CocoaPods is possible. There were no changes to RevealServer in version 21, so you can still use the previous release, version 20, and that will resolve the issue for now.
- In your Podfile, please lock the Reveal-SDK version to 20, like so:
pod 'Reveal-SDK', '20', :configurations => ['Debug']
- Run
pod update Reveal-SDK
in your project directory.
Once the issue is resolved in ruby-macho, you can remove the version lock. This article will be updated when that happens.