IOS Swift: ошибка с именем google

Я следил за этим, чтобы добавить google вход в мое приложение для iOS с помощью быстрого доступа. Я выполнил все шаги, о которых упоминалось, но когда я пытаюсь создать приложение, это дает мне проблему в моем файле appdelegate.swift.

func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {

    var configureError: NSError?
    GGLContext.sharedInstance().configureWithError(&configureError)
    assert(configureError == nil, "Error configuring Google services: \(configureError)")

    GIDSignIn.sharedInstance().clientID = "client id"

    return true

}

так что ниже строки кода

GGLContext.sharedInstance().configureWithError(&configureError)

Текст ошибки: "Использование неразрешенного идентификатора GGLContext". Что может быть здесь?

Ответ 1

Я нашел решение, вы можете использовать файл Bridge-Header.h и импортировать как это

#ifndef Bridge_header_h
#define Bridge_header_h

#import "Google/Core.h"
#import "GoogleSignIn.h"

#endif /* Bridge_header_h */

он отлично работает на моем конце.

Ответ 2

в Bridging-Header.h

import <GoogleSignIn/GoogleSignIn.h>

import <Google/Core.h>

в AppDelegate.swift

import Google

Ответ 3

Предварительный:

Меня уже несколько дней раздражало, что, когда я интегрировал Cocoapod Google/SignIn, я получал предупреждения Thread. После копания во всем, я, возможно, нашел решение. Вероятно, это будет только то, что стоит посмотреть, если в вашем проекте есть только один аспект google, который вы хотите в своем проекте. Если у вас есть Firebase или любая другая часть интегрированного Google, вы, вероятно, никогда не столкнетесь с проблемой, которая приведет вас к этой теме, хотя.

ОК,, немного поправив эту проблему, я нашел, что мое решение:

Только для импорта заголовка #import <GoogleSignIn/GoogleSignIn.h>

Только в приложении AppDelegate import GoogleSignIn

Только для импорта подфайлов pod 'GoogleSignIn'

В приложении AppDelegate didFinishLaunchingWithOptions делают следующее:

if let path = Bundle.main.path(forResource: "GoogleService-Info", ofType: "plist"),
    let googleInfo = NSDictionary(contentsOfFile: path),
    let clientId = googleInfo["CLIENT_ID"] as? String {
    GIDSignIn.sharedInstance().clientID = clientId
}
GIDSignIn.sharedInstance().delegate = self

и удалите:

var configureError: NSError?
GGLContext.sharedInstance().configureWithError(&configureError)
assert(configureError == nil, "Error configuring Google services: \(configureError!)")

С этой настройкой все работает отлично. Я получил эту идею, посмотрев ссылку ниже. Дайте мне знать, если это сработает для вас.

https://github.com/googlesamples/google-services/blob/master/ios/signin/SignInExampleSwift/AppDelegate.swift

Ответ 4

Вскоре у меня сработало нижеприведенное.

импортировать GoogleSignIn