0

正如标题所说,我正在寻找将附加文件添加到已打包的 .ipa 的方法。我们需要这个用于内部应用程序以向 ipa 添加 saml 证书,以便用户不再需要用户名/密码来登录。

当下载请求来自用户时在服务器上添加文件不是问题,问题是 ipa 将不再安装在设备上。

我在 Apple 文档中读到您可以省略某些文件的签名,因此我在 Mac 上使用“The Unarchiver”提取了 ipa,并将以下内容添加到 ResourceRules.plist;

saml.txt 省略重量 200

我还尝试省略所有 txt 文件,如下所述:http: //lists.apple.com/archives/xcode-users/2011/Apr/msg00277.html

(^Resources/.*.txt 省略 YES weight 200")

首先,我真的不知道重量属性的规则。我找不到任何关于此的文档。

无论如何,我保存了文件,使用 OS X 提供的工具再次压缩了 Payload,并将其重命名为所需的 ipa 文件名。不幸的是,ipa 不会安装在设备上。它下载正常,但安装失败。

我在这里做错了什么以及如何克服这个问题?

由于它可能很重要,ipa 是使用 Flash Builder 生成的,所以我没有 XCode 拥有的所有可用构建设置。

如果有人有提示,请告诉我!干杯!

4

2 回答 2

1

终于找到了合适的解决方案。这是向已打包的 ipa 添加或更改文件的分步指南;

  1. 将 .ipa 包重命名为 .zip
  2. 解压 .zip 包
  3. 进入 Payload 的应用内容目录并将 ResourceRules.plist 文件更改为您的需要。在我们的例子中,我们需要将另一个文件添加到排除文件列表中。

    File.txt 省略重量 10000

  4. 使用 Apple 的代码设计,使用新的 ResourceRules 重新签署包:

    codesign -f -s "iPhone 分发:证书名称" --resource-rules "Payload/AppName.app/ResourceRules.plist" "Payload/AppName.app"

  5. 再次压缩有效载荷。

基本上就是这样。现在,您可以随意更改“File.txt”,而不会使 ipa 包失效。

于 2013-09-23T15:26:28.543 回答
0

换句话说,.ipa 文件是一个打包的“zip”文件。其中包含您的所有应用程序代码和所有 .h 和 .m 文件。所以它基本上是一个完整的 xcode 项目的 zip 文件。

现在,一旦文件被压缩(.ipa)文件,在文件被提取之前就不可能添加任何东西。

除了 Apple 之外,世界上没有人可以将文件添加到 .ipa 文件中。

希望这会帮助你。

于 2013-07-24T20:54:42.187 回答