将 IPA 从开发转移到企业
Resign IPA from development to enterprise
是否可以将使用开发证书签名的 .ipa 文件重新注册为企业证书?
背景:我的客户需要.ipa文件。他拥有企业证书,他不会与我们分享。思路是我把.ipa文件连同我自己的开发证书一起交付给他。他使用他的企业证书辞职,以便他可以在他的内部应用程序商店中部署他的应用程序。
目前我已经签署了我的 .ipa 文件并准备好提交文件,但我必须确定它是否可行。
我阅读了 this 文章,但假设配置文件是针对 Adhoc 或企业分发的。这不是我的情况,我不知道这是否重要。
ipa构建后可以resign
终端方式 - 你可以试试这个。 https://coderwall.com/p/cea3fw/resign-ipa-with-new-distribution-certificate
工具 - https://github.com/xndrs/XReSign - 退出 IPA 的绝佳工具。
要为企业或临时分发退出 ipa,您可以按照以下简单步骤操作:
要使用终端退出应用程序,您可以按照以下步骤操作:
解压 ipa
unzip MyApp.ipa
删除现有签名
rm -rf Payload/MyApp.app/_CodeSignature/
将您的 Ad-Hoc
或 enterprise
配置文件复制到负载的 embedded
配置文件。
cp ~/Desktop/MyAdHoc.mobileprovision Payload/MyApp.app/embedded.mobileprovision
使用钥匙串中可用的 Ad-hoc
或 Enterprise
证书的相关代码签名标识重新签署 .app
文件。
codesign -f -s "iPhone Distribution: Code signing Certificate for Enterprise or Ad-hoc app" Payload/MyApp.app
压缩 payload 并给出你想要的 ipa
的名称。
zip -qr MyApp_Resigned.ipa Payload/
在文档中安装
用法:
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
不要将开发二进制文件用于生产。
您不应该将开发二进制文件辞职为 enterprise/production 二进制文件。开发二进制文件通常包含许多额外的东西,可以让调试和 运行 所有帮助我们改进应用程序的工具。这些使二进制文件更大、更慢、使用更多的功率并产生安全风险。
要回答这个问题,您可以做的最简单的事情是提供一个未签名的应用程序,让您的客户自行签名。
- 存档应用程序。在菜单中执行 Product -> Archive
- 打开管理器。 Window -> 组织者
- Select 应用程序,然后将您刚刚创建的存档。
- 右键单击存档并选择 在 Finder 中显示。
从那里你可以
- 如果您希望他们拥有调试信息和位,请提供整个 .xcarchive(这是一个 ZIP 文件)。
或
- 进入 .xcarchive,然后进入 Products -> Applications 并在那里提供未签名的 .ipa 文件。
这对您来说工作较少,并且可以防止您 运行 陷入任何陷阱,例如不小心向他们发送您为开发构建的二进制文件。
是否可以将使用开发证书签名的 .ipa 文件重新注册为企业证书?
背景:我的客户需要.ipa文件。他拥有企业证书,他不会与我们分享。思路是我把.ipa文件连同我自己的开发证书一起交付给他。他使用他的企业证书辞职,以便他可以在他的内部应用程序商店中部署他的应用程序。
目前我已经签署了我的 .ipa 文件并准备好提交文件,但我必须确定它是否可行。
我阅读了 this 文章,但假设配置文件是针对 Adhoc 或企业分发的。这不是我的情况,我不知道这是否重要。
ipa构建后可以resign
终端方式 - 你可以试试这个。 https://coderwall.com/p/cea3fw/resign-ipa-with-new-distribution-certificate
工具 - https://github.com/xndrs/XReSign - 退出 IPA 的绝佳工具。
要为企业或临时分发退出 ipa,您可以按照以下简单步骤操作:
要使用终端退出应用程序,您可以按照以下步骤操作:
解压 ipa
unzip MyApp.ipa
删除现有签名
rm -rf Payload/MyApp.app/_CodeSignature/
将您的
Ad-Hoc
或enterprise
配置文件复制到负载的embedded
配置文件。cp ~/Desktop/MyAdHoc.mobileprovision Payload/MyApp.app/embedded.mobileprovision
使用钥匙串中可用的
Ad-hoc
或Enterprise
证书的相关代码签名标识重新签署.app
文件。codesign -f -s "iPhone Distribution: Code signing Certificate for Enterprise or Ad-hoc app" Payload/MyApp.app
压缩 payload 并给出你想要的
ipa
的名称。zip -qr MyApp_Resigned.ipa Payload/
在文档中安装
用法:
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
不要将开发二进制文件用于生产。
您不应该将开发二进制文件辞职为 enterprise/production 二进制文件。开发二进制文件通常包含许多额外的东西,可以让调试和 运行 所有帮助我们改进应用程序的工具。这些使二进制文件更大、更慢、使用更多的功率并产生安全风险。
要回答这个问题,您可以做的最简单的事情是提供一个未签名的应用程序,让您的客户自行签名。
- 存档应用程序。在菜单中执行 Product -> Archive
- 打开管理器。 Window -> 组织者
- Select 应用程序,然后将您刚刚创建的存档。
- 右键单击存档并选择 在 Finder 中显示。
从那里你可以
- 如果您希望他们拥有调试信息和位,请提供整个 .xcarchive(这是一个 ZIP 文件)。
或
- 进入 .xcarchive,然后进入 Products -> Applications 并在那里提供未签名的 .ipa 文件。
这对您来说工作较少,并且可以防止您 运行 陷入任何陷阱,例如不小心向他们发送您为开发构建的二进制文件。