Google регистрирует SDK в ios, сообщая об ошибке компоновщика - PullRequest
0 голосов
/ 27 марта 2020

Я пытаюсь включить Google Sign In в свое приложение.

Я скачал Signin SDK, и пример приложения в нем создается и работает правильно.

Я пытался получить SDK работает, и теперь он настроен точно так же, как в примере приложения.

Однако я получаю следующие ошибки:

Неопределенные символы для архитектуры arm64: "_OBJC_CLASS _ $ _ GSDK_GTMSessionFetcher", по ссылке из: obj c -class-ref в GoogleSignIn (GIDSignIn.o) obj c -class-ref в GoogleSignIn (GIDRuntimeConfigFetcher.o) "_OBJC_CLASS _ $ _ GSDK_GTMOAuth2Keychain", на который ссылается: obj cSign-in-class .o) "_OBJC_CLASS _ $ _ GSDK_GTMOAuth2SignIn", на который ссылаются из: obj c -class-ref в GoogleSignIn (GIDAuthentication.o) obj c -класс-ссылка в GoogleSignIn (GIDSignIn.o) "_OBJC_Clend_Or : obj c -class-ref в GoogleSignIn (GIDSignIn.o) "_OBJC_CLASS _ $ _ GSDK_GTMOAuth2ViewControllerTouch", на который ссылается: obj c -class-ref в Go ogleSignIn (GIDSignIn.o) "_OBJC_CLASS _ $ _ GSDK_GTMSessionFetcherService", на который ссылается из: obj c -class-ref в GoogleSignIn (GIDSignIn.o) "_GSDK_NSClassFromString", на который ссылаются в GignSign in InSigning из Google в Google .o) "_OBJC_CLASS _ $ _ GSDK_GTMOAuth2Authentication", на которую ссылается: obj c -class-ref в GoogleSignIn (GIDAuthentication.o) obj c -class-ref в GoogleSignIn (GIDSignIn.o) ld: символы не найдены для архитектуры arm64 clang: ошибка: команда компоновщика завершилась неудачно с кодом выхода 1 (используйте -v для просмотра вызова)

Поэтому я удалил GoogleSignInDependencies.framework из примера приложения, чтобы увидеть различия, и я получаю следующие ошибки:

Неопределенные символы для архитектуры x86_64: «_OBJC_CLASS _ $ _ GTMOAuth2KeychainCompatibility», ссылка на которую содержится в: obj c -class-ref в GoogleSignIn (GIDAuthStateMigration_bdf842e92d17b12b5f020 _ _0_0_0 0 0 0 0 0 0 0 0 0 0 0 0 0 0) 0B: 0B0: 0B: 0B0) 0 Ссылка на класс в GoogleSignIn (GID SignIn_f05654be6d1b2af59ab6df426a0c4eb9.o) "_OBJC_CLASS _ $ _ OIDServiceConfiguration", ссылки из: OBJ c -class-реф в GoogleSignIn (GIDSignIn_f05654be6d1b2af59ab6df426a0c4eb9.o) "_OIDResponseTypeCode", ссылки из: - [GIDSignIn authenticateInteractivelyWithOptions:] в GoogleSignIn (GIDSignIn_f05654be6d1b2af59ab6df426a0c4eb9.o) «_OBJC_CLASS_ $ _OIDAuthorizationService ", на который ссылаются из: obj c -class-ref в GoogleSignIn (GIDAuthentication_7b83cc27af8929ec7e4c9760d73a0f31.o) obj c -class-ref в GoogleSignIn (GIDSignIn_f05654be_jpg_jpg) -класс-исх в GoogleSignIn (GIDSignIn_f05654be6d1b2af59ab6df426a0c4eb9.o) "_OBJC_CLASS _ $ _ OIDAuthorizationRequest", ссылки из: OBJ c -class-реф в GoogleSignIn (GIDSignIn_f05654be6d1b2af59ab6df426a0c4eb9.o) "_OBJC_CLASS _ $ _ GTMAppAuthFetcherAuthorization", ссылки из: _OBJC_CLASS _ $ _ GTMAppAuthFetcherAuthorizationWithEMMSupport в GoogleSignIn ( GIDAuthentication_7 b83cc27af8929ec7e4c9760d73a0f31.o) OBJ c -класс-ссылки в GoogleSignIn (GIDAuthentication_7b83cc27af8929ec7e4c9760d73a0f31.o) OBJ * * -класс тысяча тридцать шесть-ссылок в GoogleSignIn (GIDSignIn_f05654be6d1b2af59ab6df426a0c4eb9.o) OBJ * * -класс тысяча тридцать-семь-ссылки в GoogleSignIn (GIDAuthStateMigration_bdf842e92d17b12b5f020e0e721bd017.o) ( может быть, вы имели в виду: _OBJC_CLASS _ $ _ GTMAppAuthFetcherAuthorizationWithEMMSupport, _OBJC_CLASS _ $ _ GTMAppAuthFetcherAuthorizationEMMChainedDelegate) "_OIDOAuthTokenErrorDomain", ссылка от: ___ 46- [GIDAuthentication refreshTokensWithHandler:] _ block_invoke в GoogleSignIn (GIDAuthentication_7b83cc27af8929ec7e4c9760d73a0f31.o) "_OBJC_CLASS _ $ _ OIDIDToken", ссылки из: OBJ c -class- ref в GoogleSignIn (GIDGoogleUser_2bdd4a676c033bc6ca21970e75d9159 c .o) OBJ c -класс-исх в GoogleSignIn (GIDAuthentication_7b83cc27af8929ec7e4c9760d73a0f31.o) OBJ c -класс-исх в GoogleSignIn (GIDSignIn_f05654be6d1b2af59ab6df426a0c4eb9.o) "_OBJC_METACLASS _ $ _ GTMAppAuthFetcherAuthorization", ссылки из: _OBJC_METACLASS _ $ _ GTMAppAuthFetcherAuthorizationWithEMMSupport в GoogleSignIn (GIDAuthentication_7b83cc27af8929ec7e4c9760d73a0f31.o) ( может быть, вы имели в виду: _OBJC_METACLASS _ $ _ GTMAppAuthFetcherAuthorizationEMMChainedDelegate, _OBJC_METACLASS _ $ _ GTMAppAuthFetcherAuthorizationWithEMMSupport) "_OIDOAuthErrorResponseErrorKey", ссылки из: + [GIDAuthentication handleTokenFetchEMMError: завершение:] в GoogleSignIn (GIDAuthentication_7b83cc27af8929ec7e4c9760d73a0f31.o) "_OBJC_CLASS _ $ _ GTMKeychain", ссылки из: OBJ c -class- ref в GoogleSignIn (GIDAuthStateMigration_bdf842e92d17b12b5f020e0e721bd017.o) «_OBJC_CLASS _ $ _ OIDAuthState», на который ссылается: в GoogleSignIn (GIDSignIn_f05654be6d1b2af59ab6df426a0c4eb9.o) ld: символ (-ы) не найден для архитектуры x86_64 clang: error: сбой команды компоновщика с кодом выхода 1 (используйте -v для просмотра вызова)

Похоже, что мое различие В приложении используются разные символы, например, те, в которых есть GSDK. Может кто-нибудь сказать мне, что это такое, и как я могу контролировать эту разницу?

Большое спасибо, Пол

1 Ответ

0 голосов
/ 27 марта 2020

Эта ошибка была решена, убедившись, что в заданной папке находятся правильные рамки и что проект фактически использует их. Путь поиска фреймворка выбирал устаревшую фреймворк. С этим убрано все заработало.

...