cduguet
cduguet

Reputation: 427

XCode keeps forgetting imported Frameworks

I have Xcode 6.3, using Swift, importing a Parse 1.7.1 Framework as usual (dragging, copying) and I set it up in a group: Frameworks.

I compile and everything works fine for a while with it, until the compiler does not recognize this sentence anymore:

import Parse

It gives me the error:

No such module 'Parse'

A workaround is to delete the Framework and copy it again, but after a while it starts getting annoying, and I would really like to know the cause.

I only code and build in the meantime (and occasionally creating new swift files), so I can't explain why this happens.

Upvotes: 6

Views: 1610

Answers (2)

aslı
aslı

Reputation: 8914

If you're targeting iOS 8 and above, you can tell Cocoapods to use frameworks, by putting

use_frameworks!

in your Podfile, like this example:

use_frameworks!
platform :ios, '8.0'

# Parse
pod 'Parse', '~> 1.7'

I could fix the same problem by doing so.

Upvotes: 5

Garret
Garret

Reputation: 1147

I just fixed this same issue today with my project. I imported my obj-c framework in a swift project and it worked for a while, then xcode seemed to forget it causing the same error you have.

apple docs

I fixed it by referencing the bridging header in Build Settings.

Under Build Settings, make sure the Objective-C Bridging Header build setting under Swift Compiler - Code Generation has a path to the header. The path should be relative to your project, similar to the way your Info.plist path is specified in Build Settings. In most cases, you should not need to modify this setting.

I just typed in the name of the bridging header folderName/xxxx-BridgingHeader.h in the field that states bridging header and all was well again.

Upvotes: 4

Related Questions