2012-07-03 59 views
17

我們正在嘗試一種爲我們的應用程序指定版本號的新方法。我希望能夠檢查我們正在構建的IPA是否有我們想要的版本號。如何從IPA中獲取版本號?如何從IPA中找到iPhone應用程序的版本號?

注 - 我沒有要求從應用程序內的代碼中找到它的方法;我打開了一個終端並創建了IPA文件,我想知道在IPA文件內查找什麼。

回答

32

從終端

1. { #//Rename the ipa file into zip 
    #mv YourIPAFile.ipa YourIPAFile.zip }  
Not needed. Just skip to step 2 directly. 

    2. //unzip the file 
    unzip YourIPAFile.zip OR if you've skipped step 1, 
    unzip YourIPAFile.ipa 

    //Open payload folder 
    cd Payload 

    //Open your .app file 
    cd yourApp.app 

    //Open the plist file 
    open Info.plist 

執行下面你可以找到捆綁版本項下的版本enter image description here

+0

我可以使用這些命令並將其寫入一個工具,而這些工具只是檢查minimumOSVersion? – jefferyleo

2

它在IPA /負載/ NAME.app/Info.plist中

+0

就是這樣。您可以解壓縮ipa文件,就像它是一個zip文件一樣。 –

+1

之後嘗試重新壓縮它然後使用它是不可取的,我不認爲它會被代碼簽名,所以不會在設備上運行。 – prince

+0

你可以在ipa文件的副本上做到這一點。 –

4
  1. 解壓縮您的ipa文件

    unzip YourIPAFile.ipa 
    
  2. 繼plistBuddy命令打印束版

    /usr/libexec/PlistBuddy -c print Payload/NAME.app/Info.plist | grep CFBundleVersion 
    

    CFBundleVersion = 1.0

  3. 繼plistBuddy命令打印BundleVersion字符串

    /usr/libexec/PlistBuddy -c print Payload/NAME.app/Info.plist | grep CFBundleShortVersionString 
    

    CFBundleShortVersionString = 1.0

6

沒有什麼比PlistBuddy和grep更好的辦法:

unzip -d ipa YourIPA.ipa 
defaults read `pwd`/ipa/Payload/YourAppName.app/Info CFBundleVersion 
rm -rf ipa 

值得一提的是使用defaults read需要對您的應用程序的絕對路徑。

0

我更喜歡使用ProvisionQL。 https://github.com/ealeksandrov/ProvisionQL 它提供了IPA文件的快速瀏覽(用兩根手指觸摸IPA文件並單擊快速查看)。它顯示如下信息:名稱,版本,軟件包ID,設備系列,供應信息,證書,分發配置文件,授權等。

相關問題