Très court extrait: système de fichiers Apple iPhone

Tant le Mac OS X et iPhone OS, nous pouvons accéder facilement et directement à l'annuaire - le plus important - le système qui sont:

1
2
3
NSHomeDirectory Retourne le chemin vers le répertoire home de l'utilisateur courant.
Retourne le chemin NSHomeDirectoryForUser Vu répertoire home d'un utilisateur.
NSTemporaryDirectory Retourne le chemin du répertoire temporaire pour l'utilisateur actuel.

Voici le code nécessaire à leur utilisation:

1
2
3
4
5
6
7
8
9
10
11
/ / Répertoire principal
homePath = NSHomeDirectory ( ) ; NSString * NSHomeDirectory HOMEPATH = ();
tempPath = NSTemporaryDirectory ( ) ; NSString * TempPath NSTemporaryDirectory = ();
userPath = NSHomeDirectoryForUser ( NSUserName ( ) ) ; NSString * = userPath NSHomeDirectoryForUser (NSUserName ());
"homePath = %@" , homePath ) ; NSLog (@ "HOMEPATH =% @", HOMEPATH);
"tempPath = %@" , tempPath ) ; NSLog (@ "TempPath =% @", TempPath);
"userPath = %@" , userPath ) ; NSLog (@ "userPath =% @", userPath);

/ / HOMEPATH = / var/mobile/Applications/C7B94C13-DCEC-40CD-942F-93FD302BF905
/ / = TempPath / private/var/mobile/Applications/C7B94C13-DCEC-40CD-942F-93FD302BF905/tmp /
/ / = UserPath / var/mobile/Applications/C7B94C13-DCEC-40CD-942F-93FD302BF905

Remarque: vous avez remarqué, la ligne 4, l'appel à NSUserName() qui retourne le «utilisateur actuel»

Il ya donc un certain nombre d'autres "dossiers" que nous pouvons accéder. Ceux-ci peuvent être obtenus en appelant la fonction NSSearchPathForDirectoriesInDomains() passant comme entrées d'un ensemble de constantes. Par exemple, on peut obtenir le dossier Documents de cette manière:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
paths = NSSearchPathForDirectoriesInDomains ( NSDocumentDirectory, NSUserDomainMask, YES ) ; NSArray * chemins = NSSearchPathForDirectoriesInDomains (NSDocumentDirectory, NSUserDomainMask, YES);
"paths = %@" , paths ) ; NSLog (@ "chemins =% @", sentiers);

/ / Chemins = ("/ var/mobile/Applications/C7B94C13-DCEC-40CD-942F-93FD302BF905/Documents")

/ / Dossier Documents
documentsPath = [ paths objectAtIndex : 0 ] ; NSString * documentsPath = [chemins objectAtIndex: 0];
"documentsPath = %@" , documentsPath ) ; NSLog (@ "documentsPath =% @", CheminDocuments);

/ / = DocumentsPath / var/mobile/Applications/C7B94C13-DCEC-40CD-942F-93FD302BF905/Documents

/ / Ou ...
documentsDirectory = [ NSHomeDirectory ( ) stringByAppendingPathComponent : @ "Documents" ] ; NSString * documentsDirectory = [NSHomeDirectory () stringByAppendingPathComponent: @ "Documents"];
"documentsDirectory = %@" , documentsDirectory ) ; NSLog (@ "documentsDirectory =% @", documentsDirectory);

/ / = DocumentsDirectory / var/mobile/Applications/C7B94C13-DCEC-40CD-942F-93FD302BF905/Documents

Note: Dans ce dernier cas, notez l'utilisation de stringByAppendingPathComponent que "concatène" Documents à la voie, en ajoutant le slash

NSSearchPathForDirectoriesInDomains() retourne toujours un tableau de chaînes, bien que dans les cas des éléments maggiornaza ne sont qu'un. Si vous regardez attentivement la sortie paths , en fait, est indiqué entre parenthèses, c'est à dire un tableau. Dans le premier cas est extrait avec le premier élément [paths objectAtIndex:0] .

Ressources

delle applicazioni Mac è “virtuale”, per non dire fittizia. L'objet à travers NSBundle , au contraire, nous avons accès au dossier des ressources d'une application, comme vous le savez, l'extension .app applications Mac est «virtuel», s'il n'est pas fictif. En effet, elle recèle une sorte de "dossier" avec toutes les ressources nécessaires au sein de l'application elle-même, y compris l'exécutable lui-même! :)

1
2
3
4
5
/ / Application
appFolderPath = [ [ NSBundle mainBundle ] resourcePath ] ; NSString * appFolderPath = [[ NSBundle mainBundle] resourcePath];
"appFolderPath = %@" , appFolderPath ) ; NSLog (@ "appFolderPath =% @", appFolderPath);

/ / = AppFolderPath / var/mobile/Applications/54A1A3C9-322E-4C23-B096-45869B0332A5/MyApp.app

Lister le contenu d'un dossier (de navigation)

La gestion de fichiers, gérés par l'objet NSFileManager , utilisé pour effectuer de nombreuses opérations utiles telles que:

  • Créer des répertoires et fichiers
  • Copier, déplacer, et «lien» des fichiers et des répertoires
  • Comparez les fichiers et répertoires
  • Obtenir le contenu du répertoire
  • et plus encore ...

Par exemple ...

1
2
3
4
5
6
7
8
9
10
11
/ / Liste Directory
homePath = NSHomeDirectory ( ) ; NSString * NSHomeDirectory HOMEPATH = ();
fileManager = [ NSFileManager defaultManager ] ; NSFileManager FileManager * = [ NSFileManager defaultManager];
"La cartella %@ contiene = %@" , homePath, [ fileManager directoryContentsAtPath : homePath ] ) ; NSLog (@ "Le dossier contient% @ =% @", HOMEPATH [directoryContentsAtPath FileManager: HOMEPATH]);

/ / Le dossier / / var/mobile/Applications/C7B94C13-DCEC-40CD-942F-93FD302BF905 contient = (
/ / Documents,
/ / Bibliothèque
/ / "MyApp.app"
/ / Tmp
/ /)

Bonus

En ce qui concerne les informations "utilisateur" peut avoir:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
/ / FullUserName
fullUserName = NSFullUserName ( ) ; NSString NSFullUserName fullUserName * = ();
"fullUserName = %@" , fullUserName ) ; NSLog (@ "fullUserName =% @", fullUserName);
/ / = FullUserName utilisateur mobile

/ / NSUserName
userName = NSUserName ( ) ; NSString * Nom d'utilisateur = NSUserName ();
"userName = %@" , userName ) ; NSLog (@ "username =% @", nomUtilisateur);
/ / Username = mobile

/ / NSHomeDirectoryForUser
directoryForUser = NSHomeDirectoryForUser ( userName ) ; NSString * directoryForUser NSHomeDirectoryForUser = (username);
"directoryForUser = %@" , directoryForUser ) ; NSLog (@ "directoryForUser =% @", directoryForUser);
/ / = DirectoryForUser / var/mobile/Applications/DFD6AED2-6B14-4515-8DCD-2AF6F6C2E00C

Je vous laisse essayer les «différences» entre l'utilisation du simulateur et du périphérique.

Un commentaire: "Très court extrait: système de fichiers Apple iPhone"

  1. 10 juin 2010 Nouvelles du blog sur Meego: monter le système de fichiers NTFS :

    [...] Très court extrait: système de fichiers Apple iPhone sur Mac OS X et iPhone OS, nous pouvons accéder facilement et directement à l'annuaire - le plus important - le système qui sont: CODE TEXTE CLAIR: NSHomeDirectory Retourne le chemin vers le répertoire home de l'utilisateur courant. Retourne le chemin NSHomeDirectoryForUser Vu répertoire home d'un utilisateur. Blog: undolog | Lire la suite [...]

Laisser un commentaire

XHTML TAG PERMIS: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> CODE D'INSERTION:
 <pre></pre> // blocco generico <code></code> // blocco generico [cc_actionscript][/cc_actionscript] // Actionscript [cc_actionscript3][/cc_actionscript3] // Actionscript 3 [cc_css][/cc_css] // CSS Style Sheet [cc_html][/cc_html] // HTML [cc_js][/cc_js] // Javascript [cc_objc][/cc_objc] // Objective-C [cc_php][/cc_objc] // PHP [cc_sql][/cc_sql] // SQL 


Arrêtez SOPA