背景
由于iOS系统的不断更新,iPhone不断发行新版本,我们的APP逐渐放弃了老版本系统以及iPhone手机的适配工作,现在我们的APP只需要支持arm64以及arm64e即可。所以在引入一些三方库的时候也就摒弃了armv7和armv7s等。只需在podfile内加入如下代码即可。其中的 arm64 arm64e
可更换为自己需要的架构。
# only 64-bit build architecture from Pods targets
post_install do |installer|
installer.pods_project.targets.each do |target|
target.build_configurations.each do |configuration|
target.build_settings(configuration.name)['ARCHS'] = 'arm64 arm64e'
target.build_settings(configuration.name)['VALID_ARCHS'] = 'arm64 arm64e'
end
end
end
注: 有与Xcode12 没有了VALID_ARCHS
选项,所以这项可以删除了。
(附)iPhone各个机型的架构
机型 |
iPhone Simulator 32 |
iPhone Simulator 64 |
架构 |
i386 |
x86_64 |
机型 |
iPhone |
iPhone2 |
iPhone 3G |
iPod Touch1 |
iPod Touch2 |
架构 |
armv6 |
armv6 |
armv6 |
armv6 |
armv6 |
机型 |
iPhone 3Gs |
iPhone 4 |
iPhone 4s |
iPhone 5 |
iPhone 5C |
架构 |
armv7 |
armv7 |
armv7 |
armv7s |
armv7s |
机型 |
iPhone 5s |
iPhone 6 |
iPhone 6 Plus |
iPhone 6s |
iPhone 6s Plus |
架构 |
arm64 |
arm64 |
arm64 |
arm64 |
arm64 |
机型 |
iPhone 7 |
iPhone 7Plus |
iPhone 8 |
iPhone 8 Plus |
iPhone X |
架构 |
arm64 |
arm64 |
arm64 |
arm64 |
arm64 |
机型 |
iPhone XS |
iPhone XS Max |
iPhone XR |
iPhone 11 |
iPhone 11Pro |
iPhone 11ProMax |
iPhone SE2 |
架构 |
arm64e |
arm64e |
arm64e |
arm64e |
arm64e |
arm64e |
arm64e |
指令集对应的机型:
2020 A13芯片arm64e : iPhone SE(2nd generation)
2019 A13芯片arm64e : iPhone 11、 iPhone 11 Pro、 iPhone 11 Pro Max
2018 A12芯片arm64e : iPhone XS、 iPhone XS Max、 iPhoneXR
2017 A11芯片arm64 : iPhone 8、iPhone 8 Plus、 iPhone X
2016 A10芯片arm64 : iPhone 7、iPhone 7 Plus
2015 A9芯片 arm64 : iPhone 6S 、iPhone 6S Plus 、iPhone SE
2014 A8芯片 arm64 : iPhone 6 、 iPhone 6 Plus
2013 A7芯片 arm64 : iPhone 5S
armv7s :iPhone5、iPhone5C
armv7 :iPhone4、iPhone4S
网友评论