首页 > 解决方案 > 辞职的ipa不要安装在ios设备上

问题描述

我的组织有开发人员帐户(不是企业),并将我作为“团队成员”添加到组织的团队帐户中,并共享了开发人员证书和开发配置文件(包括 1 个设备)。使用这些,我可以开发一个应用程序、存档并从 XCode 创建一个 IPA(选择的分发方法为“开发”)并导出到磁盘上的一个文件夹。导出时,我在磁盘上创建了以下文件

我组织的管理员想要退出这个 ipa 以分发到应用商店,并按照下面提到的所有步骤,使用分发证书和 dist。配置文件(应用商店)。然后将辞职的 ipa 分发(OTA)给用户,并且不会安装在他们的手机上。


我按照以下步骤重新签署了我们的 ipa

解压应用

解压 -q *.ipa

删除旧签名

rm -rf Payload/*.app/_CodeSignature/

替换嵌入式配置文件

cp "XXXXXXXXXX_distribution.mobileprovision" Payload/*.app/embedded.mobileprovision

从应用程序中提取权利

codesign -d --entitlements :entitlements.plist Payload/*.app/

重新签署嵌入式框架

codesign -f -s "iPhone Distribution: Certificate Name. (ABC44343XZ)" --entitlements entitlements.plist Payload/ .app/Frameworks/

重新签署应用程序(带有权利)

codesign -f -s "iPhone Distribution: Certificate Name. (ABC44343XZ)" --entitlements entitlements.plist Payload/*.app/

Zip 重新签名的应用程序

zip -qr resigned.ipa 有效负载

清理

rm 权利.plist

rm -r 有效载荷/


我可以重新签署开发人员的应用程序以分发到应用程序商店吗?有人可以告诉我哪里出错了吗?任何帮助是极大的赞赏。

标签: iosxcodeipa

解决方案


注意:我正在回答您在评论中所说的内容

[更新] 我收到一封来自 Apple 的电子邮件,其中包含以下要修复的问题“无效的 Swift 支持 - 缺少 SwiftSupport 文件夹。使用当前公共 (GM) 版本的 Xcode 重新构建您的应用程序并重新提交。” 有人能帮我一下吗?

我不能直接在评论上这样做,因为我没有足够的声誉。

第一次解压缩 .ipa 时,您应该看到至少四个文件夹:一个是Payload(您在其中执行所有签名操作以及有关配置的更改)、SymbolsBCSymbolMaps和一个SwiftSupport文件夹。当您执行 zip 时,您还必须将SwiftSupport文件夹添加到 .ipa:

zip -qr yourNewApp.ipa Payload/ SwiftSupport/ 

完成此操作后,您可以通过 Application Loader 上传,或者您可以验证您的 .ipa 运行此:

/Applications/Xcode.app/Contents/Applications/Application\ Loader.app/Contents/Frameworks/ITunesSoftwareService.framework/Support/altool -v -f yourNewApp.ipa -u yourItunesConnectUser@mail.com

推荐阅读