2

我们已加入iOS企业计划。用于我们发布的应用程序的供应配置文件即将过期,因此我获得了新的证书和供应配置文件。iOS企业版:使用新证书重新认证现有IPA

我需要重新分配我们的一些应用程序和新配置文件而不重新构建它们。如何?我隐约记得看到一个实用程序完全做到了这一点:你选择一个IPA和一个配置文件,它将使用新的配置文件和证书创建一个新的IPA。这个工具的名字是什么,我在哪里可以得到它?)

回答

2

从理论上讲,在XCode中构建最后一个IPA的人应该已经使用过归档 - 这会创建一个可以签署以创建IPA(使用XCode)的构建版本。

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

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

+0

感谢您指向'xcrun'和链接! –

1

OK,原来当你知道what term to google,还有很多的优秀的资源...

他们都指向xcrun。我做了这个壳片段,改编自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" 
1

协同设计的命令行实用程序,包含了iOS SDK工具,将允许添加/更改证书,并提供与开发者建立应用程序是签。

0

由于hotpaw2的状态。您也可以使用codesign工具辞职。

我做的方式(这可能不是最有效的,但它的工作原理)

  1. 的的.ipa重命名为.zip或提取

  2. 运行以下命令:

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

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

0

如果您只是使用以下步骤从同一帐户中辞职,您可以采用手动方式

所有这些都是使用shell脚本和超级简单,只要您知道如何使用shell命令。

  1. 重命名IPA拉上
  2. 此文件解压到临时文件夹
  3. 从所有目标中删除旧_CodeSignature文件夹(如果你有一个像主,手表多个目标,看分机,Siri的,插件,邮件, etc)
  4. 将一个文件夹中的所有目标prov-profiles并替换为每个目标的所有embedded.provisioningprofile文件与新的
  5. 删除归档.... xccent文件,因为这是旧的(可选)
  6. c如果应用程序使用了entitlements.plist,则为所有权利创建标志。
  7. 拉链夹背码标志毕竟还好,没有错误
  8. 拉链重命名为IPA

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

参考:为命令的步骤也说明这里: http://www.enterpriseios.com/forum/topic/Resigning_3rd_party_apps

如果你想摆脱手动标志的使用FASTLANE工具,它非常简单,并且易于配置。 https://fastlane.tools/