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