【问题标题】:Resign IPA from development to enterprise将 IPA 从开发转向企业
【发布时间】:2019-05-16 17:03:35
【问题描述】:

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

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

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

我阅读了 this 文章,但假设配置文件是用于 Adhoc 或企业分发的......这不是我的情况,我不知道它是否重要。

【问题讨论】:

    标签: xcode code-signing ipa


    【解决方案1】:

    ipa建好后可以退出。

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

    2. 工具 - https://github.com/xndrs/XReSign - 一个很好的工具来退出 IPA。

    【讨论】:

      【解决方案2】:

      要为企业或临时分发退出 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. 使用 Keychain 中可用的 Ad-hocEnterprise 证书的相关代码签名身份重新签名 .app 文件。

        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/

      【讨论】:

        【解决方案3】:

        您可以使用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

        【讨论】:

          【解决方案4】:

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

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

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

          1. 存档应用程序。在菜单中执行产品 -> 存档
          2. 打开管理器。 窗口 -> 管理器
          3. 选择应用程序,然后归档您刚刚创建的文件。
          4. 右键单击存档并选择在 Finder 中显示

          从那里你可以

          • 如果您希望它们具有调试信息和位,请提供整个 .xcarchive(这是一个 ZIP 文件)。

          • 进入 .xcarchive,然后进入 Products -> Applications 并将未签名的 .ipa 文件传送到那里。

          这对您来说工作量更少,并且可以防止您陷入任何陷阱,例如不小心向他们发送您为开发而构建的二进制文件。

          【讨论】:

            猜你喜欢
            • 2023-04-04
            • 2015-04-09
            • 1970-01-01
            • 1970-01-01
            • 2012-11-24
            • 2014-03-17
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多