App提交iTunes Connect,"二進位無效"問題解決方案。

來源:互聯網
上載者:User

標籤:

 

昨天提交打包提交App,將包上傳到iTunes Connect之後,以為就能發布了,便點擊構建版本,發現沒有剛剛上傳的包,於是就點擊"預發行"看一下,會看到"已上傳",過不久再重新整理一次再看,就變成了二進位無效,無比的鬱悶,上傳了五六次都是二進位檔案無效,

原因:1.自2015年2月份開始,新上傳到iTunes上面審核的app,必須支援64位,新上傳是指第一次上傳,

或者沒有審核通過過,總之就是在AppStore上面沒有上架的app,必須支援64位,包括工程裡面的代碼和用到的靜態庫檔案

2.如果之前iTunes上面有審核通過的app,現在只是上傳升級版本,更新版本去審核,這時也可以提交成功,iTunes上面驗證二進位檔案可以通過,

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

個人建議還是儘快檢查自己的代碼和靜態庫,需要更換的及早更換,被拒一次要等得時間一般是2禮拜左右,非常不值得

廢話不多說,現在就來說說解決辦法吧!

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,

 

App提交iTunes Connect,"二進位無效"問題解決方案。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.