Sớm trong dự án này, tôi đã xảy ra lỗi khi không có tiền tố com
trong số nhận dạng gói. Bây giờ tôi đã sẵn sàng để kiểm tra chuyến bay và tôi có một mã định danh gói không hợp lệ.Thay đổi ID gói cho Firebase
Hiện tại, số nhận dạng theo gói của tôi là mycompany.myProject
nhưng tôi muốn nó là com.mycompany.myproject
. Tôi không gặp sự cố khi chuyển sang id gói mong muốn để lưu trữ ứng dụng và tải lên cửa hàng ứng dụng.
Các bước tôi mất để chuyển đổi các ứng dụng để nhận dạng theo gói thích hợp:
- Tạo ứng dụng mới trong giao diện điều khiển căn cứ hỏa lực với đúng bó ID.
- Tải xuống Google-Info.plist của ứng dụng mới này và đặt trong dự án gốc và kéo vào dự án Xcode.
- Change bó định danh trên Facebook
- Change bó định trong cài đặt dự án
Tuy nhiên, các ứng dụng bị treo chết người với lỗi này.
*** Terminating app due to uncaught exception 'InvalidPathValidation', reason: '(child:) Must be a non-empty string and not contain '.' '#' '$' '[' or ']''
Các điểm mà tại đó lỗi này phát sinh là khi một phương pháp căn cứ hỏa lực được gọi là
- (NSString *) getUid {
return [FIRAuth auth].currentUser.uid;
}
Phương pháp này trả về nil
mà nguồn cấp dữ liệu là một phương pháp để lấy dữ liệu từ căn cứ hỏa lực. Phương thức trả về nil
của phương thức này gây ra lỗi InvalidPathValidation
.
Tôi đang xác thực với Facebook. Tôi nghĩ có lẽ lý do là trả lại nil
là ứng dụng không biết ai đã đăng nhập, vì tôi chưa bao giờ được nhắc đăng nhập (ứng dụng của tôi sẽ kiểm tra xem bạn đã đăng nhập qua Facebook trong viewWillAppear
trên ViewController mở) chưa. Tuy nhiên, điều này không có ý nghĩa bởi vì thay đổi duy nhất tôi thực hiện đã thay đổi ID gói. Tôi đã bị mắc kẹt về vấn đề này trong gần một tuần.
Tôi đặc biệt tự hỏi mình cần phải thay đổi gì để Firebase chấp nhận thay đổi số nhận dạng gói.
Bạn có xóa GoogleService-Info.plist cũ không? Chỉ muốn chắc chắn rằng không có hai trong đó, và nó nhận được một sai lầm. –
Tôi đã thay thế GoogleService-Info.plist cũ bằng phiên bản cập nhật. Chỉ có một tập tin trong thư mục gốc của tôi. –