2016-11-01 5 views
1

ich auf iOS Entwicklung neu bin und hier sind mein Szenario:Gemeinsame Nutzung von Daten zwischen zwei iOS apps

App1: Pulls Daten von einem Netzwerk (privates Netzwerk, verbunden über Wi-Fi, die keinen Zugang zum Internet) und I möchte es in einer Datei oder Datenbank speichern.

App2: Muss auf die Datei/Datenbank zugreifen.

Da kann ich iCloud nicht verwenden, was sind die anderen Lösungen? Funktioniert App-Gruppe dafür?

Antwort

0

So, Sie sind ziemlich begrenzt in Bezug auf Optionen, wie das Sandboxing von iOS-Apps. Sie können die Daten in CoreData nicht für zwei Apps in einer gemeinsamen App-Gruppe freigeben.

Sie könnten die Daten in einem gemeinsamen NSUserDefaults speichern. Abhängig von der Größe der Daten, die freigegeben werden, funktioniert es möglicherweise nicht wirklich gut. Wenn die Daten nicht zu massiv sind, ist es sehr einfach zu implementieren.

Wenn Sie eine große Datei herunterladen, können Sie die Datei speichern und dann von App 1 an App 2 übergeben. Verwenden Sie dazu UIDocumentInteractionController, um die gesamte Datei an App 2 zu übergeben. App 2 muss dann die Daten verarbeiten. Dies würde für größere Daten funktionieren, aber die Benutzererfahrung lässt viel zu wünschen übrig.

Sie haben einige andere Optionen in Bezug auf benutzerdefinierte URL-Schemata, verwenden Sie die Pinnwand usw., aber die Weitergabe großer Datenmengen zwischen Apps ist keine großartige Erfahrung auf iOS.

Hier ist eine gute Aufschlüsselung der Optionen für die gemeinsame Nutzung von Daten: http://www.enharmonichq.com/sharing-data-locally-between-ios-apps/.

Gibt es einen Grund, warum Sie App 2 nicht einfach von demselben privaten Server abrufen können, von dem App 1 stammt? Ich weiß, dass du die auf dem Gerät gespeicherten Daten duplizierst, aber es scheint, als würden diese Daten hin und her übertragen (wenn App 2 Daten aktualisieren kann) und das Verwalten wäre eine größere Aufgabe als ein gemeinsames Framework für beide Apps, um Daten vom Server zu ziehen.

Verwandte Themen