Xcode 7.2生成Generic Xcode Archive而不是IPA

时间:2016-04-14 10:21:10

标签: ios objective-c xcode xcode7 ipa

我刚刚接手了一个用Objective-C编写的遗留项目,并开始用一些Swift元素扩展它。

问题在于我无法将应用程序存档到IPA中 - 我不断获得通用的Xcode存档而不是我可以提交到应用程序商店的IPA

enter image description here

背景:   - Cocoa pods版本0.39.0,Xcode版本7.2

  • 我使用cocoapods,但问题出现在早期,当时该项目还没有使用它。

  • 我有关于堆栈溢出(one two)的其他类似问题的提示,但似乎没有任何帮助。

  • '跳过安装'在所有pod构建目标上设置为YES。主项目已经“跳过安装”。设为NO。

  • 导出构建产品时,该文件夹仅包含MyApp.app

  • 所有复制标题都在'项目'不在' Public'。我也尝试过使用“私人”的配置。但它没有帮助。

enter image description here

  • 我的构建方案: enter image description here
  • 我还尝试使用以下脚本从命令行构建整个工作区:

xcodebuild -scheme MyScheme -workspace MyProject.xcworkspace clean archive -archivePath build/MyProject xcodebuild -exportArchive -exportFormat ipa -archivePath "build/MyProject.xcarchive" -exportPath "build/MyProject.ipa" -exportProvisioningProfile "DistributionProvisioningProfile"

但我收到以下错误:

error: the archive at path '/pathtotheappfolder/MyProject.xcarchive' is not a single-bundle archive

我的主要问题是 - 如何将其构建为IPA?

附带问题 - 我如何找出或至少了解出现问题的方向?

更新:

导出存档并转到"显示包裹内容"文件结构如下:

enter image description here

谢谢!

6 个答案:

答案 0 :(得分:1)

要获得快速结果,请转到管理器,右键单击存档文件,然后选择在查找器中显示。您将获得xcarchive,现在右键单击并选择显示包内容。转到产品,转到应用程序,会有app文件。

现在复制该app文件并将其粘贴到名称有效负载的新文件夹中。然后压缩它。然后用project_name.ipa

重命名它

你会很快得到ipa。

答案 1 :(得分:1)

只需按照以下步骤操作即可解决您的问题:

  • 在您的xcode中转到目标>构建阶段>目标依赖性>删除它。
  • 现在再次建立你的api。
  • 它适合你。 它对我有用。

答案 2 :(得分:0)

当您添加了需要编辑目标>的新框架时,会发生这种情况。构建设置并将跳过安装设置设置为是

答案 3 :(得分:0)

对我来说是因为我的方案(“编辑方案”)“归档”构建配置下拉菜单项设置为“调试”,而不是“释放”,原因是我进行了一次测试,但忘记了此设置。

谢谢 约翰·古斯塔特 XCode 2020年10月1日

答案 4 :(得分:-1)

可悲的是,唯一的出路是创建一个新项目并移动所有文件。

答案 5 :(得分:-1)

在Xcode(8.3.2)中查看Xcode存档(或xcarchive)时,单击右侧的导出。选择您的证书和导出方法。然后你就会得到ipa。

enter image description here

enter image description here

enter image description here