-
Notifications
You must be signed in to change notification settings - Fork 8
Description
Problem
In our project we depend on VoxImplantSDK through CocoaPods. However, it seems that the version released with CocoaPods doesn't allow linking for arm64 simulator. This is a problem for us, because some profiling features such as os_signpost
and os_log
don't work for translated binaries in Xcode 13.0.
How to reproduce
- Use arm64 macOS machine
- Create an empty project with a Podfile and override
EXCLUDED_ARCHS
to be empty - Add VoxImplant with
pod 'VoxImplantSDK'
andpod 'VoxImplantWebRTC'
- Build for iOS 15 simulator using Xcode 13.0
The expected behavior is that VoxImplantSDK compiles and links successfully for arm64 simulator build.
The actual behavior is that VoxImplantSDK fails to compile with no such module 'VoxImplantSDK'
.
Potential solution
I believe supporting .xcframework
for VoxImplantSDK in CocoaPods should be possible.
To validate, I tried downloading .xcframework
s from SPM distribution and modified the .xcframework
s as follows:
- Renamed
VoximplantSDK.xcframework
toVoxImplantSDK.xcframework
- Renamed
VoximplantWebRTC.xcframework
toWebRTC.xcframework
then I modified the .podspec.json
files as follows:
- Removed
EXCLUDED_ARCHS
from both declarations - Replaced
vendored_frameworks
withVoxImplantSDK.xcframework
andWebRTC.xcframework
in their respective declarations
I served the updated zip files through local http server, pointed CocoaPods to the updated .podspec.json
files and both arm64 and x86_64 simulator builds were successful.