Swift 开发的代码在 Xcode 8.x 或 Xcode 7.x 中不起作用

Posted

技术标签:

【中文标题】Swift 开发的代码在 Xcode 8.x 或 Xcode 7.x 中不起作用【英文标题】:Swift developed code not working in Xcode 8.x or Xcode 7.x 【发布时间】:2017-10-25 11:03:17 【问题描述】:

当我在 Xcode 8.x (8.1,8.2.1,8.3.3) 中打开 swift2.3 开发的项目时,它显示了很多第 3 方文件的错误。我做了以下动作

    我安装了 pod,然后更新了 pod,但之后它在 alamofire 等 3rd 方框架中显示了大约 500 个错误。

    我尝试在 Xcode 7.3 中配置它,但仍然没有得到无错误代码,并且在链接的 3rd 方框架中显示错误。

    我尝试过不更新任何 pod,但它没有显示项目中的链接文件并显示很多错误

当我在 Xcode 8.x 中打开项目时,它要求进行转换。我确实按照建议进行了转换,并遇到了很多错误。

请给我建议。

谢谢

【问题讨论】:

实际逐一检出最新的 3rd 方库会更合理,而您只对自己的代码进行自动更新。 感谢您的回复。能否请您分享如何“一一签出最新的 3rd 方库”? 去下载最新的库,它应该可以工作。在更新 Xcode 版本时,请记住 Swift 正在开发中,因此请确保工作代码的副本安全。 感谢您的回复。我是否像以前一样删除 pod 并添加所有文件手动下载。 【参考方案1】:

您必须手动修复所有这些问题。

正如本文 (https://***.com/a/42561709/8824091) 中所述,您应该期望您的代码在 Swift 版本更改后会被破坏。

建议你听从那篇文章的建议(也就是备份你的2.3版本,仔细做所有的转换,会很繁琐又慢)。

【讨论】:

感谢您的回答,但我认为苹果提供了一些其他解决方案,除了手动解决很多错误。 问题是,Xcode 并不真正知道您想对您的代码做什么,但它会尝试将其转换为新的语法,这可能会导致错误。您可以减少错误的数量,但总会有。 不幸的是,将 Swift 2 迁移到 3 非常痛苦。

以上是关于Swift 开发的代码在 Xcode 8.x 或 Xcode 7.x 中不起作用的主要内容,如果未能解决你的问题,请参考以下文章

拍照或从库中获取图像的权限未在 iOS 9 中显示(Xcode 7beta,Swift 2)

使用单个按钮 Xcode 或 swift 切换视图控制器的背景颜色

swift 教程 swift介绍

Swift开发图解入门

Swift Xcode 6 开发者棒球计数器 [重复]

将多个声音(目标 c)播放到 Swift(xcode 7)的代码帮助