升级到 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/