2016-11-06 63 views
2

我正在创建一个我想从中导入Firebase的CocoaPod。我得到的错误:无法在CocoaPod中导入Firebase

"No such module 'Firebase'"

当我在我的POD添加import Firebase到斯威夫特文件。

我CocoaPod Foo的荚规范文件,Foo.podspec,包含:

s.dependency 'Firebase', '~> 3.6' 
+0

“我将导入Firebase添加到我的窗格中的Swift文件。”你可以扩展一下吗? 's.dependency'只能告诉你别人何时使用你的pod,如果有必要的话,它会导入(避免重复导入)Firebase。但目前还不清楚,如果你通过“没有这样的模块”的错误,你的意思是,这是你在目前的豆荚中使用。声明s.dependency确实会导入。您可能必须在您的容器中使用podfile来为XCode设置必要的文件进行编译。 – Larme

+0

我不应该在使用我的CocoaPod的'Podfile'中复制我的依赖关系。声明's.dependency' ***应***进行 –

回答

2

似乎有与由火力地堡他们吊舱的最新版本(见https://github.com/CocoaPods/CocoaPods/issues/6138)所做的podspec模块映射一个问题。

我目前正在研究一个基于Firebase的聊天系统,我已经将其作为私有CocoaPod抽象出来。如果我在代码/ podspec中清除所有Firebase的痕迹,则所有其他Pod都会完美导入。在这个问题得到解决之前,我不知道我们能做些什么。

干杯!

+0

谢谢。我不知道你是否提交了一张票,所以我继续提交一张。奇怪的是,没有办法共享票的URL。我会保持这个线索与我的利用最新。 –

1

我最近遇到了同样的问题,我解决了这个问题,以便我可以使用我的开发包以及使用它的应用程序中的firebase,以便在Xcode中设置firebase sdk,以便它可以在就像系统框架一样。

  1. 下载the firebase sdk
  2. 移动,你需要进入的Xcode /Applications/Xcode.app/Contents/Developer/Library/Frameworks/
  3. 设置你的荚规范,以便它知道在哪里的框架是为框架以及添加一些必需的依赖关系。

    # Specify what libraries this depends on. 
    s.libraries = [ 
        'c++', # FirebaseAnalytics. 
        'icucore', # FirebaseDatabase. 
        'sqlite3', # FirebaseAnalytics. 
        'z', # FirebaseAnalytics. 
    ] 
    
    # Specify what frameworks this depends on. 
    s.frameworks = [ 
        'AddressBook', # FirebaseAnalytics. 
        'AdSupport', # FirebaseAnalytics. 
        'CFNetwork', # FirebaseDatabase. 
        'SafariServices', # FirebaseAnalytics. 
        'Security', # FirebaseAnalytics, FirebaseAuth, FirebaseDatabase. 
        'StoreKit', # FirebaseAnalytics. 
        'SystemConfiguration', # FirebaseAnalytics, FirebaseDatabase. 
        'FirebaseAnalytics', 
        'FirebaseInstanceID', 
        'FirebaseCore', 
        'FirebaseCoreDiagnostics', 
        'FirebaseNanoPB', 
        'GoogleToolboxForMac', 
        'FirebaseAuth', 
        'GTMSessionFetcher', 
        'FirebaseDatabase' 
    ] 
    s.xcconfig = { 'FRAMEWORK_SEARCH_PATHS' => '/Applications/Xcode.app/Contents/Developer/Library/Frameworks/**' } 
    
    # LDFLAGS required by Firebase dependencies. 
    s.pod_target_xcconfig = { 
        'OTHER_LDFLAGS' => '$(inherited) -ObjC', 
    } 
    

这个例子只使用火力分析,验证和数据库,但我敢肯定,其他框架可以被添加。这不是最好的解决方案,但它适用于我的情况。