Invalid binary的那些事

      自2015年2月以來,蘋果就已經強制讓app支持64位了,所以相信很多童鞋在上傳老版應用時,都遇見過構建版本中無版本可選的問題,這時候你點擊iTunes connect上的預發佈就會發現蘋果告訴你你的二進制文件無效,這也就是我們以前常說的Invalid binary

         上網搜索的話會發現網上曬出了好多Invalid binary的解決法案,總結一下最靠譜的就是等待蘋果的答覆郵件,根據郵件中問題對症下藥,但是我們都知道蘋果的效率,所以也不要太期待了。

       現在Invalid binary的問題大部分都是沒有支持64位的緣故,我寫出我的解決方案,希望對大家有所幫助。

        1,Build Settings -- > Architectures -->Architectures 選擇 Standard architectures(armv7, arm64)

        2,  Build Settings -- > Architectures  --> Valid Architectures 添加 arm64 armv7 armv7s

           3,  做完以上兩步,clean一下,編譯,你會發現大量的編譯錯誤,OK,一個一個的解決,對於很多靜態庫而言,你只需要將.a 文件替換爲最新的即可,有些靜態庫比如libzbar.a很早就不更新了,而且也不支持arm64怎麼辦,以Zbar庫爲例,從網上重新down一份ZbarSdk,打開工程,配置好1,2,選擇相應的真機或模擬器,編譯一下,將編譯完成的靜態庫替換下老項目中的靜態庫即可。

         4,在替換copy進自己項目中時,要記得將Build Phases中的Link Binary With Libraies中的原有的庫刪除。

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