Itunes Sharing
Glaglaton
Membre
Bonjour à tous,
Je me présente, Glaglaton, développeur iOS débutant depuis début janvier en stage. J'ai pour objectif de réaliser une application flexible, c'est-à -dire qu'elle doit être modifiable facilement, sans retoucher au code. Toutes les données de mon applis sont parsées en XML, mais il me reste à externaliser mes ressources (images).
Pour ce faire et comme pour les fichiers XML, je souhaite utiliser iTunes Sharing Files. Seulement, je suis face à un problème de taille, je ne sais pas comment m'y prendre pour gérer le fait que mes images soient placeés dans un dossier nommé "Resources". Je souhaite placer les images dans un dossier de manière à que ça ne soit pas trop le "bordel" dans le répertoire de partage de mon application.
J'ai fait pas mal de recherches et je suis évidemment tombé sur le très bon tuto de Ray Wenderlich, mais je le trouve plutôt complexe, car très général par rapport à ce que je souhaite faire.
Voici ce que je souhaite mettre en place :
Récupération des fichiers (.png) de mon package "Resources". Le package contiendra un nombre constant d'images qui porteront toujours le même nom. Je laisse à l'utilisateur le soin de donner les bons noms aux images qu'il placera dans le package. Je n'ai pas besoin de gérer l'autre sens. L'application ne modifiera aucun de ces fichiers.
Pour résumer, je souhaite importer mes images contenues dans mon Package "Resources" dans mon application.
Du coup, si vous avez des conseils sur comment m'y prendre ou même un code déjà fait, je suis évidemment preneur ! Mon stage se finissant cette semaine, veuillez considérer cette demande comme urgente.
Merci,
Glaglaton
Je me présente, Glaglaton, développeur iOS débutant depuis début janvier en stage. J'ai pour objectif de réaliser une application flexible, c'est-à -dire qu'elle doit être modifiable facilement, sans retoucher au code. Toutes les données de mon applis sont parsées en XML, mais il me reste à externaliser mes ressources (images).
Pour ce faire et comme pour les fichiers XML, je souhaite utiliser iTunes Sharing Files. Seulement, je suis face à un problème de taille, je ne sais pas comment m'y prendre pour gérer le fait que mes images soient placeés dans un dossier nommé "Resources". Je souhaite placer les images dans un dossier de manière à que ça ne soit pas trop le "bordel" dans le répertoire de partage de mon application.
J'ai fait pas mal de recherches et je suis évidemment tombé sur le très bon tuto de Ray Wenderlich, mais je le trouve plutôt complexe, car très général par rapport à ce que je souhaite faire.
Voici ce que je souhaite mettre en place :
Récupération des fichiers (.png) de mon package "Resources". Le package contiendra un nombre constant d'images qui porteront toujours le même nom. Je laisse à l'utilisateur le soin de donner les bons noms aux images qu'il placera dans le package. Je n'ai pas besoin de gérer l'autre sens. L'application ne modifiera aucun de ces fichiers.
Pour résumer, je souhaite importer mes images contenues dans mon Package "Resources" dans mon application.
Du coup, si vous avez des conseils sur comment m'y prendre ou même un code déjà fait, je suis évidemment preneur ! Mon stage se finissant cette semaine, veuillez considérer cette demande comme urgente.
Merci,
Glaglaton
Mots clés:
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
le NSBundle étant ton dossier contenant tout ton programme, code et ressources. Sur iOS, ce doit être un truc similaire.
Qu'est ce qui t'empêche de mettre les images dans le répertoire /Documents/Resources ?
Pour que ça soit clair pour nous tous, je parle bien du dossier de partage qui est accéssible via iTunes dans "Apps" et activable en mettant la valeur de "Application supports iTunes file sharing" (anciennement "UIFileSharingEnabled") à "TRUE" dans plist. C'est ici que je souhaite mettre mon "dossier" avec mes images. Toutefois, de ce que j'ai compris de l'article de Ray Wenderlich, il n'est pas possible de mettre des dossiers dans le répertoire de partage de l'application. Il faudrait compresser (.zip ?) le dossier.
Pouvez-vous confirmer déjà ça ?
Ensuite, je ne sais pas comment récupérer mes images dans mon code.
Herve :Je suis en congé ce matin, je vais essayé ton bout de code cette après-midi, même si je ne suis pas persuadé que ça va fonctionner. J'avais déjà essayé d'utiliser NSBundle, sans succès (mais pas de la même manière).
Cordialement,
Glaglaton
Il est tout à fait possible d'avoir des dossiers dans le dossier "Documents" mais iTunes ne permet pas d'afficher leur contenu ni de le modifier.
Par contre cela est possible avec iExplorer.
Si c'est possible, comment plaçons-nous un dossier dans le dossier "Documents" en passant par iTunes ?
--
Edit 1 :
Ok, avec iExplorer, c'est facile de placer un dossier dans le dossier de l'application.
Me reste à savoir comment récupérer ces images dans mon code. La pistes donnée par Herve est bonne ?
--
Edit 2 :
Finalement je ne vais pas externaliser mes images. Comme avec iExplorer j'ai accès aux ressources de mon projet, je vais directement passer par là .
Merci pour vos réponses
Mais comme l'indique Eric, dans iTunes tu ne verras alors que le dossier complet, et iTunes ne te permettra pas de par exemple double-cliquer dessus pour voir le contenu. Il te le présentera comme si c'était un fichier unique (ou comme un bundle si tu veux).
Du coup tu ne pourras pas ensuite prendre un fichier et le faire glisser sur ce dossier "Ressources" pour le rajouter parmi les autres (et c'est bien dommage) : tu pourras rajouter le fichier dans le dossier "Resources" que tu as gardé dans ton Finder, enlever le dossier "Ressources" de iTunes complètement, puis le re-rajouter. En effet malheureusement iTunes dans la partie "File Sharing" ne voit vraiment ce dossier que comme un objet unique, comme un tout, pas comme un dossier auquel il permettrait de rajouter des fichiers à la volée...
Après à part cette limitation tu peux tout à fait mettre des dossiers, puis récupérer par code les fichiers qu'il contient. C'est juste l'interface d'iTunes qui n'est pas top pour ça et ne présente les dossiers dans son interface que comme une entité unique et pas un contenant.