将 Xcode 7.3.1 项目升级到 Xcode 8.0
Posted
技术标签:
【中文标题】将 Xcode 7.3.1 项目升级到 Xcode 8.0【英文标题】:Upgrade Xcode 7.3.1 Project to Xcode 8.0 【发布时间】:2016-09-21 10:18:03 【问题描述】:我想将我的 Xcode 7.3.1 项目升级到 Xcode 8。我的项目是在 Xcode 7 中用 swift 2.2 编写的,但现在我想用 swift 3.0 升级到 Xcode 8。我的项目在升级到 Xcode 8 时包含一些 pod 文件库,我面临很多警告和错误。与故事板相关的警告已解决,但 pod 文件中的错误未解决。
Xcode 告诉我将 swift 语法转换为最新语法,所以我做到了。 pod 文件中显示 Swift 语法错误。我正在尝试解决 pod 文件 swift 语法错误,然后 Xcode 告诉我解锁 pod 文件,我做到了,但是 pod 无法正常工作。
有人知道如何解决 pod-files 错误吗? 或如何将整个 Xcode 7.x 项目转换为 Xcode 8?
【问题讨论】:
【参考方案1】:以上问题的最终答案是:
在你的 podfile 中添加代码 sn-p
post_install do |installer|
installer.pods_project.targets.each do |target|
target.build_configurations.each do |config|
config.build_settings['SWIFT_VERSION'] = '3.0'
end
end
end
然后在构建设置中检查 swift legacy 并将 swift 3 设置为 NO 或者你可以 为 swift 2.3 设置 Yes (如果您使用的是 Objective-c pod 存储库)
如果更新包含 swift3 代码,则一一检查所有 pod 存储库,或者您可以通过从 github 拉取请求,手动添加具有 swift 3 语法的代码。
如果我的回答是错误的,请编辑它
【讨论】:
【参考方案2】:第 1 步: 在 Xcode 8.0 中打开项目
第 2 步: 转到编辑 > 转换器 > 到当前的 Swift 语法。
第 3 步: 选择要转换的 swift 版本。
【讨论】:
感谢您的回答,但我已经做到了,现在我找到了解决方案...【参考方案3】:有一个构建设置可让您继续使用 Swift 版本构建您的 Swift 项目,该版本在语法上与 Xcode 7 中的现有项目基本相似:使用旧版 Swift 语言版本
Just drop into your project’s build settings and search for legacy swift to find the correct build setting, then switch the setting to YES to opt-in to Swift 2.3 rather than Swift 3 in Xcode 8.
【讨论】:
以上是关于将 Xcode 7.3.1 项目升级到 Xcode 8.0的主要内容,如果未能解决你的问题,请参考以下文章
无法使用版本 XCode 7.3.1 和 OS X 10.11.6 将应用程序提交到 iTunes
将 Xcode4.x 升级到 Xcode5.0 后故事板图形消失了
将 xcode 升级到 10.2 版后面临 AFNetworking 错误