Trang này cung cấp các mẹo và cách khắc phục sự cố đối với các vấn đề cụ thể về nền tảng Apple mà bạn có thể gặp phải khi sử dụng Firebase.
Bạn gặp phải những thách thức khác hoặc không thấy vấn đề của mình được nêu bên dưới? Hãy nhớ xem
Câu hỏi thường gặp chính về Firebase để biết thêm câu hỏi thường gặp về toàn bộ Firebase hoặc
câu hỏi thường gặp cụ thể về sản phẩm.
Bạn cũng có thể xem
kho lưu trữ GitHub của SDK Firebase cho nền tảng Apple
để biết danh sách cập nhật về các vấn đề đã báo cáo và cách khắc phục sự cố. Bạn cũng nên gửi các vấn đề liên quan đến SDK Firebase cho nền tảng Apple tại đó!
Ứng dụng của tôi nhắc người dùng nhập mật khẩu để truy cập vào các mục Keychain trên macOS. Làm cách nào để tôi khắc phục vấn đề này?
Nâng cấp phần phụ thuộc Firebase lên phiên bản 9.6.0 trở lên và thêm
[khả năng Chia sẻ Keychain](/docs/ios/troubleshooting-faq#macos-keychain-sharing)
vào mục tiêu của bạn.
Tại sao Firebase yêu cầu khả năng Chia sẻ Keychain trên macOS?
SDK Firebase sử dụng keychain để lưu trữ thông tin như mã cài đặt Firebase
dùng cho FCM. Nếu không có quyền truy cập vào Keychain, SDK Firebase có thể không
hoạt động đúng cách. Keychain trên macOS hoạt động khác với keychain theo kiểu iOS
được dùng trên các nền tảng khác (iOS, tvOS, macCatalyst,
và watchOS).
Trên macOS, các ứng dụng sử dụng một keychain dùng chung mà các ứng dụng và
quy trình khác có thể sửa đổi. Không giống như iOS, không có keychain được cách ly mà ứng dụng có
quyền truy cập ngầm. Vì vậy, khi một ứng dụng Mac tương tác với keychain, hệ thống
sẽ nhắc người dùng cấp quyền truy cập vì ứng dụng Mac có thể đang sửa đổi một mục keychain
mà ứng dụng đó không tạo. Để giải quyết sự khác biệt này, Firebase sẽ truy vấn
keychain bằng khoá kSecUseDataProtectionKeychain. Khoá này cho biết
ứng dụng sẽ truy vấn một mục keychain thuộc nhóm truy cập keychain
(đây là hành vi mặc định trên các nền tảng khác). Bạn phải có khả năng Chia sẻ Keychain
vì ứng dụng cần khả năng này để tổng hợp một nhóm quản lý quyền truy cập có thể được
chia sẻ giữa các mục tiêu của ứng dụng, nhờ đó cấp quyền cho ứng dụng tự do
truy cập vào các mục keychain trong nhóm quản lý quyền truy cập.
Để biết thêm thông tin, hãy xem
tài liệu về Keychain của Apple
.
Trong Xcode phiên bản 13 trở lên, tại sao ứng dụng UIKit của tôi không mở được một số
URL mà tôi đã đăng ký
trong Info.plist?
Apple đã giới thiệu giới hạn 50 LSApplicationQueriesSchemes
mục trong Info.plist tệp. Vào năm 2015, Apple đã giới thiệu
LSApplicationQueriesSchemes để giới hạn số lượng truy vấn URL
mà mỗi ứng dụng có thể thực hiện. Với việc phát hành Xcode 13, các giới hạn này được thực thi,
trong khi ở Xcode 12 trở về trước, không có giới hạn hiệu quả nào đối với số lượng
lược đồ.
Một số sản phẩm của Firebase, chẳng hạn như Firebase Authentication và Firebase Dynamic Links,
yêu cầu sử dụng các lược đồ URL tuỳ chỉnh để chuyển hướng đến ứng dụng của bạn. Các
URL này tuân theo một lược đồ URL ngắn gọn và nhất quán, không được tính
đáng kể vào giới hạn 50 mưu đồ liên kết.
Xin lưu ý rằng đối với các ứng dụng tiếp tục đăng ký hơn 50
LSApplicationQueriesSchemes, một số lược đồ sẽ
bị bỏ qua một cách âm thầm. Ứng dụng có thể không thực thi được một số đường liên kết sâu,
tuỳ thuộc vào thứ tự thêm các đường liên kết đó.
Tôi nên đưa những thông báo nguồn mở nào vào ứng dụng của mình?
Đối với các nền tảng Apple, SDK Firebase được phân phối theo giấy phép Apache 2.0.