将IPA从开发转移到企业

时间:2018-03-01 14:02:40

标签: xcode code-signing ipa

是否可以将使用开发证书签名的.ipa文件重新签名为企业证书?

背景:我的客户端需要.ipa文件。他拥有他不会与我们分享的企业证书。我的想法是,我使用自己的开发证书提供.ipa文件并将其交付给他。他使用他的企业证书辞职,这样他就可以在他的内部应用程序商店中部署他的应用程序。

目前我的.ipa文件已签名,我已准备好提交该文件,但我必须确定它是可能的。

我读过this文章,但假设供应资料是针对Adhoc或企业分发的......这不是我的情况,我不知道是否重要。

4 个答案:

答案 0 :(得分:4)

可以在构建ipa后重新签名。

  1. 终端方式 - 你可以试试这个。 https://coderwall.com/p/cea3fw/resign-ipa-with-new-distribution-certificate

  2. 工具 - https://github.com/xndrs/XReSign - 辞去IPA的绝佳工具。

答案 1 :(得分:1)

要为企业或临时发行分配ipa,您可以按照以下简单步骤操作:

要使用终端设备退出应用,您可以按照以下步骤操作:

  1. 解压缩ipa

    unzip MyApp.ipa

  2. 删除现有签名

    rm -rf Payload/MyApp.app/_CodeSignature/

  3. 将您的Ad-Hocenterprise的配置文件复制到有效负载的embedded的配置文件中。

    cp ~/Desktop/MyAdHoc.mobileprovision Payload/MyApp.app/embedded.mobileprovision

  4. .appAd-hoc证书中具有相关代码签名身份的Enterprise文件重新签名。

    codesign -f -s "iPhone Distribution: Code signing Certificate for Enterprise or Ad-hoc app" Payload/MyApp.app

  5. 压缩有效载荷并提供所需的ipa名称。

    zip -qr MyApp_Resigned.ipa Payload/

答案 2 :(得分:0)

您可以使用fastlaneresign命令

在文档中安装

用法:

1)fastlane init

2)fastlane/Fastlane(file)

default_platform(:ios)

platform :ios do
  desc "Resigning Current Provision"
  lane :resigner do
    resign(
      ipa: "location/appName.ipa",    
      signing_identity: "iPhone Distribution: Bbalbalbalbal.xxxxx",
      provisioning_profile: "location/xxxxx.mobileprovision",
    )
    # add actions here: https://docs.fastlane.tools/actions
  end
end

3)运行fastlane ios resigner

答案 3 :(得分:0)

不要将开发二进制文件用于生产。

您不应将开发二进制文件放弃为企业/生产二进制文件。开发二进制文件通常包含许多额外的东西,这些东西可以调试和运行所有那些工具,这些工具可以帮助我们改善应用程序。这些使二进制文件更大,更慢,使用更多功率并带来安全风险。

要回答这个问题,您可以做的最简单的事情就是提供一个未签名的应用程序,您的客户可以自己签名。

  1. 存档应用程序。在菜单中执行产品->存档
  2. 打开管理器。 Window-> Organizer
  3. 选择该应用,然后将您刚创建的档案存档。
  4. 右键单击存档,然后选择在Finder中显示

从那里您可以

  • 如果希望他们具有调试信息和位,请交付整个.xcarchive(ZIP文件)。

  • 进入.xcarchive,然后进入 Products-> Applications ,然后在其中交付未签名的.ipa文件。

这对您来说工作量较小,并且可以防止您陷入任何陷阱,例如意外地将它们发送给您开发的二进制文件。

相关问题