問題發生場景:
調試設備:iPhone5 手機一臺,系統 iOS10
1、編譯打包: 選擇Device --自己的調試設備iPhone5
iPhone6手機安裝,啟動App,收到如圖提示,在iOS10 系統下,APP能運行
iOS 提醒1.png
2、升級調試設備 iPhone6 系統到iOS 11
a、點擊App,出現如下提示——該App 需要更新,才能在iOS 11 下運行
b、 刪除App,從新下載App,App無法安裝
3514A6B2AB227B11F4620E40A1FAD73C.jpg
問題發生的原因:
1、蘋果對64位應用的要求,變化歷程
2013年下半年要求開發者提交64位應用;
2015年2月,審核的所有新應用必須支持64位;
2015年6月,AppStore中的所有應用必須支持64位;
2017年...32位應用無法使用;
2、編譯打包時,選擇自己調試設備iPhone5,所打包是32位應用。
在iOS 10.x 下,系統會有如上圖1提示——未來系統不能運行次應用,聯系開發者升級應用
在iOS 11.x 之后,未下載應用,則下載不能成功,已下載應用,將無法打開應用,會有如圖2提示——應用需要升級,該應用無法在iOS 11下運行。
解決辦法:打包成64位應用,會向下兼容32位設備
1、編譯打包時,選擇64位的調試設備打包
2、選擇xcode 默認設備打包
如下,相同代碼,打包成32位應用,跟打包成64位應用,
相差好幾M(64位應用大幾M);
3182F7E9-D63E-45E9-BC74-0790EF972930.png