iOS FirebaseAnalytics Pod中的非模块标头

时间:2016-10-08 19:00:21

标签: ios firebase firebase-cloud-messaging

在iOS上安装Firebase / Messaging Pod后,我收到错误消息:

Include of non-modular header inside framework module 'FirebaseAnalytics' 

中的FIRAnalyticsConfiguration.h

#import <FirebaseCore/FIRAnalyticsConfiguration.h>

是什么给出了?

2 个答案:

答案 0 :(得分:3)

几分钟前我遇到了同样的问题。通过执行以下操作,我能够成功解决它:

  1. Podfile中,取消注释use_frameworks!
  2. 运行pod install
  3. 在Xcode中,执行清除(⌘+ K)和构建(⌘+ B)
  4. 我希望这会有所帮助。

答案 1 :(得分:1)

我遇到了这个问题,感谢周末cocoapods团队的一些帮助,我们确定它是firebase中的一个问题,并将在下一个主要版本中解决:

https://github.com/firebase/firebase-ios-sdk/issues/973

还有一个解决方法(Podfile中的安装后步骤)步骤;为此,请将包含此文件的文件添加到项目中作为patch / FirebaseAnalytics.h:

// Workaround for https://github.com/firebase/firebase-ios-sdk/issues/973
#import "FIRAnalytics+AppDelegate.h"
#import "FIRAnalytics.h"
#import "FIRAnalyticsSwiftNameSupport.h"
#import "FIREventNames.h"
#import "FIRParameterNames.h"
#import "FIRUserPropertyNames.h"

并将其添加到您的Podfile:

post_install do |installer|
  # This post_install workaround should be removed when FirebaseAnalytics
  # removes its non-modular includes;
  # https://github.com/firebase/firebase-ios-sdk/issues/973
  print "Fix up FirebaseAnalytics module ... \n"
  system 'cp patch/FirebaseAnalytics.h Pods/FirebaseAnalytics/Frameworks/FirebaseAnalytics.framework/Headers/'
end

正如@QMFNP所提到的,你也可以通过在你的Podfile中添加use_frameworks!来解决它,但这样做的缺点是它将CocoaPods切换到每个pod的一个动态框架(如果你有很多pods) )您的应用程序启动时间会变得更长,特别是在旧版本的iOS上。