如何从IPA中找到iPhone应用程序的版本号?

时间:2012-07-03 08:36:04

标签: iphone ios versioning

我们正在尝试一种为我们的应用指定版本号的新方法。我希望能够检查我们正在构建的IPA是否具有我们想要的版本号。如何从IPA中获取版本号?

注意 - 我不是要求从应用程序内部的代码中找到它的方法;我打开了一个终端并构建了IPA文件,我想知道在IPA文件中要查找什么。

7 个答案:

答案 0 :(得分:36)

从您的终端执行以下操作

    //Unzip the file 
    unzip YourIPAFile.ipa

    //Open payload folder
    cd Payload

    //Open your .app file
    cd yourApp.app

    //Open the plist file
    open Info.plist

您可以在Bundle version key enter image description here

下找到该版本

答案 1 :(得分:9)

比PlistBuddy和grep更好的方式:

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

值得注意的是,使用defaults read需要您应用的绝对路径。

答案 2 :(得分:4)

  1. 解压缩您的ipa文件

    unzip YourIPAFile.ipa
    
  2. 以下plistBuddy命令打印Bundle Version

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

    CFBundleVersion = 1.0

  3. 以下plistBuddy命令打印BundleVersion String

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

    CFBundleShortVersionString = 1.0

答案 3 :(得分:3)

它在IPA / payload / NAME.app / Info.plist

答案 4 :(得分:0)

我更喜欢使用ProvisionQL。 https://github.com/ealeksandrov/ProvisionQL 它提供了IPA文件的快速查看(用两根手指触摸IPA文件并单击“快速查看”)。它显示以下信息:名称,版本,软件包ID,设备系列,配置信息,证书,分发配置文件,权利等。

答案 5 :(得分:0)

如果你能在QuickLook中看到详细信息,那么简单而且更好的方法就是。

现在有一个快速查看的插件,可以提供很多细节。

您必须安装homebrew

链接到quicklook插件here

答案 6 :(得分:0)

您可以通过使用tar的功能来提取单个文件,然后将结果流式传输到标准输出并将其输送到plutil命令(pl =>属性列表)中,而无需写入和删除文件。额外的奖励,用管道将其传送到grep,查找仅显示找到的模式后一行的字符串“ Version”。

在下面的命令中,将YourIPAFile.ipa替换为要检查的ipa文件的名称,并将YourAppName.app替换为Plist.info文件中的可执行文件包的名称。对我而言,使用flutter时,这两个值是相同的“ Runner”,但本质上是info.plist文件所在的tar文件中的目录。

tar -zxvOf YourIPAFile.ipa有效负载/YourAppName.app/Info.plist | plutil-转换xml1 -r -o---| grep -A 1版本

输出为:

private static String computeValue(int kind, String image) {...}

或更重要的一点:

tar -zxvOf YourIPAFile.ipa有效负载/YourAppName.app/Info.plist | plutil-转换xml1 -r -o---| grep -A 1 CFBundleVersion

  private NewToken(int kind, String image){
    this.kind = kind;
    this.image = image;
    this.value = computeValue( kind, image );
  }

tar -zxvOf YourIPAFile.ipa有效负载/YourAppName.app/Info.plist | plutil-转换xml1 -r -o---| grep -A 1 CFBundleShortVersion

//[...]
var x = document.getElementById("url1").href;
if (x === "url1") {
    document.getElementById("url1").href = "url2";
} 
//[...]