2015-06-01 39 views
5

Pracuję nad dwiema aplikacjami na iOS i chcę uzyskać dostęp do ich bazy danych od siebie nawzajem.Jak uzyskać dostęp do własnej bazy danych aplikacji 2 iOS od siebie

Np. APP1 i APP2 opracowane przeze mnie, APP1 ma dostęp do bazy danych APP2 i vice versa

Przeczytałem gdzieś, że ten sam deweloper aplikacji na iOS może mieć uprawnienia dostępu do piaskownicy, aby uzyskać dostęp do własnej opracowanej aplikacji na iOS.

+0

Nie, skąd można przeczytać, że. Jest to możliwe tylko wtedy, gdy tworzysz rozszerzenia z aplikacją przy użyciu identyfikatorów grup. – iphonic

+0

Myślę, że aplikacja facebook app i facebook messenger mają pewne uprawnienia dostępu w każdym innym piaskownicy lub bazy danych. –

+0

@hpDev_iOS facebook app i facebook messenger zarówno komunikują się z serwerami facebook. Jeśli podasz serwer, z którym obie aplikacje mogą się komunikować, możesz udostępniać dane. – Kyle

Odpowiedz

2

Tak, możesz to zrobić. Tworzysz grupę aplikacji, umieszczasz obie aplikacje w tej samej grupie aplikacji. Wszystkie pliki utworzone w obszarze plików udostępnionych są dostępne dla obu aplikacji. Działa dokładnie w taki sam sposób, jak rozszerzenie plików współużytkowania z aplikacją hosta.

Obecnie używam tego do udostępniania SQL DB między dwiema różnymi aplikacjami.

Udostępniony plik może być dostępne są za pośrednictwem menedżera plików:

NSFileManager* fileMgr = [NSFileManager defaultManager]; 
NSURL* sharedDirectory = [fileMgr containerURLForSecurityApplicationGroupIdentifier:appGroupId]; 
+0

możesz podać dowolny link do sampli/samouczków tego w akcji? Jeśli jest to możliwe? – user2363025

+0

tak, jest to możliwe. Używam tej grupy aplikacji w dwóch aplikacjach, które mają wspólną bazę danych SQL. – progrmr

+0

, ale jak? czy masz przykładowy link do tutoriala/aplikacji demonstracyjnej lub kod źródłowy? –

-2

No nie masz dostępu do bazy danych w jednej aplikacji z innej aplikacji. (Sandbox)

Ponieważ baza danych jest prywatny do aplikacji.

+1

Tak, możesz udostępniać dane we współużytkowanym obszarze plików, jeśli utworzysz grupę aplikacji. – progrmr

-1

To prawda, że ​​nie można uzyskać dostępu do plików z jednej aplikacji w drugiej.
AFAIK można używać tylko udostępnionego pęku kluczy do udostępniania danych między dwiema aplikacjami. Spójrz tutaj, że: How to share keychain data between iOS applications

Ale może kolejna propozycja będzie ci pomóc: Stworzyliśmy aplikację na iOS za pomocą CoreData i ramy zespołami z Drew McCormack używać iCloud Sync. (https://github.com/drewmccormack/ensembles)

Dzięki tej funkcji (iCloud Sync) jest w stanie synchronizować dane między obu bazami danych CoreData i obie aplikacje mogą korzystać z tych samych danych.