1. 程式人生 > >iOS 怎麼檢測app支不支援64位

iOS 怎麼檢測app支不支援64位

在2015年2月1日新的iOS應用提交到App Store的開始必須包括64位支援並與iOS 8 SDK構建。2015年6月1日開始的應用程式更新也要遵循同樣的要求。為了使專案中的64位,我們建議使用預設的Xcode編譯設定“標準結構”來建立一個單一的二進位制與32位和64位程式碼。
在你已經糾正了問題,你可以用Xcode應用程式或上傳一個新的二進位制iTunes Connect。

1.檢測專案中有沒有不支援64的sdk

(1)Xcode會提示你更新你的專案,其中的警告和錯誤資訊對於轉換到64位相當重要。 3. 將你的專案設定改換到支援iOS6或更高。如果你的iOS版本低於6,你無法生成64位的app。 4.將Architectures build設定改為“Standard Architectures (including 64-bit).” 5. 升級你的app使其適配64位的執行環境。模擬器可以幫你找到一些,但僅依靠編譯器檢查是不靠譜的,你還是需要根據文件自己來找。 6.使用64位的硬體進行測試。

(2)真機除錯就行了,拿iPhone 5S、iPhone 6、iPhone 6 Plus、iPad Air、iPad Air 2、iPad mini 2、iPad mini 3,任意一款真機除錯一次,就可以知道了,如果你的應用不知道64位,會出現類似於下報錯

Undefined symbols for architecture arm64:
  "_OBJC_CLASS_$_PEMVideoView", referenced from:
      objc-class-ref in CollectionViewController.o
ld: symbol(s) not found for architecture arm64

clang: error: linker command failed with exit code 1 (use -v to see invocation)

2、如果不支援解決辦法

http://www.codeceo.com/article/ios-64-bit.html

(1)/Users/fujinshi/Desktop/6BF2522C-52A9-411C-9FEC-8A1E7AF13EC7.png 
我的改成這樣就可以了,同時要去除錯一下程式是否有第三方或者什麼方法不支援64位,尋找支援64位的或者幹掉,同時將int轉換成NSInteger,並且將NSLog的列印%d改為%ld等根據提示進行修改就ok了.

(2)修改Build Settings 中的Architecutures 中的Architectures 為Standard architectures Valid Architectures 為 arm64 armv7 armv7s

(3)如果你的app中使用的第三方不支援64位 首先應更新sdk 換成支援64位的版本進行使用

3.ios-app支援arm64位時, 一些問題的研究

http://www.itnose.net/st/6166336.html