簡體   English   中英

iOS 64位兼容性

[英]iOS 64 bit compatibility

今天早上我收到蘋果公司發來的一封電子郵件說:

親愛的開發者,

正如我們在10月份宣布的那樣,從2015年2月1日開始,提交給App Store的新iOS應用程序必須包含64位支持並使用iOS 8 SDK構建。 從2015年6月1日開始,應用更新也需要遵循相同的要求。 要在項目中啟用64位,我們建議使用“標准體系結構”的默認Xcode構建設置來構建包含32位和64位代碼的單個二進制文件。

如果您有任何疑問,請訪問Apple Developer論壇。

最好的問候,Apple開發者技術支持

現在我有一個問題,你如何確保iOS應用程序兼容64位?

我的構建設置如下所示: 架構

我的部署目標是iOS 6.0。

我只需要確認該應用程序是64位兼容的,我是iOS的新手並且不久前接管了一個相當大的項目所以我寧願要求並且100%肯定。

為了讓事情更清楚一點,您如何確保iOS應用程序與64位兼容? 我知道您需要設置某些構建規則,例如圖像中的構建規則,但我想知道有沒有辦法知道您的iOS應用程序是64位兼容的。 32位iOS應用程序可以在64位硬件上運行,所以我不相信檢查iOS應用程序在設備上運行是否有幫助。

我相信你可以上傳一個新版本,看看你是否收到了這條消息:但我希望在沒有上傳新版本的情況下提供一個不錯的選擇。 圖片

謝謝!

根據您的設置,您應該在二進制文件中使用arm64和armv7。 你不會得到armv7s,因為雖然它是一個有效的架構, 如果在Xcode 6上構建, 它也不包含在ARCHS_STANDARD中參見參考資料 )。

僅僅因為它在64位設備上運行,並不意味着它具有64位支持。 64位設備可以運行32位應用程序。

要確定它是否包含arm64塊,您需要找到該應用程序。 轉到Xcode首選項,然后選擇Locations標記。 派生數據行告訴您構建文件的位置。

XCode設置:位置

打開終端(Finder-> Applications-> Utilities-> Terminal)並使用'cd'命令轉到該位置。 就我而言,我的項目存儲在〜/ MyProject中

$ cd ~/MyProject
$ cd build
$ find . -name MyTarget
./build/MyTarget
./build/MyTarget/Build/Products/Debug-iphoneos/MyTarget.app/CoreControl
./build/MyTarget/Build/Products/Debug-iphoneos/MyTarget.app.dSYM/Contents/Resources/DWARF/CoreControl

現在我們知道存儲二進制文件的位置(這是第二個結果),我們可以檢查它以查看它包含的體系結構:

$ dwarfdump ./build/MyTarget/Build/Products/Debug-iphoneos/MyTarget.app/MyTarget
----------------------------------------------------------------------
 File: ./build/MyTarget/Build/Products/Debug-iphoneos/MyTarget.app/MyTarget (armv7)
----------------------------------------------------------------------
.debug_info contents:
< EMPTY >

在我的情況下,我只有arm7內置,而不是arm64。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM