На этой странице приведены советы и рекомендации по устранению неполадок, характерных для платформы Apple, с которыми вы можете столкнуться при использовании Firebase.
У вас есть другие проблемы или вы не видите свою проблему в списке ниже? Обязательно ознакомьтесь с основным разделом FAQ Firebase, чтобы узнать больше FAQ по Firebase или по конкретным продуктам.
Вы также можете проверить репозиторий Firebase Apple platforms SDK GitHub для актуального списка сообщенных проблем и устранения неполадок. Мы призываем вас также сообщать о своих собственных проблемах, связанных с Firebase Apple platforms SDK!
Какие версии Xcode поддерживает Firebase?
Firebase поддерживает до двух основных версий Xcode, не включая версии Xcode, которые Apple больше не поддерживает. Например, начиная с марта 2019 года, Apple требовала как минимум iOS 12 для всех приложений, что означало прекращение поддержки Xcode 9, а Xcode 10 была единственной поддерживаемой основной версией.
Изменения в поддержке определенных второстепенных или исправленных версий Xcode (например, с 9.2.0 по 9.4.1) определяются на основе потребностей Firebase Apple platforms SDK и опроса использования разработчиками. Эти изменения отражены в примечаниях к выпуску Firebase Apple platforms SDK и на странице настройки Firebase Apple platforms SDK .
Чтобы узнать минимальную версию Xcode, поддерживаемую SDK, проверьте требования, перечисленные в разделе Добавление Firebase в ваш проект Apple .
Поддержка Firebase для бета-релизов Xcode доступна на основе "максимальных усилий". Разработчики могут отслеживать и отправлять проблемы в репозитории Firebase Apple platforms SDK на GitHub .
Мое приложение запрашивает у пользователя пароль для доступа к элементам Keychain на macOS. Как это исправить?
Обновите зависимость Firebase до версии 9.6.0 или выше и добавьте [возможность общего доступа к связке ключей](/docs/ios/troubleshooting-faq#macos-keychain-sharing) к вашей цели.
Почему Firebase требует возможности общего доступа к связке ключей на macOS?
Firebase SDK используют keychain для хранения информации, например идентификатора установки Firebase, используемого для FCM. Без доступа к Keychain 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
, некоторые схемы будут молча игнорироваться. Приложение может не иметь возможности выполнять определенные deeplinks в зависимости от порядка, в котором они добавляются.
,
На этой странице приведены советы и рекомендации по устранению неполадок, характерных для платформы Apple, с которыми вы можете столкнуться при использовании Firebase.
У вас есть другие проблемы или вы не видите свою проблему в списке ниже? Обязательно ознакомьтесь с основным разделом FAQ Firebase, чтобы узнать больше FAQ по Firebase или по конкретным продуктам.
Вы также можете проверить репозиторий Firebase Apple platforms SDK GitHub для актуального списка сообщенных проблем и устранения неполадок. Мы призываем вас также сообщать о своих собственных проблемах, связанных с Firebase Apple platforms SDK!
Какие версии Xcode поддерживает Firebase?
Firebase поддерживает до двух основных версий Xcode, не включая версии Xcode, которые Apple больше не поддерживает. Например, начиная с марта 2019 года, Apple требовала как минимум iOS 12 для всех приложений, что означало прекращение поддержки Xcode 9, а Xcode 10 была единственной поддерживаемой основной версией.
Изменения в поддержке определенных второстепенных или исправленных версий Xcode (например, с 9.2.0 по 9.4.1) определяются на основе потребностей Firebase Apple platforms SDK и опроса использования разработчиками. Эти изменения отражены в примечаниях к выпуску Firebase Apple platforms SDK и на странице настройки Firebase Apple platforms SDK .
Чтобы узнать минимальную версию Xcode, поддерживаемую SDK, проверьте требования, перечисленные в разделе Добавление Firebase в ваш проект Apple .
Поддержка Firebase для бета-релизов Xcode доступна на основе "максимальных усилий". Разработчики могут отслеживать и отправлять проблемы в репозитории Firebase Apple platforms SDK на GitHub .
Мое приложение запрашивает у пользователя пароль для доступа к элементам Keychain на macOS. Как это исправить?
Обновите зависимость Firebase до версии 9.6.0 или выше и добавьте [возможность общего доступа к связке ключей](/docs/ios/troubleshooting-faq#macos-keychain-sharing) к вашей цели.
Почему Firebase требует возможности общего доступа к связке ключей на macOS?
Firebase SDK используют keychain для хранения информации, например идентификатора установки Firebase, используемого для FCM. Без доступа к Keychain 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
, некоторые схемы будут молча игнорироваться. Приложение может не иметь возможности выполнять определенные deeplinks в зависимости от порядка, в котором они добавляются.