Umbrella Header for Module Bolts does not include header 'BFAppLinkResolving.h'
Asked Answered
J

4

14

I'm running an xcode 6.3 project with Parse 1.7.1 (newest version), Swift. I'm getting this issue being raised on my builds. My autocomplete and typing is PAINFULLY slow and I think it maybe related. I've testing out projects and it only happens when the Bolts module is in the project (which is required for Parse).

Jeramey answered 15/4, 2015 at 18:0 Comment(2)
What's an umbrella header or framework? It's the first time I see it. Thanks.Metaplasia
Currently the latest version of the iOS Parse SDK is 1.7.5 and this problem is fixed.Silvan
J
11

As @MaddTheSane pointed, the Bolts framework is missing the modulemap in the last update of Parse (1.7.1).

In the Bolts.Framework create Modules/ (if it does not exist) and inside it create a file module.modulemap with the content shown below. I will suggest removing the current Bolts framework from your project and importing again (the modified one.)

enter image description here

framework module Bolts {
umbrella header "Bolts.h"

export *
module * { export * }


explicit module BFAppLinkResolving {
    header "BFAppLinkResolving.h"
    link "BFAppLinkResolving"
    export *
}}
Jacobjacoba answered 15/4, 2015 at 22:20 Comment(0)
E
15

@franciscodlp - We also need to add another header file (BFWebViewAppLinkResolver.h) - I had to make 2 of them explicit. Below is how the module.modulemap should look like.

framework module Bolts {
  umbrella header "Bolts.h"

  export *
  module * { export * }

  explicit module BFAppLinkResolving {
    header "BFAppLinkResolving.h"
    link "BFAppLinkResolving"
    export *
  }
  explicit module BFWebViewAppLinkResolver {
      header "BFWebViewAppLinkResolver.h"
      link "BFAWebViewAppLinkResolver"
      export *
  }
}
Empty answered 17/4, 2015 at 4:51 Comment(0)
J
11

As @MaddTheSane pointed, the Bolts framework is missing the modulemap in the last update of Parse (1.7.1).

In the Bolts.Framework create Modules/ (if it does not exist) and inside it create a file module.modulemap with the content shown below. I will suggest removing the current Bolts framework from your project and importing again (the modified one.)

enter image description here

framework module Bolts {
umbrella header "Bolts.h"

export *
module * { export * }


explicit module BFAppLinkResolving {
    header "BFAppLinkResolving.h"
    link "BFAppLinkResolving"
    export *
}}
Jacobjacoba answered 15/4, 2015 at 22:20 Comment(0)
T
2

Does the Bolts framework have a module file in it? if not, you most likely need to import Bolt's umbrella header (and BFAppLinkResolving.h) in your bridging header.

Unless you are using functions that are in that header, you can ignore the warning.

I would recommend that you contact the developers of Bolts and Parse, as they may be able to offer better help.

Tolyl answered 15/4, 2015 at 20:18 Comment(0)
I
2

I'm building a Swift project and linking the Parse SDK through Cocoapods, and I got the Module 'Bolts' not found message. Looks like the Bolts pod didn't include a Swift module, but putting

#import <Parse/Parse.h>
#import <Bolts/Bolts.h>

in {project-name}-Bridging-Header.h resolved my issue.

Italic answered 20/4, 2015 at 0:55 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.