【问题标题】:Xcode 7 GM created generic archive instead of iOS app archiveXcode 7 GM 创建了通用存档而不是 iOS 应用存档
【发布时间】:2015-09-11 12:54:35
【问题描述】:

我最近开始使用 Xcode 7 GM。 当我归档我的项目时,我会得到一个通用的 Xcode 归档而不是 iOS 归档。

我已经尝试了以下所有方法:

我比较了以前成功存档的内容和某些组件的不同文件夹结构:

  • Swift 库位于子文件夹中
  • 应用扩展在 .app 包之外
  • info.plist 缺少键

还有其他人遇到过这个问题吗?如果是,您解决了吗?如何解决?

编辑

我们使用的是 Cocoapods 0.38.2

【问题讨论】:

  • 你在使用 CocoaPods 吗?
  • 是的,我应该提到这一点,我们使用的是 0.38.2
  • 我在创建 iOS 存档时遇到了类似的问题,但版本 0.38.2 应该没问题。但是您仍然可以查看issue,主要是Products directory includes usr/local/include,因为它不应该。
  • @LiborZapletal 感谢您的提示,我会调查这个问题。
  • 我刚刚尝试使用 Cocoapods 0.39 beta 4,它似乎已经解决了我的问题。

标签: ios xcode


【解决方案1】:

我添加了同样的问题:一个旧的 Xcode 项目,Xcode 7(不是 GM,App Store 版本)和 Cocoapods。 我一直在修修补补,尝试了 Cocoapds 0.39 b3 和 b4 没有成功,更改了构建设置中的参数,但最后 - 对我来说 - 问题由 mrezk 在https://github.com/CocoaPods/CocoaPods/issues/4021 中显示:

Info.plist 中缺少 ApplicationProperties

由于我不习惯修改 Info.plist 和这些键,我在 Apple Dev 论坛中找到了一个非常有用的答案:https://forums.developer.apple.com/thread/17063

总之,对于像我这样的 info.plist 新手 ;) :

  1. 归档您的项目
  2. 组织者将显示一个通用 Xcode 存档
  3. 右键单击,在查找器中显示
  4. 右键单击,显示包内容
  5. 在 XML 编辑器中打开 Info.plist 文件
  6. mochs 所示,在该部分添加以下行:
应用程序属性应用路径应用程序/>.appCFBundleIdentifier>CFBundleShortVersionString>CFBundleVersion>签名身份iPhone 分发:> (>)

并用您自己的值替换标签。

保存,关闭 Xcode,双击存档:它应该在管理器中作为 iOS 类型存档打开。

感谢mrezkmochs 提供解决方案。

【讨论】:

  • 而且,我可以直接确认存档在上传到 App Store 时收到“提交成功”。
  • 我遇到了同样的问题,这也解决了我的问题。
  • 这也为我修好了!干得好!
  • 如何修复我的项目,以便将来的构建不会有同样的问题
  • 我希望他们能尽快修复 Xcode 7,项目归档时似乎有问题
【解决方案2】:

在这里。 我团队的成员都尝试了 Cocoapods 的测试版,它为我们解决了问题。因此,我将接受我自己的答案。

虽然它可能会解决问题,但我相信 Christian Navelot 的答案是不可扩展的,而且在团队中肯定是不可管理的。

此外,我们所有人都尝试使用 cp beta 而不删除 Copy Pod Resources 构建阶段。这意味着我也不会接受 Todd Anderson 的回答。

我们也没有使用静态库,我们使用的是框架(在 Podfile 中又名use frameworks!)。

感谢大家为这个问题做出贡献。看起来我们都被 Xcode 7 放到了同一条船上! 干杯!

【讨论】:

    【解决方案3】:

    在我的情况下,清除所有静态库中的“安装目录”构建设置解决了这个问题。之前设置为“/usr/local/lib”。

    当使用“保存构建的产品”作为导出方法时,产品文件夹会得到这些子目录。这就是让我朝这个方向前进的原因。

    我正在使用 cocoapods 0.38.2。

    【讨论】:

    • 除了在 Pods Build 设置中将“跳过安装”设置为 NO 之外,还为我工作。
    【解决方案4】:

    这里提到的其他答案是临时修复,但每个都需要手动操作,无论是在每次存档之后还是在每个 pod install 之后。

    新的、更好的解决方案是将 cocoapods 更新到最新版本,并从每个应用扩展中删除“复制 Pod 资源”构建阶段。

    更多信息请参见https://github.com/CocoaPods/CocoaPods/issues/4021

    【讨论】:

    • 感谢您的贡献。如果一切都按预期进行,我将在本周重新测试并一劳永逸地结束这个问题!干杯!
    • 实际上最新版本(0.39.x)对我来说是个问题。正如您发布的链接所指出的,这是最新测试版的问题。我完全卸载了它们并用 0.38.2 重建了所有东西,这很有效。但是感谢您发布链接:)
    • 我从不使用 cocoapods 测试版,并且在使用 .38 和 .39 时都遇到了这个问题,所以也许还有其他事情发生。
    【解决方案5】:

    我在 XCode7.1.1 和一个带有 WatchKit Extension 的应用项目中遇到了类似的问题。 我通过以下步骤解决了这个问题

    • 打开我的应用目标的构建设置并将 NO 设置为“跳过安装”。

    • 打开我的 WatchKit 扩展目标的构建设置并将 YES 设置为“跳过 安装”

    • 打开我的 WatchKit App 目标的 Build Settings 并将 YES 设置为“Skip 安装”

    然后我可以制作 iOS 存档。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-05-23
      • 1970-01-01
      • 2014-11-04
      • 2013-12-20
      • 2012-02-03
      • 1970-01-01
      • 2011-11-05
      • 2012-08-25
      相关资源
      最近更新 更多