2014-12-03 95 views
3

我已經構建了帶有以下標誌armv7 armv7s和arm64的.ipa文件。 是否有任何方法/工具可以確保.ipa確實具有64位支持?如何知道您的.ipa是否是64位

如果應用程序二進制文件具有64位支持,蘋果如何在應用程序提交期間找到答案。

+1

標準架構包括兩個。如果您查看包含armv7(32位)和arm64(64位)的列表。 armv7s被悄悄放棄,因爲只有一個設備可以從它獲得輕微的收益(iPad 4)。 _Reading:_ [將您的App轉換爲64位](https://developer.apple.com/library/IOs/documentation/General/Conceptual/CocoaTouch64BitGuide/ConvertingYourAppto64-Bit/ConvertingYourAppto64-Bit.html) – carlodurso 2014-12-03 12:34:33

+0

感謝您回答carlodurso – 2014-12-03 18:47:04

回答

8

其中一個選項是使用lipo -info %path-to-executable%確保您沒有使用.app文件夾或.ipa歸檔的路徑。

+3

Just詳細說明,從.ipa中提取exe檢出鏈接:http://stackoverflow.com/questions/5737259/support-armv6-and-armv7-in-the-same-ipa – 2014-12-03 18:46:19

0

我創建了一個腳本,需要.ipa文件作爲輸入,並返回什麼架構的應用程序支持 - (更換和與你)

ORIGINAL_FILE="<file path>" 
FILE_NAME=$(basename $ORIGINAL_FILE) 
EXPANDED_DIR="/Users/<username>/Downloads/expanded_app/$FILE_NAME" 
PLIST_FILE="$APP_DIR/Info.plist" 
APP_DIR="$EXPANDED_DIR/Payload/*.app" 
unzip -q "$ORIGINAL_FILE" -d "$EXPANDED_DIR" 

executable_file_name=$(/usr/libexec/PlistBuddy -c "Print CFBundleExecutable" $PLIST_FILE) 
EXECUTABLE_FILE="$APP_DIR/$executable_file_name" 
app_architecture_list=$(lipo -info $EXECUTABLE_FILE) 
echo $app_architecture_list 

現在,這app_architecture_list會給你產生將包含armv6armv7arm64,通過它你可以弄清楚。