Benötigen Sie vervollständigen den Schutz von Daten während der Core-Datenverarbeitung im Hintergrund ist

StackOverflow https://stackoverflow.com/questions/4242977

Frage

Ich bin gerade in der Mitte des Projektes fest.

Mein Ziel ist es, meine Daten schützen .

Ich habe durch Nickharris gegangen-Blog in Bezug auf ( Core Data und Enterprise iPhone Anwendungen - Schutz Ihrer Daten )

Aber im Ergebnis wird es klar erwähnt, dass:

Wenn Ihre Anwendung braucht Ihren Core-Datenspeicher in einer Hintergrundverarbeitung , dann sind Sie auf kann nicht Datenschutz verwenden. Jeder Versuch, auf Dateien zuzugreifen, die NSFileProtectionComplete wird eine Ausnahme verursachen .

Und ich bin mit Kerndaten in der Hintergrundverarbeitung.

Bitte Hilfe in Bezug auf diese. Ich möchte meine Daten verschlüsseln und schützen sowieso

Danke, Tariq

War es hilfreich?

Lösung

Nach dem Dokumentation NSFileProtectionComplete diktiert, dass die Datei aus oder geschrieben wird, kann nicht auf, während die Anwendung im Hintergrund ist (oder nicht ausgeführt) gelesen werden.

Sie sollten in Ordnung sein, die SQLite Speicher zu lesen / schreiben, während die Anwendung ausgeführt wird, aber Sie werden keinen Zugriff darauf haben, während es im „Hintergrund“ ist.

Das bedeutet, dass Operationen, die Hebelwirkung die iOS Hintergrund-APIs wie:

  • Push-Benachrichtigungen
  • Hintergrund Audio / Location
  • Task Abschluss (Hintergrund)
  • Voice-over-IP

Wird nicht Zugriff auf Ihre SQLite Speicher. Wenn die App läuft jedoch sollten Sie in der Lage sein, den NSPersistentStoreCoordinator zugreifen wie gewohnt. Ich vermute, dass ein Geräteseite Test in einem Ausfall führen würde den permanenten Speicher Koordinator von einem des Hintergrund-APIs.

erstellen

Andere Tipps

Auf iOS 5 können Sie entweder eine verwenden, aber es gibt noch einen Haken für jeden von ihnen.

  1. NSFileProtectionCompleteUnlessOpen - Die Datei in einem verschlüsselten Format auf der Festplatte gespeichert und geöffnet werden, während das Gerät entsperrt ist. Einmal geöffnet, können die Dateien weiterhin die Datei normalerweise zugreifen, auch wenn der Benutzer das Gerät gesperrt wird.

  2. NSFileProtectionCompleteUntilFirstUserAuthentication - Die Datei in einem verschlüsselten Format auf der Festplatte gespeichert und kann erst zugegriffen werden, nachdem das Gerät gebootet. Nachdem der Benutzer das Gerät zum ersten Mal entsperrt, kann Ihre Anwendung auf die Datei zugreifen und sie weiter zugreifen, selbst wenn der Benutzer das Gerät nachträglich gesperrt wird.

Quelle: iOS Developer Library

Machen Sie Ihre Dateizugriff Anrufe im Hauptthread - es gibt eine wirklich nützliche Methode auf NSObject, die Ihnen helfen sollen:)

// When you need to get the data from the file do this :
NSData *data = [self performSelectorInMainThread:@selector(getFileData:) withObject:filename waitUntilDone:YES];


// And somewhere else in your class have this method
- (NSData *)getFileData:(NSString *)filename {
    ...
    // Get data from file and return it
    ....
}

Ich hoffe, das hilft.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top