M1
静态库和动态库报错
之前在intel
电脑上
模拟器用的是x86_64
模拟器的app
也是一样的
真机用的是arm 64
所以之前静态库就需要打两个包
然后再合并
现在M1
的就不一样了
M1
就是arm64
的
模拟器用的就是arm64
所以之前用intel
的电脑上打包的就不能用了
因为之前intel
电脑上是x86_64
架构的
但是之前的真机是arm64
理论上来说应该也是可以的
但是Xcode
会判断一下
真机走真机的包
模拟器走模拟器的包
所以说才会报错
那问题找到了
最好的解决办法就是
重新打包
打包成XCFramework
就可以了
.a
包
1 | xcodebuild -create-xcframework -library <path> [-headers <path>] [-library <path> [-headers <path>]...] -output <path> |
demo
1 | xcodebuild -create-xcframework -library youpath/TestFramework.a -headers youpath/TestFramework -library youpath/TestFramework.a -headers youpath/TestFramework -output youpath/TestFramework.xcframework |
framework
1 | xcodebuild -create-xcframework -framework <path> [-framework <path>...] -output <path> |
demo
1 | xcodebuild -create-xcframework -framework Release-iphoneos/TestFramework.framework -framework Release-iphonesimulator/TestFramework.framework -output TestFramework.xcframework |
还有一种方法
就是用让模拟器用Rosetta
模式启动
不是Xcode
是模拟器