Posts

Post marked as solved
3 Replies
11k Views
Xcode (11.3.1) is having issues to found x86_64 architecture symbols while using XCFrameworks. The problem is that the architecture is inside the XCFramework, but first let me show you how the framework was created.To generate the XCFramework I made two Archives:For iOS:xcodebuild archive -scheme MyPod -target MyPod -destination="iOS" -archivePath build/ios.xcarchive -derivedDataPath /tmp/iphoneos -sdk iphoneos SKIP_INSTALL=NO BUILD_LIBRARIES_FOR_DISTRIBUTION=YESFor iOS Simulator:xcodebuild archive -scheme MyPod -target MyPod -destination="iOS Simulator" -archivePath build/iossimulator.xcarchive -derivedDataPath /tmp/iphoneos -sdk iphonesimulator SKIP_INSTALL=NO BUILD_LIBRARIES_FOR_DISTRIBUTION=YESThen I generated the XCFramework: xcodebuild -create-xcframework -framework ./build/ios.xcarchive/Products/Library/Frameworks/MyPod.framework -framework ./build/iossimulator.xcarchive/Products/Library/Frameworks/MyPod.framework -output xcframework/MyPod.xcframeworkHere is the XCFramework created where we can see the two architectures: XCFramework previewOnce it was created, I distributed it by Cocoapods (1.9.0.beta.3). So my .podspec looks like: s.subspec "Vendored" do |framework| framework.vendored_framework = 'xcframework/MyPod.xcframework' endThen I consumed it in another project, and when compiling, it fails because it can't find the architecture for the simulator (on devices it works)The log I got is the following:ld: warning: ignoring file /Path/To/MyProject/Pods/MyPod/xcframework/MyPod.xcframework/ios-armv7_arm64/MyPod.framework/MyPod, missing required architecture x86_64 in file /Path/To/MyProject/Pods/MyPod/xcframework/MyPod.xcframework/ios-armv7_arm64/MyPod.framework/MyPod (2 slices) Undefined symbols for architecture x86_64: "_OBJC_CLASS_$MyPod", referenced from: objc-class-ref in SomeClass.o ld: symbol(s) not found for architecture x86_64It looks like xcodebuild always go to the ios-armv7_arm64 folder instead the ios-i386_x86_64-simulator one, any ideas? Thank you!
Posted
by LFuryk.
Last updated
.