2016-08-03 33 views
1

Tatsächlich verlasse ich mich auf den vollständigen Dateipfad für Sicherheitsoptionen (dafür benötige ich den Dateipfad, damit er im Schlüsselbund gespeichert wird). Dies bedeutet, dass diese Funktionen beim Neuaufbau der App (oder bei der Aktualisierung, wenn sie in AppStore veröffentlicht werden) aufgrund der Änderung der Paket-ID im Dateipfad unterbrochen werden.Abrufen des Dateipfads aus dem Dokumentverzeichnis - Objective-c iOS

Ich habe über eine Lösung für dieses Problem nachgedacht: Dateipfad nur aus dem Documents-Verzeichnis (/Documents/.../.../myFile.pdf) anstatt vollständigen Pfad (/ var/mobile/.. ./...). Gibt es eine Möglichkeit, dies zu tun?

Alternativ gibt es eine andere Lösung für mein Problem?

Vielen Dank im Voraus!

+1

Verwenden 'NSArray * Pfade = NSSearchPathForDirectoriesInDomains (NSDocumentDirectory, NSUserDomainMask, YES),' und speichern nur, was danach ist. – Larme

+0

Überprüfen Sie meine Antwort – user3182143

Antwort

0

Dank @Larme und @ user3182143, ich habe eine Lösung gefunden: Pfad für Dokumente und Spalten Dateipfad von 2 bekommen: ein Teil vor dem Dokumentenverzeichnis

bundlePath = [documentsDirectory stringByDeletingLastPathComponent]; 

und der andere Teil mit

documentsPath = [documentsDirectory lastPathComponent]; 
... 
filepath = [documentsPath stringByApendingPathComponent:@"myFile.pdf"]; 

Wenn ich brauche den vollständigen Pfad, ich Werden es bekommen von

fullPath = [bundlePath stringByAppendingPathComponent:filepath]; 
1

den Dateipfad von Dokumentenverzeichnis

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask, YES); 
NSString *documentsDirectory = [paths objectAtIndex:0]; 
NSString *getPath = [documentsDirectory stringByAppendingPathComponent:[NSString stringWithFormat:@"%@",strFileName]];