Skip to content

VoxImplant doesn't link for arm64 simulator builds when integrated with CocoaPods #12

@abdulowork

Description

@abdulowork

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

  1. Use arm64 macOS machine
  2. Create an empty project with a Podfile and override EXCLUDED_ARCHS to be empty
  3. Add VoxImplant with pod 'VoxImplantSDK' and pod 'VoxImplantWebRTC'
  4. 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 .xcframeworks from SPM distribution and modified the .xcframeworks as follows:

  • Renamed VoximplantSDK.xcframework to VoxImplantSDK.xcframework
  • Renamed VoximplantWebRTC.xcframework to WebRTC.xcframework

then I modified the .podspec.json files as follows:

  • Removed EXCLUDED_ARCHS from both declarations
  • Replaced vendored_frameworks with VoxImplantSDK.xcframework and WebRTC.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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions