2013-02-11 7 views
5

Mam dwie aplikacje: jedną iOS i jedną Mac OS X, każda z innym identyfikatorem pakietu.Jak działają zbiorniki Wszechświata między aplikacjami iOS i Mac OS X?

Aby dwie aplikacje zsynchronizowały i udostępniły pliki, musiałem dodać kontener wszechstronny aplikacji na iOS do listy kontenerów wszechobecności w aplikacji Mac OS X.

W podsumowaniu Xcode dla aplikacji Mac OS X nie mogę dodać własnego identyfikatora pakietu jako pojemnika wszechobecności. Aplikacja Mac OS X będzie zapisywać nowe dodane pliki we własnym wszechświecie, przez co nie będą dostępne dla aplikacji na iOS.

Jak prawidłowo skonfigurować obie aplikacje, aby udostępniały i synchronizowały wszystkie dodane pliki przy użyciu tego samego kontenera wszechobecności?

Odpowiedz

0

Dla własnego iOS/Mac App parą, po prostu miałem moją aplikację na iOS z BundleID com.alexanderwinn.Example i aplikacji Mac z com.alexanderwinn.ExampleMac, ale oboje wspólny pojemnik wszechobecność com.alexanderwinn.Example. Żadna z nich, nawet wersja na komputery Mac, nie miała kontenera wszechobecnego opartego na Mac BundleID. Jestem początkującym, więc nie mogę w pełni wyjaśnić, dlaczego wszystko działa i się psuje, ale działa mi dobrze!

1

Aby umożliwić wielu aplikacjom dostęp do tego samego kontenera danych/kontenera wszechobecności, musisz zrobić kilka rzeczy. Po pierwsze, musisz otworzyć swój projekt Xcode i wykonaj następujące czynności (official Apple document here)

  1. Otwórz projekt Xcode, a następnie przejdź do ustawień docelowych projektu. Kliknij kartę Możliwości, aby otworzyć ustawienia projektu dla dodatkowych usług Apple. Xcode 5.0 Project Capabilities
  2. Następnie włącz opcję iCloud NA. Identyfikator kontenera Ubiquity powinien być taki sam w każdej aplikacji, z którą musisz udostępnić dane. Identyfikatory pakietów aplikacji, którym udostępniasz dane, nie muszą być takie same, ale oba wymagają tego samego identyfikatora Ubiquity Container i identyfikatora zespołu. Xcode iCloud project ubiquity container
  3. Aby rozpocząć używanie usługi iCloud we wszystkich aplikacjach za pomocą tego samego kontenera iCloud, musisz utworzyć adresy URL z identyfikatorem zespołu i identyfikatorem kontenera. Jabłko podsumowuje to ładnie:

    Aby pobrać adres URL pojemnika wszechobecność, należy zdać pełną ciąg metody URLForUbiquityContainerIdentifier NSFileManager :. Oznacza to, że musisz przekazać pełny ciąg identyfikatora kontenera, który zawiera identyfikator twojego zespołu, który widzisz w pliku listy właściwości .entitlements. Możesz przekazać zero do tej metody, aby pobrać adres URL pierwszego kontenera na liście.


Następnie konfiguracja coś nazywany iCloud Display Set w iTunes Connect. Pozwala to utworzyć identyfikator zestawu wyświetlania, który można następnie udostępnić między aplikacjami, aby uzyskać dostęp do tych samych danych.Oto kilka przydatnych linków na początek:

Oto jak skonfigurować takie iCloud Ekran Set:

  1. Idź do iTunesConnect i otwórz Zarządzanie Aplikacje Section
  2. U dołu strony kliknij link do zestawów wyświetlacza iCloud
  3. Kliknij Create New dodać Zestawie
  4. Wypełnij wymagane informacje, w tym ID:
    enter image description here

Następnie wystarczy podłączyć go do swoich aplikacji! Mam nadzięję, że to pomogło, powodzenia.

+0

Wszystkie informacje wskazują, że łączy to tylko aplikacje po ich przesłaniu do sklepu (-ów) App Store. Jak możesz przetestować Macintosh <-> w trakcie programowania? (Dodałem jeden dla moich aplikacji i Mac-> Mac działa iOS-> iOS działa, ale nie Mac <-> iOS) – kdbdallas

+0

@kdbdallas Zaktualizowałem swoją odpowiedź o nowe informacje. Sprawdź to. –