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
stringByAppendingPathComponentque "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.










[...] 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 [...]