23

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

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

4

7 回答 7

44

从您的终端执行以下操作

    //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 下找到版本在此处输入图像描述

于 2012-07-03T08:54:43.717 回答
11

有比 PlistBuddy 和 grep 更好的方法:

unzip -d unzipped-ipa MyApp.ipa
defaults read "$(pwd)/MyApp.app/Contents/Info.plist" CFBundleVersion
rm -rf unzipped-ipa

值得注意的是 usingdefaults read需要一个应用程序的绝对路径。

于 2016-02-01T21:54:47.780 回答
5
  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 字符串

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

    CFBundleShortVersionString = 1.0

于 2016-01-22T23:27:23.060 回答
3

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

于 2012-07-03T08:41:29.493 回答
1

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

于 2017-04-04T04:44:06.617 回答
1

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

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

tar -zxvOf YourIPAFile.ipa Payload/YourAppName.app/Info.plist | plutil -convert xml1 -r -o - -- - | grep -A 1 个版本

输出是:

x Payload/YourAppName.app/Info.plist
        <key>CFBundleInfoDictionaryVersion</key>
        <string>6.0</string>
--
        <key>CFBundleShortVersionString</key>
        <string>1.0.5</string>
--
        <key>CFBundleVersion</key>
        <string>1</string>
--
        <key>DTPlatformVersion</key>
        <string>14.0</string>
--
        <key>MinimumOSVersion</key>
        <string>9.0</string>

或者更重要的是:

tar -zxvOf YourIPAFile.ipa Payload/YourAppName.app/Info.plist | plutil -convert xml1 -r -o - -- - | grep -A 1 CFBundleVersion

x Payload/YourAppName.app/Info.plist
        <key>CFBundleVersion</key>
        <string>1</string>

或者

tar -zxvOf YourIPAFile.ipa Payload/YourAppName.app/Info.plist | plutil -convert xml1 -r -o - -- - | grep -A 1 CFBundleShortVersion

x Payload/YourAppName.app/Info.plist
        <key>CFBundleShortVersionString</key>
        <string>1.0.5</string>
于 2020-10-03T17:24:26.320 回答
0

简单且更好的方法是您可以在 QuickLook 中查看详细信息。

现在有一个用于快速查看的插件,它为您提供了许多详细信息。

您必须安装自制软件

链接到这里的 quicklook 插件。

于 2018-03-11T18:35:03.320 回答