На этой странице приведены советы и способы устранения неполадок, связанных с платформой 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 Apple platforms SDK на GitHub.
Мое приложение запрашивает у пользователя пароль для доступа к элементам Связки ключей в macOS. Как это исправить?
Обновите зависимость Firebase до версии 9.6.0 или выше и добавьте в целевой объект [возможность Keychain Sharing](/docs/ios/troubleshooting-faq#macos-keychain-sharing).
Зачем Firebase требуется доступ к Связке ключей в macOS?
Firebase SDK использует связку ключей для хранения информации, например идентификатора установки Firebase, который используется для FCM. Без доступа к Связке ключей Firebase SDK могут работать некорректно. Связка ключей macOS работает иначе, чем связка ключей iOS, которая используется на других платформах (iOS, tvOS, macCatalyst и watchOS).
В macOS приложения используют общую связку ключей, которую могут изменять другие приложения и процессы. В отличие от iOS, в Android нет изолированной связки ключей, к которой у приложения есть неявный доступ. Поэтому, когда приложение для 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.