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