iOS Enterprise:使用新证书重新认证现有IPA

时间:2011-12-06 15:03:43

标签: ios distribution provisioning ios-provisioning provisioning-profile

我们注册了iOS企业计划。用于我们发布的应用程序的配置文件即将过期,因此我获得了新的证书和配置文件。

我需要使用新的配置文件重新分发我们的某些应用,而无需重新构建它们。如何?

(我依旧记得看到一个实用程序就是这样做的:你选择了一个IPA和配置文件,它会使用新的配置文件和证书创建一个新的IPA。工具的名称是什么,我在哪里可以获得吗?)

5 个答案:

答案 0 :(得分:2)

理论上,在XCode中构建最后一个IPA的人应该使用Archive - 这会创建一个可以签名以创建IPA的构建(使用XCode)。

您还可以尝试使用命令行签名工具XCRun重新签署现有IPA中捆绑的应用程序:

http://skabber.com/package-your-ios-application-with-xcrun

答案 1 :(得分:1)

好的,结果当你知道what term to google时,有很多优秀的资源......

他们都指向xcrun。我使用了这个shell片段,改编自this promising build script

APP_FILENAME=MyApp.app
BUILD_DIRECTORY=/Path/To/Target/Dir
IPA_FILENAME=MyApp.ipa
DISTRIBUTION_CERTIFICATE='iPhone Distribution'
PROVISIONING_PROFILE_PATH='/Path/To/Profile.mobileprovision'
/usr/bin/xcrun -sdk iphoneos PackageApplication -v "$APP_FILENAME" -o "$BUILD_DIRECTORY/$IPA_FILENAME" --sign "$DISTRIBUTION_CERTIFICATE" --embed "$PROVISIONING_PROFILE_PATH"

答案 2 :(得分:1)

iOS SDK工具附带的codesign命令行实用程序将允许添加/更改开发人员构建的应用程序签名的证书和配置。

答案 3 :(得分:0)

作为hotpaw2的重要状态。您也可以使用代码签名工具辞职。

我的方式(这可能不是最有效的,但它有效)

  1. 将.ipa重命名为.zip并解压缩

  2. 运行以下内容:

    /usr/bin/codesign -f -s "iPhone Distribution: Company Name" "Payload/MyApp.app"
    
  3. 重新压缩Payload文件夹并重命名为.ipa

  4. 注意:您也可以使用此方法编辑embedded.mobileprovisioning文件!如果您使用的是finder,请记住删除.DS_Store(rm Payload/.DS_Store)。

答案 4 :(得分:0)

如果您只是按照以下步骤从同一帐户中退出应用,则可以手动方式

如果您知道如何使用shell命令,那么所有这些都是使用shell脚本并且超级简单。

  1. 将IPA重命名为zip
  2. 将此文件解压缩到临时文件夹
  3. 从所有目标中删除旧的_CodeSignature文件夹(如果您有多个目标,例如main,watch,watch extn,siri,widget,message等)
  4. 将所有目标prov-profiles带到一个文件夹中,并用新的目标替换所有每个目标的embedded.provisioningprofile文件
  5. 删除已归档的.... xccent文件,因为这是旧文件(可选)
  6. 为应用程序使用的所有权利创建的entitlements.plist代码签名。
  7. 在代码签名后将文件夹拉回来没有错误
  8. 将zip重命名为IPA
  9. 注意:要在上传到Apple之前验证IPA,您只需使用inbuild XCode App Loader中的 altool 来检查新的IPA。

    参考:此处还说明了命令的步骤: http://www.enterpriseios.com/forum/topic/Resigning_3rd_party_apps

    如果您想摆脱手动标志,请使用fastlane工具,因为它非常简单且易于配置。https://fastlane.tools/