Xcode 7.3: import Module displayed with strikethrough

i0S Swift Issue

Question or problem with Swift language programming:

After upgrading Xcode to 7.3, I just found that some modules are stricken out while importing, like in this screenshot:

But after adding the module (so just pressing enter) everything is fine. What does that mean? The module here is written in Swift and works fine.

How to solve the problem:

Solution 1:

This is a bug. We have fixed it in 218010af, which should be included in the Swift 2.2.1 release and is included in the 2016-04-12-a developer snapshot.

Solution 2:

The strikethrough occurs if you try to import a module that has already been imported by your file or module:

import

In this case, I have already imported Foundation (which implicitly imports CoreFoundation), so Xcode is telling you that there is no need to import either module again.

Solution 3:

It usually happens when a framework is already imported by any other framework you have already been imported.

For example, UIKit is already imported with Foundation so you don’t need to import it manually.

enter image description here

Solution 4:

I changed the order of the imports

import Foundation
import UIKit
import LayerKit
import Atlas  < red line


import Foundation
import UIKit
import Atlas
import LayerKit

Some notes that may be causing it:

  • LayerKit importing Atlas even though LayerKit is the lower level API
    Atlas is the UI layer

  • Both were Cocoapod imports

  • Error appeared when I created an 2nd Schema for App Store/Enteprise
    releases and cleaned one and switch to the other.

  • Deleting Derived
    Data didnt clear it.
  • So tried rearranging them and red line disappeared

Hope this helps!