我有两个苹果开发者帐户,一个是标准开发者帐户(用于分发到App Store),另一个是企业帐户(用于内部分发)。
我还在git提交上运行了持续集成服务,该服务验证测试并根据需要分发构建。我们的想法是将其分发到App Store,同时将企业版本上传到Amazon AWS S3存储桶。
为了做到这一点,我使用开发者帐户的签名证书,捆绑ID和配置文件归档应用程序,以便将构建上传到iTunesConnect。在此之后,我尝试使用此shell脚本重新签名.IPA以使用Enterprise帐户中的软件包ID,配置文件和代码签名标识:
IPA=<the original ipa path>
PROVISION=<the provisioning profile>
CERTIFICATE=<the name of the certificate to use in the keychain>
# unzip the ipa
unzip -q "$IPA"
# remove the signature
rm -rf Payload/*.app/_CodeSignature Payload/*.app/CodeResources
# change bundle id
/usr/libexec/PlistBuddy -c "Set :CFBundleIdentifier <the new bundle id>" Payload/*.app/Info.plist
# replace the provision
cp "$PROVISION" Payload/*.app/embedded.mobileprovision
# sign with the new certificate
/usr/bin/codesign -f -s "$CERTIFICATE" Payload/*.app
# zip it back up
zip -qr resigned.ipa Payload
此脚本运行没有任何问题。但是,如果我尝试在我的设备上安装构建版本,则会收到以下错误:&#34;应用程序安装失败:无法验证应用程序。&#34;
我无法弄清楚我错过了什么。有什么想法吗?
谢谢!