Storniert

Überarbeitung eines Coredatastacks zur Synchronisierung zwischen OSX und IOS

Job Description:

Überarbeitung eines Coredatastacks zur Synchronisierung zwischen OSX und IOS

Aufgabenstellung:

Für ein bestehendes Projekt in Objective-C wird eine Teilaufgabe vergeben. Das Projekt besteht aus einer MAC OSX Anwendung und einer IOS Anwendung für Iphone, Ipad.

1.Überarbeitung des CoreDataStacks bei einem Aufruf (SharedInstance) zur Laufzeit, der einen bestehenden PersistentStore + MOC deaktiviert. Im Anschluss wird ein neuer PersistentStore + MOC aktiviert (also, Tausch der SQLite Datenbank während der Laufzeit der App, wenn diese aus einer anderen Quelle ersetzt wird). Hier stürzt die IOS App ab, die OSX App verarbeitet den Prozess ordnungsgemäß. Der einfache erwartete Prozess ist:

Context besteht zur Laufzeit -> Store wird deaktiviert -> meldet TRUE zurück.

2. Überarbeitung der iCloud Synchronisierung. Die iCloud Synchronisierung zwischen den IOS Geräten funktioniert. Die iCloud Synchronisierung zwischen IOS und OSX funktioniert nicht fehlerfrei. Hier wird zwar der Cloud Inhalt erkannt und die Container werden auf dem OSX System angelegt, aber nicht herunter- bzw. hochgeladen.

Ausgangssitution:

- Beide Apps habe eine eigne ID, eigenes Provisioning Profile

- Es gibt einen iCloudContainer

- Gleiche Team ID

Sie erhalten folgende Klassen zur Überarbeitung:

CoreDataDao.h, CoreDataDao.m, CoreDataStack.h, CoreDataStack.m, VersioningMethods.h (IOS), VersioningMethods.m (IOS), VersioningMethods.h (OSX), VersioningMethods.m (OSX), Constants.h (IOS), Constants.m (IOS), Constants.h (OSX), Constants.m (OSX)

Erwartetes Ergebnis:

- SQLite Datenbanken können während der Laufzeit ersetzt (nicht zusammengefügt) werden

- Fehlerbehung der iCloud Synchronisierung zwischen OSX und IOS

Erwartete Voraussetzung:

- Überarbeitung der bestehenden Klassen unter Berücksichtigung, dass dies ein bestehendes Projekt ist. Es muss nicht dokumentiert werden.

Projektbeschreibung:

Beide Anwendungen verfügen über dieselbe Klassen zur Datenbanksteuerung. Diese beiden Klassen sind eine CoredataDAO + CoredataStack und werden 1:1 in IOS und OSX eingesetzt. Die Unterschiede zwischen den Systemen wird in einer Constants und einer VersioningMethods Klasse aufgeführt:

* CoredataDAO (IOS / OSX) - Shared Instance, initiiert ManagedObject aus CoreDataStack, Delete, Save etc.

* CoredataStack (IOS / OSX) - Shared Instance, Persistentstorecoordinator, Persistentsore, Storeoptions, Store Handling (Merge, Delete etc.), ManagedObjectContext, Ubiquity container

* Constants (IOS / OSX) - Definierte Konstanten wie App ID etc.

* VersioningMethods (IOS) - IOS bedingte Methoden (z.B. Application Directory)

* VersioningMethods (OSX) - OSX bedingte Methoden (z.B. Application Sandbox Directory, Cloud Directory)

Die iCloud Synchronisierung zwischen den IOS Geräten funktioniert. Die iCloud Synchronisierung zwischen IOS und OSX funktioniert nicht fehlerfrei.

Fähigkeiten: Cocoa, iPhone, Mac OS, Objective C

Über den Kunden:
( 0 Bewertungen ) Germany

Projekt-ID: #6446157