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)
Как исправить эту проблему?
Любые идеи?
Спасибо
Ответы
Ответ 1
У меня была такая же проблема. Но моя проблема заключалась в том, что я не включил фреймворк SafariServices.
Я добавил его по мере необходимости, и он работал нормально.
Убедитесь, что у вас есть следующая конфигурация:
- Отключено BITE_CODE
- Добавлены все необходимые фреймворки
- Флаг компоновщика -ObjC (не -Objc)
- Добавлены необходимые типы URL
- Импортирован GoogleSignIn.h
- GoogleServices-Info.plist импортирован в вашу цель
В моей конфигурации я использую 7.0 в качестве цели развертывания
Надеюсь, это поможет.
Отношения
Ответ 2
Поскольку структура SafariServices доступна только на iOS9 и выше, возможно ли, что вы пытаетесь запустить ее на устройстве с iOS ниже этого? Если да, возможно ли, что при добавлении фреймворка вы добавили его по мере необходимости (что делает невозможным запуск приложения в более старых версиях iOS)? Попробуйте установить его как необязательный (прикрепляя изображение, чтобы лучше объяснить, что я имею в виду).
![введите описание изображения здесь]()