2016-06-24 4 views
5

Я внедрил Firebase в моем приложении iOS, используя какао-контейнеры. Проблема в том, что когда я пытаюсь настроить firebase, я получаю эту ошибку Использование неразрешенного идентификатора 'FIRApp'. Эта ошибка возникает, когда я использую код FIRApp.configure() в файле appdelegate. Кто-нибудь может мне с этим помочь?Использование неразрешенного идентификатора 'FIRApp'

import UIKit 
import AWSCore 
import GoogleMaps 
import Firebase 
@UIApplicationMain 
class AppDelegate: UIResponder, UIApplicationDelegate { 

    var window: UIWindow? 

    let defaults = NSUserDefaults.standardUserDefaults() 

    func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool { 
    // Override point for customization after application launch. 

    // Use Firebase library to configure APIs 
    FIRApp.configure() 
    return true 
    } 
} 

Я следовал Firebase Руководство https://firebase.google.com/docs/ios/setup#initialize_firebase_in_your_app

Вот файл стручок

# Uncomment this line to define a global platform for your project 
platform :ios, '8.0' 
use_frameworks! 

target 'xxxx' do 
    pod 'SwiftyJSON', :git =>  'https://github.com/SwiftyJSON/SwiftyJSON.git' 
    pod 'DKChainableAnimationKit' 
    pod 'Charts' 
    pod 'JVFloatLabeledTextField' 
    pod 'AWSAutoScaling' 
    pod 'AWSCloudWatch' 
    pod 'AWSCognito' 
    pod 'AWSDynamoDB' 
    pod 'AWSEC2' 
    pod 'AWSElasticLoadBalancing' 
    pod 'AWSKinesis' 
    pod 'AWSMobileAnalytics' 
    pod 'AWSS3' 
    pod 'AWSSES' 
    pod 'AWSSimpleDB' 
    pod 'AWSSNS' 
    pod 'AWSSQS' 
    pod 'GoogleMaps' 
    pod 'Firebase' 
end 
+0

Вы добавили GoogleService-Info.plist и типы URL в Project Info? –

+0

@AmitKalghatgi да, у меня есть –

+0

убедитесь, что вы установили стручок, а затем очистите + перестроить –

ответ

2

Я узнал, что вызвало проблему. Я использовал более старую версию стручков какао. Когда я обновил версию контейнеров какао до последней версии, ошибка была исправлена. Благодарю.

просто запустите это.

sudo gem update cocoapods 
2

FIRApp доступен в Firebase 3.x или более поздней версии.

Это происходит, когда вы не можете обновлять старые версии Firebase, скажем 2.x до 3.x. Это было уже ответил здесь- Firebase Upgrading From 2.5.1 to 3.2.1

и How to upgrade new Firebase app from exist old app?

Key IS-

pod update 

Вам необходимо запустить обновление стручок один раз перед установкой стручок Firebase и установит правильный версия, когда вы это сделаете в следующий раз.

+0

Я попробовал обновление pod, но он не установил Firebase 3.2.1 –

+0

Пожалуйста, внимательно следите за ответом. Также была предоставлена ​​другая ссылка. Возможно, вам потребуется добавить ** pod 'Firebase', '> = 2.5.1' ** –

+0

не работает –

1

Там же известная проблема с импортом модуль Firebase в Xcode 8. import Firebase может привести к «модуль не был найден» ошибка. Если это так, вам нужно будет импортировать модули отдельно, пока проблема не будет решена.

FIRApp находится в рамке FirebaseAnalytics. Добавьте import FirebaseAnalytics в начало файла вашего класса, в котором вы импортируете другие модули.

Включить все рамки в папке Analytics в Firebase SDK, в настоящее время:

  • FirebaseAnalytics
  • FirebaseInstanceID
  • GoogleInterchangeUtilities
  • GoogleSymbolUtilities
  • GoogleUtilities

Убедитесь, что вы добавили флаг -ObjC в other_linker_flags в настройках проекта.

+0

Спасибо, это единственное решение, которое сработало для меня после обновления корзины и т. Д. – dancingbush

0

Мой вопрос заключается в том, что в моем podfile, я поставил линию:

pod 'Firebase' 

под "MyApplicationUITests" вместо «MyApplication."

. Также:

Я не ставил

import Firebase 

в верхней части моей AppDelegate

+0

, если вы найдете мой вопрос полезен, вы можете перенести вопрос –

0

Взял меня некоторое время, но я понял, что с помощью старой версии Xcode (7.3.1) на старшем mac.

Первоначально, используя pod 'Firebase/Core', установлен Firebase 4.0. Итак, я вошел в Pod файл и конкретизированы версию 3.2.1:

pod 'Firebase/Core', '3.2.1'

И ошибка ушла сразу. Надеюсь, это спасет, по крайней мере, несколько часов для кого-то там!

Смежные вопросы