На этой странице приведены советы и способы устранения неполадок, связанных с платформой Apple, с которыми вы можете столкнуться при использовании Firebase.
Если у вас возникли другие проблемы или вы не нашли нужную информацию ниже, Ознакомьтесь с основным разделом часто задаваемых вопросов о Firebase, чтобы найти ответы на вопросы, связанные с Firebase в целом или с отдельными продуктами.
Вы также можете ознакомиться с репозиторием Firebase SDK для платформ Apple на GitHub, чтобы посмотреть актуальный список зарегистрированных проблем и способы их устранения. Вы также можете сообщать там о проблемах, связанных с Firebase SDK для платформ Apple.
Какие версии Xcode поддерживает Firebase?
Firebase поддерживает до двух основных версий Xcode, не считая версий Xcode, которые больше не поддерживаются Apple. Например, с марта 2019 года Apple требует, чтобы все приложения поддерживали iOS 12. Это означает, что поддержка Xcode 9 была прекращена и Xcode 10 стала единственной поддерживаемой основной версией.
Изменения в поддержке конкретных минорных версий или версий с исправлениями Xcode (например, с 9.2.0 по 9.4.1) определяются на основе потребностей SDK Firebase для платформ Apple и опроса разработчиков. Эти изменения отражены в примечаниях к выпуску Firebase SDK для платформ Apple и на странице настройки Firebase SDK для платформ Apple.
Чтобы узнать, какая минимальная версия Xcode поддерживается SDK, ознакомьтесь с требованиями в статье Как добавить Firebase в проект для Apple.
Поддержка бета-версий Xcode в Firebase предоставляется по мере возможности. Разработчики могут отслеживать и отправлять проблемы в хранилище Firebase SDK для платформ Apple на GitHub.
Мое приложение запрашивает у пользователя пароль для доступа к объектам Связки ключей в macOS. Как это исправить?
Обновите зависимость Firebase до версии 9.6.0 или выше и добавьте в целевой объект [возможность Keychain Sharing](/docs/ios/troubleshooting-faq#macos-keychain-sharing).
Зачем Firebase требуется доступ к Связке ключей в macOS?
Firebase SDK использует связку ключей для хранения информации, например идентификатора установки Firebase, который используется для FCM. Без доступа к Keychain SDK Firebase могут работать некорректно. Связка ключей macOS работает иначе, чем связка ключей iOS, которая используется на других платформах (iOS, tvOS, macCatalyst и watchOS).
В macOS приложения используют общую связку ключей, которую могут изменять другие приложения и процессы. В отличие от iOS, здесь нет изолированной связки ключей, к которой у приложения есть неявный доступ. Поэтому, когда приложение для Mac взаимодействует со связкой ключей, система запрашивает у пользователя разрешение на доступ, поскольку приложение может изменить объект связки ключей, который оно не создавало. Чтобы устранить это несоответствие, Firebase запрашивает у связки ключей ключ kSecUseDataProtectionKeychain, который сообщает приложению, что нужно запросить элемент связки ключей, являющийся частью группы доступа к связке ключей (это режим работы по умолчанию на других платформах). Функция Keychain Sharing необходима, поскольку приложению требуется синтезировать группу доступа, которая может использоваться совместно с его целями, что дает приложению разрешение на свободный доступ к элементам связки ключей в группе доступа.
Дополнительную информацию можно найти в
документации Apple по Связке ключей
.
Почему в Xcode 13 и более поздних версиях мои приложения UIKit не могут открывать некоторые URL, зарегистрированные
в файле Info.plist?
Компания Apple ограничила количество записей LSApplicationQueriesSchemes в файлах Info.plist до 50. В 2015 году компания Apple представила LSApplicationQueriesSchemes, чтобы ограничить количество URL-запросов, которые может отправлять каждое приложение. В Xcode 13 эти ограничения применяются, а в Xcode 12 и более ранних версиях ограничений на количество схем не было.
Некоторые продукты Firebase, например Firebase Authentication и Firebase Dynamic Links, требуют использования специальных схем URL для перенаправления в приложение. Эти URL соответствуют краткой и согласованной схеме URL, которая не должна существенно влиять на ограничение в 50 схем ссылок.
Обратите внимание, что если приложение продолжит регистрировать более 50 схем LSApplicationQueriesSchemes, некоторые из них будут игнорироваться без уведомления. Приложение может не выполнять некоторые ссылки на контент в зависимости от порядка, в котором они добавлены.
Какие уведомления о ПО с открытым исходным кодом нужно добавить в приложение?
Для платформ Apple Firebase SDK распространяется по лицензии Apache 2.0.