App 提交 iTunes Connect 二進制無效問題解決方案


轉: http://www.tuicool.com/articles/ABbaqaz


自2015年2月份開始,新上傳到iTunes上面審覈的app,必須支持64位,新上傳是指第一次上傳,

或者沒有審覈通過過,總之就是在AppStore上面沒有上架的app,必須支持64位,包括工程裏面的代碼和用到的靜態庫文件

如果之前iTunes上面有審覈通過的app,現在只是上傳升級版本,更新版本去審覈,這時也可以提交成功,iTunes上面驗證二進制文件可以通過,

不必非得支持64位,但是不要高興太早,這只是權宜之計,到2015年6月份上傳的升級版本還是要支持64位,只是現在這種情況不需要強制,

1.先查看下是否支持64位(發佈的App要支持64位)

如下圖所示是支持64位

2.查看Schemes的Analyze和Archive是否是release模式

Analyze要爲release模式

以上兩個解決了還是不行,打包上傳TMD還是二進制文件無效,why?

用Xcode打包上傳時,蘋果讓我們默認勾選了Include app symbols for your application to receive symbolicated crash logs from Apple.

將勾去掉,但是還是不能上傳還是二進制文件無效.繼續解決問題

Architectures:你想支持的指令集。(支持指令集是通過編譯生成對應的二進制數據包實現的,如果支持的指令集數目有多個,就會編譯出包含多個指令集代碼的數據包,造成最終編譯的包很大。) Valid architectures:即將編譯的指令集。(Valid architectures 和 Architecture兩個集合的交集爲最終編譯生成的版本)

Build Active Architecture Only:是否只編譯當前設備適用的指令集(如果這個參數設爲YES,使用iPhone 6調試,那麼最終生成的一個支持ARM64指令集的Binary。一般在DEBUG模式下設爲YES,RELEASE設爲NO)。

還有最好在iOS Device環境下打包,不要插上真機打包。

爲了嚴謹可以將包導出,然後在終端檢查看是否支持arm64

Resource Reference


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章