Firebase는 Apple에서 더 이상 지원하지 않는 버전의 Xcode를 제외하고 주요 Xcode 버전을 최대 2개 지원하고 있습니다. 예를 들어 2019년 3월부터 Apple에서는 모든 앱에 iOS 12 이상을 요구하므로 그에 따라 Xcode 9 지원이 중단되고 Xcode 10이 유일하게 지원되는 주 버전이 되었습니다.
앱에서 macOS의 키체인 항목에 액세스하려면 비밀번호를 입력하라는 메시지를 사용자에게 표시합니다. 어떻게 해결해야 하나요?
Firebase 종속 항목을 버전 9.6.0 이상으로 업그레이드하고 [키체인 공유 기능](/docs/ios/troubleshooter-faq#macos-keychain-sharing)을 대상에 추가합니다.
Firebase에 macOS의 키체인 공유 기능이 필요한 이유는 무엇인가요?
Firebase SDK는 키체인을 사용하여 FCM에 사용되는 Firebase 설치 ID와 같은 정보를 저장합니다. 키체인 액세스가 없으면 Firebase SDK가 올바르게 작동하지 않을 수 있습니다. macOS 키체인은 다른 플랫폼(iOS, tvOS, macCatalyst, watchOS)에서 사용되는 iOS 스타일 키체인과 다르게 동작합니다.
macOS에서는 앱이 다른 앱과 프로세스에서 수정될 수 있는 공유 키체인을 사용합니다. iOS와 달리 앱에서 암시적으로 액세스할 수 있는 샌드박스형 키체인은 없습니다. 따라서 Mac 앱이 키체인과 상호작용할 때 Mac 앱이 만들지 않은 키체인 항목을 수정하고 있을 수 있으므로 시스템에서 사용자에게 액세스하라는 메시지를 표시합니다. 이 불일치를 해결하기 위해 Firebase는 kSecUseDataProtectionKeychain 키를 사용하여 키체인을 쿼리합니다. 이 키는 키체인 액세스 그룹에 속하는 키체인 항목을 쿼리하도록 앱에 지시합니다(이는 다른 플랫폼의 기본 동작임). 키체인 공유 기능이 필요한 이유는 앱이 대상 간에 공유될 수 있는 액세스 그룹을 합성하여 액세스 그룹의 키체인 항목에 자유롭게 액세스할 수 있도록 앱에 대한 권한을 부여하기 때문입니다.
Xcode 버전 13 이상에서 UIKit 앱이 Info.plist에 등록된 일부 URL을 열 수 없는 이유는 무엇인가요?
Apple이 Info.plist 파일의 LSApplicationQueriesSchemes 항목을 50개로 제한했습니다. 2015년에 Apple은 각 앱에서 가능한 URL 쿼리 수를 제한하는 LSApplicationQueriesSchemes를 도입했습니다. Xcode 13 출시에서 이러한 제한이 적용되었지만 Xcode 12 및 이전 버전에는 스킴 수에 적용된 제한이 없었습니다.
Firebase Authentication 및 Firebase Dynamic Links와 같은 일부 Firebase 제품은 커스텀 URL 스킴을 사용해야 애플리케이션으로 리디렉션될 수 있습니다. 이러한 URL은 링크 스킴 제한 50개에 크게 포함되지 않는 간결하고 일관된 URL 스킴을 준수합니다.
LSApplicationQueriesSchemes를 여전히 50개 넘게 등록하는 앱의 경우 일부 스킴이 자동으로 무시됩니다. 추가된 순서에 따라 앱이 특정 딥 링크를 실행하지 못할 수도 있습니다.
[[["이해하기 쉬움","easyToUnderstand","thumb-up"],["문제가 해결됨","solvedMyProblem","thumb-up"],["기타","otherUp","thumb-up"]],[["필요한 정보가 없음","missingTheInformationINeed","thumb-down"],["너무 복잡함/단계 수가 너무 많음","tooComplicatedTooManySteps","thumb-down"],["오래됨","outOfDate","thumb-down"],["번역 문제","translationIssue","thumb-down"],["샘플/코드 문제","samplesCodeIssue","thumb-down"],["기타","otherDown","thumb-down"]],["최종 업데이트: 2025-09-04(UTC)"],[],[],null,["\u003cbr /\u003e\n\nThis page offers tips and troubleshooting for Apple platform-specific issues\nthat you might encounter when using Firebase.\n\nHave other challenges or don't see your issue outlined below? Make sure to check\nout the [main Firebase FAQ](/support/faq) for more pan-Firebase or\nproduct-specific FAQ.\n\nYou can also check out the\n[Firebase Apple platforms SDK GitHub repo](https://github.com/firebase/firebase-ios-sdk/issues)\nfor an up-to-date list of reported issues and troubleshooting. We encourage you\nto file your own Firebase Apple platforms SDK related issues there, too! \n\nWhat versions of Xcode does Firebase support?\n\nFirebase supports up to two major versions of Xcode, not including versions\nof Xcode that Apple no longer supports. For example, starting in March 2019,\nApple required at least iOS 12 on all apps, meaning Xcode 9 support was\ndropped and Xcode 10 was the only major version supported.\n\nChanges to support for specific minor or patch versions of Xcode\n(for example, 9.2.0 to 9.4.1) are determined based on the needs of the\nFirebase Apple platforms SDK and a survey of developer usage. These changes\nare reflected in the\n[Firebase Apple platforms SDK release notes](/support/release-notes/ios)\nand on the [Firebase Apple platforms SDK setup page](/docs/ios/setup).\n\nTo see the minimum Xcode version supported by the SDK, check\nthe requirements listed in\n[Add Firebase to your Apple project](/docs/ios/setup).\n\nFirebase support for Beta releases of Xcode is available on a \"best effort\"\nbasis. Developers can track and submit issues in the\n[Firebase Apple platforms SDK repository on GitHub](//github.com/firebase/firebase-ios-sdk/issues). \n\nMy app prompts the user for their password to access Keychain items on macOS. How do I fix this?\n\nUpgrade your Firebase dependency to version 9.6.0 or higher and add the\n\\[Keychain Sharing capability\\](/docs/ios/troubleshooting-faq#macos-keychain-sharing)\nto your target. \n\nWhy does Firebase require the Keychain Sharing capability on macOS?\n\nFirebase SDKs use keychain to store information like the Firebase\ninstallation ID used for FCM. Without Keychain access, Firebase SDKs may not\nfunction correctly. The macOS keychain behaves differently than the iOS-style\nkeychain that is used on other platforms (iOS, tvOS, macCatalyst,\nand watchOS).\n\nOn macOS, apps use a shared keychain that may be modified by other apps and\nprocesses. Unlike iOS, there is no sandboxed keychain that the app has\nimplicit access to. So, when a Mac app interacts with the keychain, the system\nprompts the user for access since the Mac app may be modifying a keychain item\nthat it did not create. To address this discrepancy, Firebase queries the\nkeychain with the `kSecUseDataProtectionKeychain` key, which tells\nthe app to query a keychain item that is part of a keychain access group\n(this is default behavior on other platforms). The Keychain Sharing capability\nis required because the app needs it to synthesize an access group that can be\nshared amongst its targets, thus giving permission for the app to freely\naccess keychain items in the access group.\n\nFor more information, see Apple's\n[Keychain documentation](https://developer.apple.com/documentation/security/keychain_services/keychains). \n\nIn Xcode versions 13 and later, why can my UIKit apps not open some\nURLs I've registered\nin my Info.plist?\n\nApple introduced a limit of 50 `LSApplicationQueriesSchemes`\nentries in `Info.plist` files. In 2015, Apple introduced\n`LSApplicationQueriesSchemes` to limit the number of URL queries\neach app could make. With the release of Xcode 13, these limits are enforced,\nwhile in Xcode 12 and earlier there was no effective limit to the number of\nschemes.\n\nSome Firebase products, like Firebase Authentication and Firebase Dynamic Links,\nrequire the use of custom URL schemes to redirect to your application. These\nURLs conform to a concise and consistent URL scheme that should not count\nsignificantly against the 50 link scheme limit.\n\nNote that for apps that continue to register more than 50\n`LSApplicationQueriesSchemes`, some schemes will\nbe silently ignored. The app may be unable to execute certain deeplinks,\ndepending on the order in which they are added."]]