提示:暂时不能用了,企业证书滥用
ios 企业证书 ipa 重新签名发布
1. 应用场景
当前有一个 未用企业证书签名的 ipa 文件,默认是不可以直接安装到设备上的;我们需要用企业版证书签名;
当前有一个已经用企业证书签名的 ipa 文件,不过我们可以用另外一个企业证书对其重新签名;
以上两种场景国内有开放的平台在做,比如 蒲公英
2. 重新签名原理和工具
Solution: Unzip the IPA unzip Application.ipa Remove old CodeSignature rm -r "Payload/Application.app/_CodeSignature" "Payload/Application.app/CodeResources" 2> /dev/null | true Replace embedded mobile provisioning profile cp "MyEnterprise.mobileprovision" "Payload/Application.app/embedded.mobileprovision" Re-sign /usr/bin/codesign -f -s "iPhone Distribution: Certificate Name" --resource-rules "Payload/Application.app/ResourceRules.plist" "Payload/Application.app" Re-package zip -qr "Application.resigned.ipa" Payload Edit: Removed the Entitlement part (see alleys comment, thanks)
工具:
https://github.com/maciekish/iReSign
https://github.com/RichardBronosky/ota-tools
https://gist.github.com/2878446
参考:http://stackoverflow.com/questions/6896029/re-sign-ipa-iphone
我目前正在建立与使用哈德森xcodebuild联编其次是xcrun没有任何问题,我的所有应用程序
我已经收到了几个IPA文件从不同的人,我想重新签订了企业账户而不是公司帐户(应用程序商店,或有时临时分布)。
我的问题是,当我试图辞职的应用程序,它会不会我的设备上安装(它应该因为它是一个企业版本)。该错误信息是设备(没有出现在iTunes)上,它告诉我简单地认为它不能安装应用程序。没有给出更多的信息。
我发现了一些信息,( http://www.ketzler.de/2011/01/resign-an-iphone-app-insert-new-bundle-id-and-send-to-xcode-organizer-for-upload/ )
这是可能的。我现在面临的问题是,它似乎并没有嵌入移动供应配置文件,我做我的正常建立(使用xcrun)这是可以控制的协同设计工具,或是否有可能重新标志xcrun ?
随着我的辞职剧本我目前做的
解压缩app.ipa
应用程序的名字= $(LS有效载荷)
xcrun -sdk的iPhoneOS PackageApplication -s“$ provisioning_profile”“$ PROJECT_DIR /负载/ $应用程序的名字”-o“$ PROJECT_DIR / APP-resigned.ipa”--sign“$ provisioning_profile”--embed“$ mobileprovision”
我看着在生成的IPA文件,它似乎是非常相似的原始应用程序。哪些文件要真正改变这里?我最初认为的_CodeSignature / CodeResources会改变,但内容看起来非常一模一样。
指针都大加赞赏。