升级Xcode14之后如何打出带有armv7架构的SDK包
Xcode14
以前是默认armv7
和arm64
的, 升级Xcode
之后就被苹果这厮移除了, 所以答案是Xcode14是打不出来armv7的包的
,
因为某些资本家的理念: 宁可兼容到每一个古董机型,也不允许放走一个潜在的客户~
虽然苹果升级的很快而且支持最低系统版本已经到iOS 11.0
起步了,作为卑微的打工人👷🏻♂️ 所以只能通过下载旧版的Xcode
去编译兼容了
Xcode14
直接编译则报错如下:
warning: The iOS deployment target 'IPHONEOS_DEPLOYMENT_TARGET' is set to 7.0, but the range of supported deployment target versions is 11.0 to 16.0.99.
error: The armv7 architecture is deprecated. You should update your ARCHS build setting to remove the armv7 architecture. (in target 'xxxKit' from project 'xxxKit')
解决方案:
MacOS 12.5 已经装了AppStore最新版本的Xcode14
再下载个Xcode13或者Xcode12去打包
下载了一个 Xcode_12.4.xip
,解压之后打开提示如下:
#免去解压前的认证过程 先执行下然后双击点开
xattr -d com.apple.quarantine Xcode_12.4.xip
安装在此Mac上的Xcode版本与macOS Monterey不兼容。 从App Store免费下载最新版本
无法直接点击图标打开,只能通过命令行去操作
~/Desktop/MacTools/Xcode.app/Contents/MacOS/Xcode
切换Xcode
#解压后重命名为xcode12拖到应用程序目录下(不重命名的话会与AppStore下载的冲突覆盖)
sudo xcode-select -s /Applications/Xcode12.app
SDK
打包采用命令行执行即可,默认xcodebuild
都是会走切过之后的
大部分命令行工具都在/Applications/Xcode12.app/Contents/Developer/usr/bin
目录下
所以就算是不切换Xcode
也可以直接调用只是需要补全命令的全路径, 因为切换之后路径存在某个环境变量里就是全局的,所以可以省去前面的路径
/Applications/Xcode12.app/Contents/Developer/usr/bin/xcodebuild -configuration Release -scheme BuildSDKScript -sdk iphoneos -workspace xxxKit.xcworkspace;
Xcode14走的是iphoneos16.0 Xcode12.4走的是 iphoneos14.4
一点 小Tips:
如果开发中只会用到
Xcode14
, 只有打包的时候才会用Xcode12
所以干脆直接写命令行脚本去执行打包,这样就可以不用切来切去的
参考文章
本文来自博客园,作者:CoderWGB,转载请注明原文链接:https://www.cnblogs.com/wgb1234/p/16819319.html