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)