2015-06-01 15 views
5

Sto sviluppando due app iOS e voglio accedere al loro database l'una dall'altra.Come posso accedere al mio 2 database dell'app iOS l'uno dall'altra

Es. APP1 e APP2 entrambi sviluppati da me, APP1 possono accedere al database APP2 e viceversa

Ho letto da qualche parte che lo stesso sviluppatore di applicazioni iOS può avere autorizzazioni di accesso sandbox per accedere alla propria app iOS sviluppata.

+0

No, dove l'hai letto. È possibile solo se stai sviluppando estensioni con la tua app utilizzando identificatori di gruppo. – iphonic

+0

penso che l'app di Facebook e l'app di messaggistica di Facebook abbiano un'autorità di accesso con in ogni altro sandbox o database. –

+0

@hpDev_iOS L'app di Facebook e il messenger di Facebook comunicano entrambi con i server di Facebook. Se fornisci un server attraverso il quale le tue due app possono comunicare, puoi condividere i dati. – Kyle

risposta

2

Sì, puoi farlo. Crei un gruppo di app, inserisci entrambe le app nello stesso gruppo di app. Tutti i file creati nell'area del file condiviso sono disponibili per entrambe le app. Funziona esattamente come un'estensione condivide i file con la sua app host.

Attualmente sto usando questo per condividere un DB SQL tra due diverse app.

Il file condiviso sono si può accedere tramite il file manager:

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

puoi fornire qualche link a esempi/tutorial di questo in azione? se è possibile? – user2363025

+0

sì, è possibile. Io uso questo un gruppo di app in due app che condividono un DB SQL. – progrmr

+0

ma come? hai qualche tutorial/link per app demo o codice sorgente di esempio? –

-2

No non è possibile accedere ad un database in un'unica applicazione da un'altra applicazione. (Sandbox)

Perché database è privato a app.

+1

Sì, è possibile condividere i dati in un'area di file condivisa se si crea un gruppo di app. – progrmr

-1

È vero che non è possibile accedere ai file da un'app in un altro.
AFAIK è possibile utilizzare un portachiavi condiviso per condividere i dati tra due app. Date un'occhiata qui per questo: How to share keychain data between iOS applications

Ma forse un'altra proposta vi aiuterà fuori: Abbiamo sviluppato un app iOS utilizzando CoreData e il quadro Gruppo musicale da Drew McCormack di utilizzare l'icloud Sync. (https://github.com/drewmccormack/ensembles)

Con questa funzione (iCloud Sync) è possibile sincronizzare i dati tra entrambi i database CoreData e entrambe le app possono utilizzare gli stessi dati.