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中的原有的库删除。

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