在ios上安装Firebase模块

时间:2016-05-19 11:55:38

标签: ios firebase

我遵循了在firebase上整合新ios版本的所有说明:

  1. 我下载了文件GoogleService-Info.plist并将其包含在项目中。

  2. 我使用cocoapods

  3. 安装了框架

    问题在于这一行:

    @import Firebase;
    

    Xcode打印此错误:

      

    “未找到模块Firebase”

    解决方案是什么?

    我的代码:

    #import "AppDelegate.h"
    
    @import Firebase
    
    @interface AppDelegate ()
    
    @end
    
    @implementation AppDelegate
    
    - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
        [FIRApp configure];
    
        // Override point for customization after application launch.
        return YES;
    }
    

10 个答案:

答案 0 :(得分:14)

我最终使用

修复它

#import <Firebase/Firebase.h>

而不是

@import Firebase

答案 1 :(得分:7)

导入时遇到同样的问题。 我的目标构建设置覆盖了“标头”搜索路径&#39;没有&#39; $(继承)&#39;标志

&#39; pod update&#39;警告你。

  1. 打开目标构建设置 enter image description here

  2. 在标题搜索路径中&#39;添加一行包含$(继承)。

  3. 它解决了我的问题

    希望有所帮助

答案 2 :(得分:1)

我遇到同样的问题,并在此处找到解决方案:iOS - Firebase error: Use of unresolved identifier FIRApp running supplied code

在终端命令行上执行以下步骤:

  1. pod repo update
  2. 评论了该广告“Firebase&#39;来自我的Podfile
  3. pod install(这删除了旧的Firebase)
  4. 添加了pod&#39; Firebase&#39;再次排队。
  5. pod install(添加了新的Firebase)
  6. 第二步和第三步是我认为的关键,否则CocoaPods并没有尝试更新它。正如我所说,也许这可以通过pod更新解决,但现在我无法再回头再试一次。

答案 3 :(得分:0)

adding the Firebase SDK to your iOS project有两种方式。您可以使用CocoaPods,在这种情况下,确保您的pod依赖项位于您正在使用的目标中非常重要。例如。

use_frameworks!
platform :ios, '7.0'
pod 'Firebase/Analytics'

target 'Target1' do
end
target 'Target2' do
end

在CocoaPods中有很多不同的配置目标的方法,因此你的Podfile可能看起来不同。重要的是你指定的目标与pod相关联 - 在这种情况下,我已经指定了Analytics pod,因此它可供所有目标使用,但是如果我只将它放在Target1 do...end块中,那么它就不会#39;在Target2中可用。

如果您正在使用框架集成方法,请确保在Build Phases选项卡的 Link Binary With Libraries 部分中指定了库。如果您将它们拖动到Xcode中的Frameworks组中,这应该会自动发生。

最后,如果这不起作用,Xcode可能已经缓存了一些不好的东西。尝试打开产品菜单,按住Option并单击清理构建文件夹

答案 4 :(得分:0)

即使我有正确的Podfile配置,我也有类似的问题说明在标题中找不到 FirebaseMessaging模块

Screenshot 1

Solution is to remove Cocoapods from project and add it again.

您可以使用此link.

从项目中删除CocoaPods

此后,您可以使用此link.

再次添加CocoaPods

下面是我使用过的Podfile的快照。

Screenshot 2

下面的快照显示了使用Pod安装的登录依赖项。

Screenshot 3

答案 5 :(得分:0)

这很蹩脚,但我通过使用pod将源添加到我的项目来修复集成问题。我不得不手动修复一些文件。

答案 6 :(得分:0)

以这种方式对我有用。

使用 FirebaseCore / FirebaseCore.h

尝试以下代码。

#import "AppDelegate.h"
#import <FirebaseCore/FirebaseCore.h>

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    // Override point for customization after application launch.
    [FIRApp configure];
    return YES;
}

答案 7 :(得分:0)

我尝试了上述方法,但可惜没有任何效果。 清理构建文件夹,清除Xcode缓存对我有帮助。试试这个:

  
      
  1. 退出Xcode。
  2.   
  3. 删除位于〜/ Library / Developer / Xcode / DerivedData中的项目的临时文件
  4.   
  5. 删除ProjectName.xcworkspace
  6.   
  7. 删除Podfile.lock文件和Pods文件夹
  8.   
  9. 运行pod安装。
  10.   
  11. 打开新创建的ProjectName。 xcworkspace 文件并构建。
  12.   

引起对第六步的广泛关注。打开此新创建的 xcworkspace ,而不是xcodeproj。

原始答案:https://stackoverflow.com/a/44486792/913601

答案 8 :(得分:0)

我有同样的问题。我发现问题是我在Cocoapods文件中有三个目标。而且只有我主要的一个目标添加了Firebase。这样,当我要将Firebase导入到其他目标中使用的文件时,Xcode会给出错误消息并指出未找到模块“ Firebase”。这是我的pods项目文件。对我来说,一种解决方案是将Firebase Pod添加到所有目标。或者另一种解决方案是从其他目标中删除文件。

def common_pods
  pod 'XXX'
end

target 'myMainProject' do
  common_pods()
  pod 'Firebase/Core'
  pod 'Firebase/AdMob'
  pod 'Firebase/RemoteConfig'
  pod 'Firebase/Crashlytics'
  pod 'Firebase/Analytics'
end

target 'myExtention1' do
  common_pods()
end

target 'myextension2' do
  common_pods()
end

答案 9 :(得分:-3)

更新您的广告连播。 打开终端转到项目目录并键入以下命令

  

pod update