2016-04-14 82 views
1

我刚刚接管了用Objective-C编写的遗留项目,并开始用一些Swift元素对其进行扩展。Xcode 7.2生成通用Xcode存档而不是IPA

的问题是,我无法归档应用到IPA - 我不断地得到通用的Xcode归档,而不是IPA,我可以提交到应用商店

enter image description here

语境: - 可可豆荚版本0.39.0时,Xcode 7.2版本

  • 我用的CocoaPods但问题是目前更早的时候,该项目并没有使用它。

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

  • 在所有吊舱建筑目标上,“跳过安装”设置为YES。主项目的“跳过安装”设置为NO。

  • 当我出口产品建立的文件夹仅包含MyApp.app

  • 所有副本头都在“工程”不是“公共”。我也尝试过使用'Private'的配置,但没有帮助。

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

谢谢!

+0

你尝试导出吗? – Larme

+0

嘿 - 归档文件以“其他项目”结尾,导出的两个选项是“保存为生成产品”和“导出为xcode归档” –

+0

@trojanfoe - iOS分发配置文件和证书 –

回答

1

为了达到最佳效果,请转到管理器,右键单击存档文件并选择在查找器中显示。您将获得xcarchive,现在右键单击并选择显示包内容。去产品,去应用程序,会有应用程序文件。

现在复制该应用程序文件并将其粘贴到具有名称有效内容的新文件夹中。然后压缩它。然后使用project_name.ipa重命名它

您将快速获得ipa。

+0

感谢您的回复!不幸的是,包的内容中的.app文件为0字节......你知道可能是什么问题吗? –

+1

这解决了我的问题。这是创建IPA文件的旧方法。我突然想起了2009年左右的这种方法。谢谢。 – Zaldy

0

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

1

只要按照下面的步骤,你可以有你的ISSU解决:

  • 在您的Xcode转到目标>构建阶段>目标的依赖>删除它。
  • 现在再次构建您的api。
  • 它会为你工作。 它为我工作。
0

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

enter image description here

enter image description here

enter image description here

0

它发生,当你添加一个新的框架(个),你需要编辑目标>构建设置并设置跳过安装设置为是