2010-09-01 2 views
3

donc je sais que iOS apps tournent dans un bac à sable et tout, mais je pensais que je me suis souvenu d'Apple mentionner un moyen pour les applications à lire et écrire à partir d'un partage de fichiers commun, de sorte que vous pouvez ensuite traiter ces fichiers sur votre ordinateur lorsque vous branchez votre iPhone (montez le lecteur). Je pense que c'était dans le contexte de l'iPad, mais je ne suis pas sûr.Est-ce qu'une application iPhone peut écrire des fichiers?

Tout le monde sait quoi que ce soit plus de cela? C'est une chose difficile à rechercher.

Répondre

11

Chaque application possède un répertoire de documents où il peut écrire des fichiers. Pour obtenir le répertoire Documents des applications, vous pouvez utiliser:

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); 
NSString *documentsDirectory = [paths objectAtIndex:0]; 

Pour écrire "Bonjour, monde!" dans un fichier appelé hello.txt dans le répertoire des documents que vous pouvez faire quelque chose comme:

NSString *hello = @"Hello, World!"; 
NSString *myFile = [documentsDirectory stringByAppendingPathComponent:@"hello.txt"]; 
[hello writeToFile: myFile atomically:YES encoding:NSUTF8StringEncoding error:NULL]; 

Si vous définissez UIFileSharingEnabled dans Info.plist de votre application à YES les fichiers seront visibles dans iTunes lorsque l'appareil est connecté et peut être consulté par l'utilisateur à partir de là.

+0

Vous pouvez également utiliser [ 'NSString * documentsDirectory = [NSHomeDirectory() stringByAppendingPathComponent: @ "Documents"];'] (http://iosdevelopertips.com/data-file-management/iphone-file-system-creating- renaming-and-deleting-files.html) – bobobobo

2

Vous voulez stocker et récupérer des fichiers à partir du répertoire/Documents. C'est pour stocker des données spécifiques à l'application. Si vous ajoutez la UIFileSharingEnabled clé de votre application Info.plist et mettez à YES, vos utilisateurs seront en mesure de voir la liste des documents dans l'onglet « Applications » d'iTunes lorsque leur appareil est connecté à l'ordinateur et, à partir de là, peut ajouter, supprimer et copier les documents.

UIFileSharingEnabled est documented here (et, oui, il était difficile à trouver).

1

iOS 3.2 et versions ultérieures prennent en charge le partage de fichiers.

UIFileSharingEnabled (Boolean - iOS) spécifie si l'application partage des fichiers via iTunes. Si cette clé est définie sur OUI, l'application partage les fichiers . Si elle n'est pas présente ou est NON, l'application ne partage pas les fichiers . Les demandes doivent mettre tous les fichiers qu'ils veulent partager avec l'utilisateur dans son /Documents répertoire , où est le chemin de répertoire de l'application.

Dans iTunes, l'utilisateur peut accéder à une section du Partage de fichiers fichiers partagés de l'application de l'onglet Applications pour le périphérique sélectionné. De cet onglet , les utilisateurs peuvent ajouter et supprimer des fichiers à partir du répertoire.

Cette clé est prise en charge dans iOS 3.2 et plus tard.

http://developer.apple.com/iphone/library/documentation/General/Reference/InfoPlistKeyReference/Articles/iPhoneOSKeys.html#//apple_ref/doc/uid/TP40009252-SW20