Xcode 7.3: import Module 以删除线显示

Xcode 7.3: import Module displayed with strikethrough

将Xcode升级到7.3后,我发现有些模块在导入时被删除了,就像这个截图:

但是添加模块后(只需按 enter)一切正常。那是什么意思?这里的模块是用 Swift 编写的,可以正常工作。

如果您尝试导入已由您的文件或模块导入的模块,则会出现删除线:

在这种情况下,我已经导入了 Foundation(隐式导入了 CoreFoundation),所以 Xcode 告诉你不需要再次导入任何一个模块。

这是一个错误。我们已在 218010af, which should be included in the Swift 2.2.1 release and is included in the 2016-04-12-a developer snapshot.

中修复它

我更改了导入的顺序

import Foundation
import UIKit
import LayerKit
import Atlas  < red line


import Foundation
import UIKit
import Atlas
import LayerKit

一些可能导致它的注意事项:

  • LayerKit 导入 Atlas,即使 LayerKit 是较低级别 API 图集是UI层

  • 两者都是 Cocoapod 进口

  • 当我为 App 创建第二个架构时出现错误 Store/Enteprise 释放并清洁一个并切换到另一个。

  • 正在删除派生 数据没有清除它。
  • 所以尝试重新排列它们,红线消失了

当一个框架已经被您已经导入的任何其他框架导入时,通常会发生这种情况。

例如,UIKit 已通过 Foundation 导入,因此您无需手动导入。