在把应用打包安装到iPod Touch上面时,设备提示不兼容,所以就有几种猜想:
1.CPU架构问题,因为我手里这个iPod Touch的CPU是A5,是32位的;
2.TARGETS里面相关的设置对设备类型做了限制;
首先,检查了所有和Architecture相关的设置参数。
发现所有参数都是包含了armv7的,而且没有设置仅限于arm64架构。
我的Xcode 8里面,相关设置如图所示:
(Build Active Architecture Only)这个设置很重要,就是只针对你当前连接的设备这种架构的硬件构建你的程序库文件,这样就可以更快地build,pods里面的第三方库都是这样的设置。
如果都设置为Yes,那么你当前如果插了iPhone真机打包,并且Archive设置为Release模式,然后发布给iPod安装,iPod就会出现兼容问题。
所以,如果你想要Archive设置为Debug,那么最好把Build Active Architecture Only里面的Debug设置为No。
所以上面的设置是没有问题的,开始验证第二个猜测!
于是检查设备类型相关的设置,发现问题所在了,如图:
好的,改为Universal之后再次打包,成功解决设备兼容性问题!