39 Stimmen

Wie man den Dateipfad in einer iPhone-App abruft

Ich habe ein Problem beim Zugriff auf meine Dateien in meiner Anwendung.

Ich verwende derzeit

//Directly from TileMap example from WWDC2010
NSString *tileDirectory = [[[NSBundle mainBundle] resourcePath] 
                           stringByAppendingPathComponent:@"Tiles"];

um auf meine Kacheln für meine MKOverlay . Dadurch erhalte ich dieses Verzeichnis

/Benutzer/xxxx/Library/Application Support/iPhone Simulator/4.2/Applications/9D62025C-C53B-472C-8309-xxxx/xxxx.app/Tiles

Das "x" dient nur dem Schutz der Privatsphäre.

Ich habe meine Kacheln in einem Ordner namens Tiles in der Wurzel meiner Anwendung, die sich in Xcode in einer Gruppe namens Tiles die sich direkt in der Resources Gruppe.

Wenn ich meine App ausführe, erhalte ich eine einfache Fehlermeldung, die besagt, dass meine Kacheln im generierten Verzeichnis nicht gefunden werden konnten (das obige Zitat) Wenn ich dieses Stück Code ersetze und es:

NSString *tileDirectory = @"/Users/xxxx/Documents/xxxx/Tiles";

Dann funktioniert meine Anwendung einwandfrei. Das liegt offensichtlich daran, dass sie meine Kacheln an ihrem direkten Speicherort auf meinem Mac findet. Zum Testen ist das in Ordnung, aber ich muss es auf meinem iPhone/iPad verwenden.

Dieses Problem kann folgende Ursachen haben:

  • Das erzeugte Verzeichnis ist falsch.
  • Die Kachelbilder werden nicht in die erstellte Datei aufgenommen. .app Datei.

Wie auch immer, ich habe keine Ahnung, wie ich das Problem lösen kann.

Wie kann ich dieses Problem lösen?


[EDIT]

Ich habe diesen Teil des Codes geändert in:

NSString *tileDirectory = [[NSBundle mainBundle] resourcePath];

Jetzt funktioniert es im Simulator, weil sich alle Dateien im Stammordner der Anwendungen befinden und ich ihn nicht auffordere, ein anderes Verzeichnis namens "Tiles" zu öffnen.

Dies läuft ohne Fehler auf dem Simulator, aber wenn auf meinem iPhone gibt es die ursprüngliche Fehler (nur ein anderer Dateipfad, sondern auch endet mit /xxxx.app

Wie kann ich sicherstellen, dass ein Verzeichnis in meiner App-Datei wie xxxx.app/Tiles - TileMap tut dies.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X