2012-09-20 17 views
6

Buduję aplikację uniwersalną. W mojej aplikacji używam bazy danych sq-lite. Chcę zsynchronizować swoje lokalne dane z iCloud, aby każdy inny użytkownik instalujący aplikację na iPhonie mógł zsynchronizować dane do jego telefonu/iPada.Synchronizacja iCloud z aplikacją przy użyciu bazy danych sqlite - IOS

Zrobiłem wyszukiwanie związane z tym w wielu miejscach, gdzie znalazłem synchronizację iCloud z danymi kodowymi, ale używam sq-lite.

Jest to sposób na wykonanie tej czynności.

Dzięki z góry.

+1

Czy ktoś może mi pomóc z tym. Mam problemy z jego realizacją. Ponieważ cały mój projekt korzysta z sq-lite i na końcu nie mogę przenieść mojej bazy danych do coredata. –

+0

musisz ręcznie wymyślić schemat/protokół synchronizacji. icloud zachowuje się jak wiadro i jest całkiem. głupi. CoreDataa ma gotowy protokół synchronizacji, ale na niższym poziomie nie jest to –

+0

Próba synchronizacji bazy danych SQLite za pośrednictwem iCloud bez czegoś takiego jak Core Data będzie trudna. Zastanów się, jak działa SQLite - aktualizuj poszczególne rekordy - i jak działa iCloud - na poziomie plików - i widzisz, że ich poślubienie jest trudne. Core Data dokonuje tego poprzez pliki transakcji, które później są scalane. Ponowne stworzenie tego byłoby trudnym zadaniem. – Hunter

Odpowiedz

2

Najlepiej jest wdrożyć dane podstawowe, aby móc zsynchronizować się z iCloud. Z moich badań wynika, że ​​nie ma wygodnego sposobu synchronizowania bazy danych SQLite z usługą iCloud bez użycia danych podstawowych. Korzyści uzyskane dzięki jego użyciu wykraczają poza dostęp do danych. Wdrożenie danych podstawowych może pomóc w efektywniejszym opracowaniu danych, ponieważ zapewnia dojrzałe ramy do mapowania obiektowo-relacyjnego. Ma ograniczenia, takie jak zmiany schematu uniemożliwiają dostęp do istniejących sklepów. Jednak sprawdza się również w takich dziedzinach, jak obsługa utrwalania obiektów. Ogólnie rzecz biorąc, może tylko pomóc w korzystaniu z niego, zwłaszcza w odniesieniu do synchronizacji z usługą iCloud.

Istnieją różne sposoby na rozpoczęcie konwersji bazy danych na dane podstawowe. Jednym ze sposobów jest ręczna modyfikacja bazy danych SQLite generowanej przez Core Data po uzyskaniu modelu. Możesz określić, co zmienić, patrząc na wygenerowaną bazę danych w/AppData/Dokumenty dostępne przez Organizatora w Xcode. Stamtąd może być prostą kwestią kopiowania danych SQLite do nowej bazy danych. Chociaż ta metoda nie jest zalecana przez firmę Apple, ponieważ mogą one zmieniać schemat danych podstawowych, może to zapewnić łatwą migrację istniejących zestawów danych. Innym sposobem jest napisanie kodu tłumaczącego magazyny danych w aplikacji. Możesz nawet jednocześnie zachować obydwie implementacje, SQLite i Core Data, jeśli chcesz.

Powiązane problemy