2015-11-02 16 views
9

Mam bezpłatną i płatną wersję mojej aplikacji w sklepie z aplikacjami. Aktualizuję aplikację, aby udostępniać niektóre publiczne dane przy użyciu CloudKit. Chciałbym, aby zarówno bezpłatne, jak i płatne aplikacje udostępniały te same dane.Czy możesz udostępniać dane w usłudze CloudKit między różnymi aplikacjami?

Po pierwsze, czy dwie aplikacje mogą udostępniać te same dane w usłudze CloudKit?

Jeśli tak, jak mogę to uruchomić? Próbowałem włączyć CloudKit w możliwościach obu celów i wybierając ten sam kontener w obu aplikacjach. Główna aplikacja z zaznaczonym "Użyj domyślnego kontenera" działa dobrze, ale druga aplikacja, w której wybrałem opcję "Określ niestandardowe kontenery" i wybrała niestandardowy kontener z pierwszego celu, otrzymuje błąd, gdy próbuję pobrać wszystko .

Odpowiedz

12

Tak, wiele aplikacji może korzystać z tych samych danych CloudKit. Kiedy otrzymasz swój CKContainer, zakładam, że używasz czegoś podobnego do obu aplikacji?

let container = CKContainer.defaultContainer() 

To działałoby dla głównej aplikacji (tej z identyfikatorem pakietu, który pasuje do identyfikatora Cloudkit). Inne aplikacje będą musiały zainicjować kontener w następujący sposób:

let container = CKContainer(identifier: "iCloud.com.example.appname") 
+0

Dzięki. Pracuję nad tym, deklarując jawnie identyfikator w obu celach. –

+0

Czy muszę włączyć grupy aplikacji w okienku możliwości? –

+0

Nie, grupy aplikacji są używane do udostępniania plików między aplikacjami. Konieczne będzie włączenie kontenera iCloud w panelu opcji dla każdej aplikacji. – lehn0058