Trang này cung cấp các mẹo và cách khắc phục sự cố dành riêng cho các nền tảng của Apple
mà bạn có thể gặp phải khi sử dụng Firebase.
Bạn có gặp khó khăn khác hoặc không thấy vấn đề của mình được nêu dưới đây? Hãy nhớ kiểm tra
xem Câu hỏi thường gặp chính về Firebase để biết thêm về pan-Firebase hoặc
Câu hỏi thường gặp theo sản phẩm cụ thể.
Bạn cũng có thể xem
Kho lưu trữ SDK GitHub cho các nền tảng Apple của Firebase
để xem danh sách cập nhật các vấn đề được báo cáo và cách khắc phục. Chúng tôi khuyến khích bạn
bạn cũng có thể gửi các vấn đề liên quan đến SDK nền tảng Apple của Firebase tại đó!
Firebase hỗ trợ những phiên bản Xcode nào?
Firebase hỗ trợ tối đa hai phiên bản chính của Xcode, không bao gồm các phiên bản
của Xcode mà Apple không còn hỗ trợ nữa. Ví dụ: bắt đầu từ tháng 3 năm 2019,
Apple đã yêu cầu ít nhất iOS 12 trên tất cả ứng dụng, nghĩa là khả năng hỗ trợ Xcode 9
bị bỏ và Xcode 10 là phiên bản lớn duy nhất được hỗ trợ.
Những thay đổi đối với khả năng hỗ trợ cho các phiên bản nhỏ hoặc bản vá của Xcode
(ví dụ: 9.2.0 đến 9.4.1) được xác định dựa trên nhu cầu của
SDK nền tảng Apple của Firebase và bản khảo sát về mức sử dụng của nhà phát triển. Những thay đổi này
được phản ánh trong
Ghi chú phát hành SDK cho nền tảng Apple của Firebase
và trên trang thiết lập SDK cho nền tảng Apple của Firebase.
Để xem phiên bản Xcode tối thiểu mà SDK hỗ trợ, hãy kiểm tra
các yêu cầu được nêu trong
Thêm Firebase vào dự án Apple của bạn.
Dịch vụ hỗ trợ của Firebase cho các bản phát hành Beta của Xcode hiện có sẵn trên "nỗ lực tối đa"
cơ sở. Nhà phát triển có thể theo dõi và gửi thông tin vấn đề trong
Kho lưu trữ SDK nền tảng Apple của Firebase trên GitHub.
Ứ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
[Tính năng Chia sẻ chuỗi khoá](/docs/ios/troubleshooting-faq#macos-keychain-sharing)
với mục tiêu của bạn.
Tại sao Firebase yêu cầu tính năng Chia sẻ chuỗi khoá trên macOS?
SDK Firebase sử dụng chuỗi khoá để lưu trữ thông tin như Firebase
mã cài đặt dùng cho FCM. Nếu không có quyền truy cập vào Chuỗi khoá, Firebase SDK có thể không hoạt động
hoạt động chính xác. Chuỗi khoá của macOS hoạt động khác với kiểu iOS
chuỗi khoá được sử 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 chuỗi khoá dùng chung. Các ứng dụng khác có thể sửa đổi chuỗi khoá này và
các quy trình. Không giống như iOS, ứng dụng không có chuỗi khoá dạng hộp cát
quyền truy cập ngầm ẩn. Vì vậy, khi một ứng dụng Mac tương tác với chuỗi khoá, hệ thống
nhắc người dùng truy cập vì ứng dụng Mac có thể đang sửa đổi một mục trong chuỗi khoá
mà hệ thống không tạo ra. Để giải quyết sự khác biệt này, Firebase sẽ truy vấn
chuỗi khoá với khoá kSecUseDataProtectionKeychain
. Mã này cho biết
ứng dụng để truy vấn một mục chuỗi khoá thuộc nhóm truy cập chuỗi khoá
(đây là hành vi mặc định trên các nền tảng khác). Tính năng Chia sẻ chuỗi khoá
là bắt buộc vì ứng dụng cần nó để tổng hợp một nhóm truy cập có thể
được chia sẻ giữa các mục tiêu của ứng dụng, từ đó cấp quyền cho ứng dụng tự do
truy cập vào các mục chuỗi khoá trong nhóm truy cập.
Để biết thêm thông tin, hãy xem
Tài liệu về chuỗi khoá
Trong các phiên bản Xcode 13 trở lên, tại sao các ứng dụng UIKit của tôi không thể mở một số
URL mà tôi đã đăng ký
trong tệp Info.plist của tôi?
Apple đã đưa ra giới hạn là 50 LSApplicationQueriesSchemes
mục nhập 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à từng ứng dụng có thể tạo ra. 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
khá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 bạn sử dụng giao thức URL tuỳ chỉnh để chuyển hướng đến ứng dụng của bạn. Các
URL tuân theo 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 lược đồ 50 đường 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ố giao thức sẽ
bị ngầm bỏ qua. Có thể ứng dụng không thực thi được một số đường liên kết sâu nhất định,
tuỳ thuộc vào thứ tự thêm vào.