2009-09-05 11 views
3

Je veux copier des fichiers à la bibliothèque ou d'un document dans le répertoire « produit »comment copier des fichiers dans la bibliothèque ou document dir dans la phase de construction de l'iphone?

mais quand j'ajoute une phase de construction, et sélectionnez « Répertoire des produits » dans destenation et entrée mon subdir comme « Bibliothèque/xxx/»

quand je lance l'application dans le simulateur, je l'ai trouvé rien int destenation

et si je mets destenation à « Ressources », il sera là.

s'il vous plaît dites-moi pourquoi et comment je peux le faire?

Répondre

1

Question intéressante. Je ne sais pas si vous pouvez le faire dans le cadre de la phase de construction.

Pour obtenir quelque chose dans le répertoire des documents, j'ai une méthode qui fonctionne au démarrage de l'application comme ceci:

NSFileManager *fileManager = [NSFileManager defaultManager]; 
NSError *error; 
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); 
NSString *documentsDirectory = [paths objectAtIndex:0]; 
NSString *writablePath = [documentsDirectory stringByAppendingPathComponent:@"filename.txt"]; 
BOOL success = [fileManager copyItemAtPath:defaultDBPath writablePath error:&error]; 

C'est un fragment incomplet mais vous avez sans doute l'idée. L'important est la constante NSDocumentDirectory.

+0

L'affiche d'origine veut installer les fichiers en même temps que l'application est copiée par Xcode. Je ne pense pas que ce soit possible. Cette réponse a l'application qui installe les fichiers dans le répertoire Documents, à l'exécution, ce qui n'est pas la même chose, mais la meilleure chose suivante (AFAIK). – mahboudz

+0

merci beaucoup, c'est utile – fallhunter

-1

Ajouter une nouvelle phase de construction -> Nouvelle copie de fichiers Phase de construction dans la cible

+0

Vous ne pouvez accéder à aucun des répertoires iPhone de Xcode. Non? – mahboudz

+0

Le bit intéressant serait d'obtenir la bonne destination. La question demande le chemin Bibliothèque ou Documents. Aucun d'entre eux ne peut être trouvé dans la liste déroulante Copier la destination des fichiers. – auco

3

Le répertoire des documents ne doit être accessible lors de l'exécution. À ma connaissance, vous ne pouvez pas copier d'objets pendant la construction. Ce que vous devez faire est de stocker les objets que vous voulez dans le répertoire Documents de votre bundle, puis de les copier au premier lancement.

+0

Cela était vrai à l'époque, mais avec Xcode 4, vous pouvez maintenant définir un schéma pour installer un package de données d'application dans l'onglet Options. (Bien sûr, ce n'est que pour le débogage.) –