Подтвердить что ты не робот

Undefined символы для архитектуры arm64 "_OBJC_CLASS _ $_ SFSafariViewController"

Я пытаюсь интегрировать Google в приложение iOS. Я следил за инструкциями, упомянутыми Google.

Я добавил SafariService.framework.

Тем не менее я получаю эту ошибку:

    Undefined symbols for architecture arm64:
  "_OBJC_CLASS_$_SFSafariViewController", referenced from:
      objc-class-ref in GoogleSignIn(GIDSignIn.o)

Как исправить эту проблему?

Любые идеи?

Спасибо

4b9b3361

Ответ 1

У меня была такая же проблема. Но моя проблема заключалась в том, что я не включил фреймворк SafariServices.

Я добавил его по мере необходимости, и он работал нормально.

Убедитесь, что у вас есть следующая конфигурация:

  • Отключено BITE_CODE
  • Добавлены все необходимые фреймворки
  • Флаг компоновщика -ObjC (не -Objc)
  • Добавлены необходимые типы URL
  • Импортирован GoogleSignIn.h
  • GoogleServices-Info.plist импортирован в вашу цель

В моей конфигурации я использую 7.0 в качестве цели развертывания

Надеюсь, это поможет. Отношения

Ответ 2

Поскольку структура SafariServices доступна только на iOS9 и выше, возможно ли, что вы пытаетесь запустить ее на устройстве с iOS ниже этого? Если да, возможно ли, что при добавлении фреймворка вы добавили его по мере необходимости (что делает невозможным запуск приложения в более старых версиях iOS)? Попробуйте установить его как необязательный (прикрепляя изображение, чтобы лучше объяснить, что я имею в виду).

введите описание изображения здесь