如何签署未签名的 IPA?
How do I sign an unsigned IPA?
我生成了一个未使用 xcodebuild 实用程序签名的 IPA 文件,现在我的客户想要对其进行签名。
可以使用开发人员帐户生成的现有配置文件对其进行签名吗?
另一个问题,是否可以使用与xcode相关的命令行来执行此操作?
IPA 只是一个 .zip 存档。这是一个示例脚本来理解这个想法
IPA=
PROVISION="/path/to/nameOfProfile.mobileprovision"
CERTIFICATE="iPhone Developer: nameOfCertificate (2472ZKDHVF2A)" # must exist in keychain
# unzip the ipa
unzip -q "$IPA"
# remove the signature
rm -rf Payload/*.app/_CodeSignature Payload/*.app/CodeResources
# replace the provision
cp "$PROVISION" Payload/*.app/embedded.mobileprovision
#copy existing entitlements to use it for resigning
cp Payload/*.app//archived-expanded-entitlements.xcent entitlements.plist
# sign with the new certificate
/usr/bin/codesign -f -s "$CERTIFICATE" --entitlements "entitlements.plist" Payload/*.app
# zip it
zip -qr newIpaName.ipa Payload
#clean up
rm -f entitlements.plist
rm -rf Payload
要查找证书的名称:
- 打开"Keychain Access"
- 右键单击证书 -> "Get Info"
- 复制并使用"Common Name"
您可以使用以下应用程序:
我生成了一个未使用 xcodebuild 实用程序签名的 IPA 文件,现在我的客户想要对其进行签名。 可以使用开发人员帐户生成的现有配置文件对其进行签名吗? 另一个问题,是否可以使用与xcode相关的命令行来执行此操作?
IPA 只是一个 .zip 存档。这是一个示例脚本来理解这个想法
IPA=
PROVISION="/path/to/nameOfProfile.mobileprovision"
CERTIFICATE="iPhone Developer: nameOfCertificate (2472ZKDHVF2A)" # must exist in keychain
# unzip the ipa
unzip -q "$IPA"
# remove the signature
rm -rf Payload/*.app/_CodeSignature Payload/*.app/CodeResources
# replace the provision
cp "$PROVISION" Payload/*.app/embedded.mobileprovision
#copy existing entitlements to use it for resigning
cp Payload/*.app//archived-expanded-entitlements.xcent entitlements.plist
# sign with the new certificate
/usr/bin/codesign -f -s "$CERTIFICATE" --entitlements "entitlements.plist" Payload/*.app
# zip it
zip -qr newIpaName.ipa Payload
#clean up
rm -f entitlements.plist
rm -rf Payload
要查找证书的名称:
- 打开"Keychain Access"
- 右键单击证书 -> "Get Info"
- 复制并使用"Common Name"
您可以使用以下应用程序: