0

一些背景信息:语法颜色/突出显示和自动建议停止正常工作。我读了很多关于如何解决这个问题的问题,但没有一个对我有帮助,因为它们与派生数据有关。

我正在从一些在线教程中学习 Swift,并注意到我的语法突出显示与课程老师的不同。然后我注意到,当我创建我的结构的一个实例,并在实例之后使用点语法时,Xcode 并没有自动建议结构的函数和变量,而它在项目的下载版本中会这样做。经过一番调查,我注意到我的项目和老师的项目之间的一个关键区别是我的项目的部署目标是 8.1,而老师的项目是 8.0。我将我的更改为 8.0,语法突出显示立即恢复,我可以访问结构实例的函数和变量。

我猜这可能是 Xcode 中的一个错误,但也许我在 Xcode 中配置错误?如果有人能解释这个错误是如何/为什么发生的,以及选择部署目标时的最佳实践是什么,我将不胜感激。

该设置位于项目 > 常规 > 部署信息

我希望以上信息可以帮助遇到此问题的其他人。

4

1 回答 1

2

部署目标是您的应用所针对的 iOS 版本。这并不意味着它与其他版本不兼容,只是它被设计为在该版本上工作得最好。通常,在具有较新版本操作系统的设备上使用该应用程序比在具有较旧版本操作系统的设备上使用该应用程序更安全且不太可能。实际上,安装部署目标高于手机操作系统版本的应用程序有很多限制。

目前最常见的部署目标是 7.x,因为大多数应用程序在 iOS 7 首次发布时进行了更新(UI 标准和 SDK 功能从 6 到 7 发生了相当大的变化),而 iOS 8 不是t 与 7 相差太大,因此无需限制它和/或为新 SDK 编写新版本的应用程序。通过将部署目标设置为 7.x,您应该确保应用程序在 7.x 和所有更高版本(包括 8.x)上运行良好。您还应该有合理的最低部署目标 - 因此,一个纯粹的 iOS 8 应用程序理想情况下应该以 iOS 8.0 为目标。你会为自己节省大量来自不了解版本控制的用户的 PR 和无效错误报告。

在您的场景中,听起来在使用 iOS 8.1 部署目标时 Xcode 中可能存在错误。您可能需要检查您的文档是否已下载。转到 Xcode -> 首选项 -> 下载并确保所有内容都已下载。我不确定这些是否真的用于语法高亮和完成代码,但这是可能的。我也会清理构建文件夹(产品 -> 按住 Alt -> 清理构建文件夹)。同样,我不确定,但我认为这里有一些小事情没有点击。我假设您根据第一段清除了派生数据 - 如果没有,请执行此操作(窗口 -> 管理器 -> 选择项目 -> 删除)。

于 2014-11-29T10:06:02.200 回答