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