将文件添加到已打包的.ipa中

时间:2013-07-24 16:32:59

标签: ios mobile ios-provisioning

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

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

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

saml.txt                      忽略                          重量             200         

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

(^资源/.*。TXT     省略是     重量200“)

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

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

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

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

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

2 个答案:

答案 0 :(得分:1)

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

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

    FILE.TXT              忽略                  重量         10000     

  4. 使用Apple的代码签名,使用新的ResourceRules重新签名包:

    codesign -f -s“iPhone Distribution:cert name”--resource-rules“Payload / AppName.app / ResourceRules.plist”“Payload / AppName.app”

  5. 再次压缩有效负载。

  6. 基本上就是这样。现在您可以根据需要更改“File.txt”而不会使ipa包失效。

答案 1 :(得分:0)

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

现在,一旦文件被压缩(.ipa)文件,就无法添加任何内容,直到文件被提取为止。

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

希望这会对你有所帮助。