2

我们注册了 iOS 企业计划。用于我们发布的应用程序的配置文件即将到期,所以我得到了一个新的证书和配置文件。

我需要使用新的配置文件重新分发我们的一些应用程序,而不是重新构建它们。如何?

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

4

5 回答 5

2

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

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

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

于 2011-12-06T15:16:09.360 回答
1

好的,当你知道google 的术语时,就会发现有很多优秀的资源......</p>

他们都指向xcrun. 我使它与这个 shell 片段一起工作,改编自这个有前途的构建脚本

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"
于 2011-12-06T16:10:07.627 回答
1

包含在 iOS SDK 工具中的 codesign 命令行实用程序将允许添加/更改用于签署开发人员构建的应用程序的证书和配置。

于 2011-12-06T16:15:54.313 回答
0

正如 hotpaw2 的回答所说。您也可以使用协同设计工具辞职。

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

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

  2. 运行以下命令:

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

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

于 2012-12-10T15:46:48.830 回答
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

注意:要在上传到苹果之前验证 IPA,您可以使用 inbuild XCode App Loader 中的altool来检查新的 IPA。

参考:命令的步骤也在这里解释: http ://www.enterpriseios.com/forum/topic/Resigning_3rd_party_apps

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

于 2017-12-09T07:57:36.380 回答