小编Lea*_*ryk的帖子

Xcode 未使用 XCFrameworks 找到架构 x86_64 的符号

使用 XCFrameworks 时,Xcode(11.2.1 和 11.3.1)无法找到 x86_64 架构符号。问题是该架构位于 XCFramework 内部,但首先让我向您展示该框架是如何创建的。

为了生成 XCFramework,我制作了两个存档:

  1. 对于 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=YES

  2. 对于 iOS 模拟器:

    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=YES

然后我生成了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.xcframework

这是创建的 XCFramework,我们可以在其中看到两种架构: XCFramework 预览

创建后,我通过 Cocoapods (1.9.0.beta.3) 分发它。所以我的 .podspec 看起来像:

s.subspec "Vendored" do |framework| framework.vendored_framework = 'xcframework/MyPod.xcframework' end

然后我在另一个项目中使用了它,在编译时,它失败了,因为它找不到模拟器的架构(在它工作的设备上)

我得到的日志如下:

ld: warning: ignoring file …

xcode ios ios-simulator cocoapods xcframework

6
推荐指数
1
解决办法
1860
查看次数

标签 统计

cocoapods ×1

ios ×1

ios-simulator ×1

xcframework ×1

xcode ×1