Trang này cung cấp các mẹo và cách khắc phục sự cố đối với những vấn đề dành riêng cho 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ớ tham khảo Câu hỏi thường gặp chính về Firebase để biết thêm các câu hỏi thường gặp về Firebase hoặc
câu hỏi thường gặp dành riêng cho sản phẩm.
Bạn cũng có thể tham khảo
kho lưu trữ GitHub của SDK nền tảng Apple của Firebase
để xem 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 nền tảng Apple của Firebase 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 chữa lỗi 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 macOS hoạt động khác với keychain 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 có thể bị các ứng dụng và
quy trình khác sửa đổi. Không giống như iOS, không có keychain hộp cát mà ứng dụng có quyền truy cập ngầm định. 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, cho biết
ứng dụng sẽ truy vấn một mục keychain thuộc nhóm quản lý quyền 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. 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ả về 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ể so với giới hạn 50 mưu đồ liên kết.
Xin lưu ý rằng đối với những ứ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.