Question

Je suis la conception d'une application qui lit les données sur le iPod touch / iPhone qui est envoyé via les sockets UDP multicast avec et je dois l'enregistrer comme un fichier dans un répertoire de documents. Est-ce que existe sur l'iPhone ou l'iPod Touch? Je sais qu'il ya NSFileHandle et NSFileManager, qui est ce que je prévois d'utiliser, pour prendre soin de lire et d'écrire dans le fichier, mais je ne sais pas où la section « Mes documents » de l'iPod touch est si vous savez ce que je « m dire. Je ne suis pas familier avec le répertoire de fichiers iPod / iPhone qui bien encore, de sorte que toute aide est appréciée! Y at-il une sorte de répertoire « général » que tous les développeurs utilisent pour stocker leurs fichiers s'ils ont des impliqués dans leur application?

Était-ce utile?

La solution

Vous devez utiliser le répertoire de votre application Documents pour stocker les fichiers persistants. Vous pouvez obtenir le chemin vers le répertoire en utilisant cette fonction, Apple inclut dans leur modèle pour une application à l'aide de base de données:

/**
 Returns the path to the application's documents directory.
 */
- (NSString *)applicationDocumentsDirectory {

    NSArray *paths = 
      NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
    NSString *basePath = ([paths count] > 0) ? [paths objectAtIndex:0] : nil;
    return basePath;
}

Autres conseils

Plus récemment, le modèle pour une application Core Data fournit le code comme ceci:

- (NSString *)applicationDocumentsDirectory {
    return [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) lastObject];
}

Si le retour de NSArray NSSearchPathForDirectoriesInDomains est vide, LastObject retourne nul, donc en conséquence, le code est plus court et plus propre.

Une chose que vous devriez être au courant - comme d'iOS 5, vous ne devriez pas mettre non généré par l'utilisateur des données dans le répertoire Documents. Votre application peut être rejetée. Au lieu de cela, vous devriez penser à mettre ces journaux dans le répertoire Caches. Pour obtenir le chemin de celui-ci, vous devez remplacer NSDocumentDirectory avec NSCachesDirectory dans le code exemple ci-dessus.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top