ios - XCode 6.3 生成无效的 iOS 应用程序存档

标签 ios xcode swift

升级到 Xcode 6.3 后,我现有的基于 swift 的 Xcode 项目不再可以从命令行或 IDE 创建有效的 iOS 应用程序存档,因此我无法将它提交到应用程序商店或分发它。

命令行构建报错如下:

Project name does not contain a single–bundle application or contains multiple products. Please select another archive, or adjust your scheme to create a single–bundle application.

似乎只有一个人在 SO 上遇到过这个 (“After upgrading to Xcode 6.3, newly built iOS app archives can't be submitted ”)——但是 linked question 中建议的大量解决方法没有工作。我的build设置没有从我的 6.2 -> 6.3 项目更改,它们看起来是正确的。我仍然可以在 Xcode 6.2 中生成有效的存档

有没有其他人经历过 Xcode 6.3 生成无效的应用程序存档,或者知道任何解决方法?

错误存档的内容

xcode 生成的存档工件(在调试和 Release模式下)显然无效。归档文件中的 info.plist 缺少关键信息,并且归档文件的根目录中没有 SwiftSupport 目录(除非 XCode 6.3 中对此进行了更改):

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>ArchiveVersion</key>
    <integer>2</integer>
    <key>CreationDate</key>
    <date>2015-04-16T19:27:31Z</date>
    <key>Name</key>
    <string>AppName</string>
    <key>SchemeName</key>
    <string>AppName</string>
</dict>
</plist>

其他可能有趣的东西

  • 项目进度大约为 80%。
  • 只有一个应用程序扩展。

最佳答案

这似乎是 Xcode 6.3 中的回归——我的 Xcode 6.2 INSTALL_PATH 无法与 6.3 swift 项目一起使用。

更新 project.pbxproj 文件就可以了(对于调试和 Release模式):

INSTALL_PATH = "$(BUILT_PRODUCTS_DIR)";

INSTALL_PATH =/Applications;

关于ios - XCode 6.3 生成无效的 iOS 应用程序存档,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29780739/

相关文章:

android - TextFormField 上的可点击图标 - 禁用 TextFormField 对图标单击的关注( flutter )

ios - UIPageViewController 断言失败

ios - 线程安全的 UIKit 方法

ios - Xcode 4.1 fatal error : stdlib modified since the precompiled header was built

ios - 无法将应用程序部署到 ios 8 设备

swift - 无法从计算属性中为存储属性赋值

ios - 单击注释上的右侧详细信息披露按钮时,MonoTouch 会抛出 SIGSEGV

xcode - 如何使用 Mogenerator?

ios - 在 iOS 11 上,Sticker Pack 扩展在首次启动时崩溃

ios - 类型名称的预期标识符