我有我的自定义框架,它在XCode 10中工作正常。我在XCode 11测试版3中重新构建它,然后集成到应用程序中,得到以下错误:
找不到目标'x86‘的模块'MyCustomFramework’
_
64-apple-ios-模拟器‘;找到: arm64,arm64-apple-ios
我需要在框架项目的“有效架构”中做一些修改吗?
更新:
我不能选择任何正确的答案,因为我的例子中的框架非常小(一个类,几个方法),而且几乎没有使用,所以我决定摆脱它,并将这几个方法转移到主项目中。
发布于 2019-10-02 04:49:47
为了解决这个问题,我不得不再次使用Xcode11工具为我的自定义框架创建一个fat库。
为此,我执行了以下操作:
1)
构建
目标为iOS模拟器,并从桌面上的products文件夹中提取框架。
Xcode▸DerivedData▸Your Project▸Build▸Products▸Release-Project模拟器
2)
构建
目标为通用iOS设备,并从桌面上的products文件夹中提取框架。
Xcode▸DerivedData▸Your Project▸Build▸Products▸Release-iphoneos
3)
将模拟器生成的框架重命名为
这样以后就可以区分了。
4)
使用lipo命令将两个二进制文件合并为一个fat二进制文件。(cd到您的桌面或您的自定义框架文件所在的任何位置)
$lipo -create ./YourCustomFramework-sim.framework/YourCustomFramework ./YourCustomFramework.framework/YourCustomFramework -output ./YourCustomFramework
5)
复制
在上述步骤中创建的二进制文件,并将其替换为
文件夹。
6)
从文件夹
YourCustomFramework-sim.framework/Modules/YourCustomFramework.swiftmodule/
复制所有模块并将其粘贴到
YourCustomFramework.framework/Modules/YourCustomFramework.swiftmodule/
这应该可以解决您的问题。
发布于 2019-10-04 12:53:26
Swift 5.0-5.1,Xcode 11
打开Xcode、Build Settings、Build Active Architecture Only并更改为for Debug and Release。在标准体系结构-$中设置/离开体系结构
_
标准),重要的是下一步:
有效架构: armv7、armv7s、arm64、arm64e、ADD here x86
_
64,如果您需要为调试和发布添加i386。(字符串: armv7,armv7s,arm64,arm64e,x86
_
64)
在模拟器列表中选择任何模拟器并构建它。完成。
我希望它对你有用。
架构描述:
armv64: iPhoneX、iPhone 5s-8、iPad Air - iPad专业版
armv7 : iPhone3Gs-5c,iPad WIFI(第四代)
armv6 : iPhone - iPhone3G
如果用于实际设备,则为-the
i386 :32位模拟器
x86
_
64 :64位模拟器
发布于 2020-04-09 01:50:37
我添加了两个架构i386和x86
_
64.并将Yes设置为"Build Active Architecture Only“。它适用于我在每个模拟器设备上构建。
对于XCode-12,已将有效体系结构移到最底部的用户定义选项下作为有效
_
拱门
https://stackoverflow.com/questions/56957632
复制相似问题