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

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

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

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

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

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

请给我建议。

谢谢

【问题讨论】:

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

标签: ios swift xcode


【解决方案1】:

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

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

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

【讨论】:

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