我要求将IPA从Distribution provisioning profile重新签名为developer provisioning profile。
我已经试过iResign了。但I iResign未能完成分发给开发人员配置文件的重新签名。
此要求的目的是在仪器中对IPA进行性能测试。
发布于 2016-05-21 04:09:13
我假设你已经从苹果(developer.apple.com)生成了一个单独的配置文件。
对于这些步骤,您可能希望将您的ipa和配给配置文件放在一个空文件夹中。
解压缩ipa,替换嵌入式配置文件:
unzip "App.ipa"
rm -f "Payload/App.app/*.mobileprovision"
cp "DEV.mobileprovision" "Payload/App.app/embedded.mobileprovision"如果您的开发人员配置文件使用不同的捆绑包ID或BuildTeam:
/usr/libexec/PlistBuddy -c "Set :CFBundleIdentifier <dev bundle ID>" Payload/*.app/Info.plist
/usr/libexec/PlistBuddy -c "Set BuildTeam <team ID>" Payload/*.app/AppInfo.plist提取授权并将其放入临时plist中,如果您使用的是通配符配置文件,还要将通配符替换为您的捆绑ID:
security cms -D -i Payload/*.app/embedded.mobileprovision > PP.plist 2>&1
sed -i '' "s/\*/<bundle ID>/g" PP.plist
/usr/libexec/PlistBuddy -x -c "Print Entitlements" PP.plist > entitlements.plist 2>&1代码签名应用程序,重新打包ipa,删除临时有效负载和plist:
/usr/bin/codesign --force --preserve-metadata=identifier,entitlements --sign "<signing ID>" --entitlements entitlements.plist -i "<bundle ID>" Payload/*.app
zip -r "ShinyNewApp.ipa" Payload
rm -rf Payload
rm -f *.plisthttps://stackoverflow.com/questions/35980512
复制相似问题