2011-11-11 27 views
11

Tôi đang gặp sự cố khi tích hợp iCloud với ứng dụng của mình.NSUbiquitousKeyValueLỗi lỗi: không có quyền com.apple.developer.ubiquity-kvstore-identifier hợp lệ

Khi tôi đặt thử nghiệm ra iCloud tính sẵn sàng, tôi nhận được thành công cho các chức năng

NSURL *iCloudURL = [fileManager URLForUbiquityContainerIdentifier:@"AppID"]; 

nhưng ngay sau đó, khi tôi cố gắng để thực hiện:

NSUbiquitousKeyValueStore *iCloudStore = [NSUbiquitousKeyValueStore defaultStore]; 

tôi nhận được lỗi

NSUbiquitousKeyValueStore error: no valid com.apple.developer.ubiquity-kvstore-identifier entitlement. 

Bất kỳ ý tưởng nào về cách sửa lỗi này? Tệp App.Entitlements của tôi đang sử dụng tiền tố macro'd mặc định, không có gì thay đổi từ tệp được tạo tự động. iCloud chắc chắn được bật trên AppID trong iTunes Connect.

Cảm ơn.

+0

Làm thế nào thời gian gần đây đã tạo ra bạn/tải/cài đặt hồ sơ dự phòng phát triển của bạn? Khi bạn kiểm tra cài đặt "iCloud Enabled" trong trang web dev, bạn phải tạo lại hồ sơ của mình. Ngoài ra, tệp Entitlements.plist của bạn chứa những gì? –

+0

Tôi vừa tạo một hồ sơ cấp phép mới và thiết lập nó ngay trước khi tôi đăng bài này, vì vậy tôi chắc chắn không sử dụng hồ sơ cấp phép đã lỗi thời. Entitlements.plist của tôi dường như bị thiếu, tôi sẽ xem xét điều đó và xem liệu nó có khắc phục được gì không. Cảm ơn. –

+4

Nó thực sự đơn giản như việc thêm một tệp Entitlements.plist, đảm bảo rằng nó có thể nhập có thể được gỡ lỗi - NO, và bây giờ tất cả đều hoạt động như ma thuật gypsy! Cảm ơn bạn tốt. –

Trả lời

16

Tôi đã có cùng một vấn đề mặc dù tất cả các mã, cài đặt, quyền lợi của tôi, v.v. là chính xác. Tôi đã sửa nó bằng cách xóa ứng dụng vật lý khỏi iPhone của tôi, sau đó xây dựng trong Xcode và chạy nó trên iPhone của tôi và nó hoạt động. Chỉ muốn thêm rằng trong trường hợp các giải pháp khác không làm việc cho người khác ngoài kia.

3

tôi đã làm theo để có được điều này để làm việc cho tôi (Xcode 4.2.1):

  1. Trong Xcode, đi đến mục tiêu của bạn> Tóm tắt> ở phía dưới, bấm Enable quyền lợi.
  2. Trong Cổng cấp phép iOS, chuyển đến ID ứng dụng và bật hỗ trợ iCloud. (Bạn có thể không phải làm điều này, nhưng nó làm việc cho tôi.)
  3. Chỉnh sửa Hồ sơ Cấp phép của bạn để buộc nó cập nhật; sau đó tải xuống hồ sơ này và mở nó để nó tự động khởi chạy trong Xcode.
  4. Làm sạch và tạo ứng dụng cho thiết bị của bạn.
+1

Trong XCode 6, nó đơn giản hơn một chút: vào Target> Capabilities> iCloud và bật nó lên. Xcode nên chăm sóc phần còn lại. – Nick

2

Tôi đã gặp sự cố này khi cố gắng gỡ lỗi ứng dụng Mac (không phải iOS). Vấn đề hóa ra là tôi đã không ký hợp đồng xây dựng gỡ lỗi và không có giai đoạn triển khai của dự án với "Bỏ qua Cài đặt" được đặt thành "Có".

Dường như, iCloud sẽ không hoạt động đúng với ứng dụng chưa được ký.

5

Cảnh báo lớn: nếu thiết bị của bạn bị bẻ khóa, hãy đảm bảo bạn đã gỡ cài đặt AppSync. Tôi đã có hai ngày điên rồ vì điều đó. iCloud (và Trung tâm trò chơi) sẽ không hoạt động trên thiết bị có AppSync được cài đặt ngay cả với các quyền và hồ sơ chính xác!

+1

Tôi gặp sự cố với tính năng Mua trong ứng dụng, lời khuyên của bạn đã lưu tôi. Cảm ơn rất nhiều. Bây giờ tôi nhận được một danh sách sản phẩm không có sản phẩm nào! – florian

1

Thêm com.apple.developer.ubiquity-kvstore-identifier trong quyền lợi của bạn với các giá trị sau:

$(TeamIdentifierPrefix)$(CFBundleIdentifier) 
Các vấn đề liên quan