Utiliser des fichiers d'une autre application
Bonjour à tous,
Une petite question de partage de fichiers mais je crois que ce n'est malheureusement pas possible, à confirmer.
J'utilise "GoodReader" pour le boulot, et toute ma documentation est synchronisée avec un serveur protégé. Il y a donc dans GoodReader un répertoire avec plein de sous répertoires et des fichiers que je dois synchroniser toutes les semaines.
Par ailleurs, je suis en train de développer une application métier qui a besoin d'utiliser quelques uns de ces fichiers (des pdf). Pour éviter d'avoir à créer dans mon application un système de synchronisation avec un serveur (ce que par ailleurs je ne sais pas faire ::) ), je souhaiterais utiliser les fichiers que j'ai chargé sur GoodReader. Ceci éviterai également d'avoir les fichiers dupliqués sur l'iPad, et donc de prendre de la place. En cherchant dans la doc j'ai cru comprendre qu'on ne pouvait pas accéder aux documents d'une autre application, sauf avec un système de "groupe d'application" ce qui je pense sous-entend que les dites applications sont issues du même développeur...
Pouvez vous me confirmer si j'ai bien compris ?
Si c'est comme çà , avez vous une idée de la façon dont je devrais procéder ?
Merci.
Réponses
Crier très fort, en espérant qu'Ali t'entende, dans le Tardis à 22.000 année lumière de la Terre (c'est pas gagné).
Bonjour,
Il faut que tu regardes du côté des "UTI" (Uniform Type Identifiers).
Ton application métier doit déclarer qu'elle sait lire les pdf.
Ensuite, quand tu feras un appui prolongé sur un pdf, iOS te proposera d'ouvrir le pdf dans ton application métier.
(J'ai fait ça pour ouvrir des fichiers .csv (que je me transmets par mail) dans une app perso sur mon iPhone; j'ai un peu galéré pour comprendre ce qu'il fallait faire, mais ça a fini par marcher !)
Cordialement,
Nicolas
Oui je connais bien cette solution, mais cela suppose que je vais devoir faire un appui long sur chaque fichier, et ce, après chaque synchronisation pour être sûre d'avoir la dernière version...
Ce que je voudrais, c'est qu'à chaque fois que je fais ma synchronisation sur GoodReader, je puisse utiliser les fichiers modifiés depuis mon application sans aucune action utilisateur. En fait, j'aimerais pouvoir accéder directement aux fichiers de GoodReader (uniquement à l'intérieur du répertoire synchronisé si nécessaire). Le problème est que les fichiers n'appartiennent qu'à GoodReader, alors qu'en fait, ils appartiennent à l'utilisateur.
Pas possible sur iOS (sans jailbreak en tout cas), tu es sandboxé.
Merci. C'est bien ce que je craignais... Et pas question d'utiliser le jailbreak en ce qui me concerne.
Donc je vais devoir, soit utiliser la solution évoquée plus haut, mais qui ne me satisfait pas trop, car je voudrais être sûre que l'utilisateur ait tous ses fichiers à jour avec un minimum d'actions de sa part. Et il me reste la synchro avec le serveur, et là je sèche...
Une petite piste pour la doc à exploiter pour faire la synchro ?
GoodReader a l'air de pouvoir se synchroniser avec DropBox : j'imagine que ce n'est pas une option pour toi ?
As-tu regardé si l'app "workflow" pouvait être utile pour ton besoin ? (je ne la connais pas bien, mais je sais qu'elle peut parfois faire des choses impressionnantes !)
Sinon, est-ce que GoodReader n'aurait pas des API web ?
L'inconvénient serait que les données seraient peut-être dupliquées entre la sandbox de ton appli et celle de GoodReader.
Bonjour à tous,
Je relance ce post car j'ai un peu évolué depuis. En fait les fichiers dont j'ai besoin sont sur un serveur protégé "webdav", et le plus simple finalement est d'aller récupérer les fichiers dont j'ai besoin directement sur le serveur.
Donc je réoriente ma question...
Auriez vous une bonne librairie capable de parser le contenu d'un répertoire sur un serveur WebDav, et de charger des fichiers une fois que j'a repéré ceux dont j'ai besoin ? (si possible un fichier démo d'utilisation ne serait pas du luxe !). Pour l'instant, en utilisant AFNetWorking, j'arrive à me connecter au serveur, mais après c'est du chinois pour moi...
Merci pour votre aide.
Laisse tomber AFNetworking. Passe à Alamofire et je crois que ça parle de webdav qquepart ...
Le problème est que je suis toujours en objective C !
https://medium.com/@catalinaturlea/using-alamofire-from-objective-c-18dd795e12d9
Je regarde çà de suite...
Le titre est super mais malheureusement le reste c'est du chinois pour moi. est-ce que çà signifie que je dois faire une classe en swift pour permettre ensuite l'utilisation d'alamofire d'objective c. Désolée, si mes questions sont aussi bêtes mais je patauge un max !!!
En l'occurence, leur exemple pour WebDAV est basé sur AFNetworking, pas Alamofire:
https://github.com/AFNetworking/AFWebDAVManager
Donc ce n'est peut-être pas nécessaire de se lancer dans le chantier d'utiliser du code Swift avec Objective-C. D'autant plus que c'est périlleux, et impose les contraintes de Swift à ton projet.
Bon, toujours en galère !
Pour essayer d'intégrer AFWebDAVManager, j'ai besoin d'avoir une version de AFNetWorking V2. Malheureusement, je ne trouve que la V3... Quelqu'un aurait-il un lien vers la V2 ? Je sais qu'elle n'est pas très récente, mais le WebDAVManager n'est pas compatible avec la V3...
Tu n'utilises pas CocoaPods ?
Car il y a s.dependency 'AFNetworking', '~> 2.4' dans le podspec de AFWebDAVManager.
Sinon, vu que c'est du Git de toute manière :
2.6.3 :
https://github.com/AFNetworking/AFNetworking/releases/tag/2.6.3
2.4 (si y'a vraiment eu des changements cassant les fonctionnalités) :
https://github.com/AFNetworking/AFNetworking/releases/tag/2.4.1