使用任何脚本创建Ipa(从其他ipa创建ipa)

时间:2011-12-06 19:15:28

标签: ios macos ipa

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

问题:

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

2.是否有任何其他方法可以减少ipa创建的时间?

如果有任何可能,请给我一些想法让它成真,你的建议对此也更重要。谢谢你们。

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

我按照你的方法,但任何人都可以让我知道,我创建了一个ipa文件,现在我想修改ipa的内容,并且还可以配置配置文件吗?

1 个答案:

答案 0 :(得分:2)

如果您使用旧的配置文件创建了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