【问题标题】:Ipa creation using any script(ipa creation from other ipa )使用任何脚本创建 Ipa(从其他 ipa 创建 ipa)
【发布时间】:2012-01-14 09:09:48
【问题描述】:

基本上我的项目基于书籍(pdf 和 xml 的组合)。由于某些原因,我们维护了十多个配置文件。当新设备 udid 出现时,我们需要创建另一个配置文件(根据要求)。每次构建时,我都需要在我的 xcode 中放置一些配置和替换书籍,这会导致更多时间。我看到了很多脚本,但所有这些都没有完全填充场景。

问题:

1.是否可以开发另一个应用程序(mac osx)来制作 ipa,它接受配置文件、我的代码(ios)和书籍的输入,然后编译最终输出为 .ipa 文件以提供代码?

2.有没有其他方法可以减少创建ipa的时间?

如果有可能,请给我一些想法以使其成为现实,您的建议对此也更为重要。在此先感谢大家。

从其他 ipa 文件生成 Ipa 的新问题

我遵循了你的方法,但是谁能告诉我,我创建了一个 ipa 文件,现在我想修改 ipa 的内容以及配置文件是否可能?

【问题讨论】:

  • 考虑使用 Jenkins(以前称为 Hudson)。
  • 同意 Till,使用 Testflight 或 Hockeyapp hockeyapp.net 还可以获取实时崩溃报告。

标签: ios macos ipa


【解决方案1】:

如果您有一个使用旧配置文件创建的 ipa,并且在获取下一个配置文件之间代码没有更改,那么有一种方法可以做到。

You can write a script from following steps:

1) Change the .ipa that you already have to .zip and extract zip contents. This would reveal Payload folder that has YourApp.app folder
2) Right click on YourApp.app folder and show package contents
3) find embedded.mobileprovision and delete it. Drag your new .mobileprovision file into this location and rename it to say embedded.mobileprovision.
4) Find and delete any _CodeSignature or CodeResources files/folders
5) From terminal delete .DS_Store files in Payload and YourApp.app folder
6) Use Codesign utility in /usr/bin/codesign to codesign your .app. Here is command for it:

codesign -f -s "iPhone Distribution: Your company Name" PathToYourApp

In your keychain utility find the certificate name that is used to create the distribution profile and match it to first argument in codesign -f -s
7) finally zip the payload to form an ipa

zip -r YourApp.ipa Payload

【讨论】:

  • 如果您所做的只是将设备添加到您的 AdHoc 配置文件中,您实际上并没有退出该应用程序。应用程序本身不维护允许的设备列表。您需要做的就是在“新”设备上安装新版本的配置文件,然后安装应用程序本身。
  • 我认为应用程序内的配置文件维护了它可以安装的设备列表。当列表更新时,新的配置文件将替换旧的配置文件,因此我认为需要再次对应用程序进行代码签名。如果我错了,请纠正我。
  • 感谢您的快速响应,我尝试按照@0x8badf00d 实施此过程是否也适用于不同的配置文件。
  • 我试过了,可以用编辑过的配置文件准备一个 ipa,谢谢。我的要求是我应该能够更改以绝对路径显示的 books 文件夹的内容。并且我试图编辑文件夹并创建了一个 ipa,但我的 ipa 没有安装,并给出资源文件夹已修改的错误。如果你有任何进一步的想法,请帮助
  • @efrank 看起来您已经修改了应用程序的内容,并且在修改后没有对其进行代码签名。代码设计就像是应用内容的封印。要修改应用程序的内容,您需要拆封,拆封的应用程序不会安装在具有给定证书的设备上。所以在修改应用内容后对应用进行代码设计。
猜你喜欢
  • 2010-11-14
  • 2020-06-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-08-19
  • 2011-07-26
  • 1970-01-01
相关资源
最近更新 更多