无法在CocoaPod中导入Firebase

时间:2016-11-06 20:02:55

标签: swift firebase cocoapods

我正在创建一个CocoaPod,我想从中导入Firebase。我收到错误:

  

“没有这样的模块'Firebase'”

当我将import Firebase添加到我的广告连播中的Swift文件时。

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

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

2 个答案:

答案 0 :(得分:2)

Firebase为pod的最新版本制作的podspec中的模块映射似乎存在问题(请参阅https://github.com/CocoaPods/CocoaPods/issues/6138)。

我目前正在开发一个基于Firebase的聊天系统,我已经将其抽象为私有CocoaPod。如果我删除了我的代码/ podspec中的所有Firebase痕迹,则所有其他Pod都可以完美导入。我不知道在修复之前我们还能做很多事情。

干杯!

答案 1 :(得分:1)

我最近碰到了同样的问题和我解决的解决方案,以便我可以在我的开发窗格内部使用firebase以及使用它的应用程序是在Xcode中设置firebase sdk以便可以在与系统框架相同的方式。

  1. 下载the firebase sdk
  2. 将您需要的框架移动到Xcode /Applications/Xcode.app/Contents/Developer/Library/Frameworks /
  3. 设置您的pod规范,以便它知道框架的位置以及添加一些必需的依赖项。

    # 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',
    }
    
  4. 此示例仅使用firebase Analytics,Auth和Database,但我确信其他框架也可以添加。它不是最好的解决方案,但它适用于我的情况。