Lire des fichiers externes à mon application

Bonjour,

J'ai réalisé une application qui tourne avec CoreData.
Je dois lire des fichiers externes (venant de mon Mac) pour acquérir des données (fichiers XML)
Comment accéder à un fichier et où le placer pour pouvoir y accéder ?

Je suppose qu'il me faut annoncer quelque part que mon application peut lire ce type de fichier mais je ne sais pas trop par où commencer.

Merci d'avance pour vos orientations vers la bonne documentation.

PS : je viens de passer sur Swift.

Réponses

  • février 2019 modifié #2

    Ben, pour accéder à des fichiers il faut dire à ton programme où ils se trouve . Je comprend mal ta question sur le fait de devoir les placer à un endroit particulier.

    Le but de la programmation c'est de dire à la machine ce qu'elle doit faire et pas l'inverse O_ô

    Je suppose qu'il me faut annoncer quelque part que mon application peut lire ce type de fichier mais je ne sais pas trop par où commencer.

    Info.plist https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Introduction/Introduction.html

    Le meilleurs point de départ c'est github

  • Merci pour ces renseignements.

  • PyrohPyroh Membre
    mars 2019 modifié #4

    En fait ça va dépendre si les fichiers en questions sont dynamique ou non.
    Si c'est des master data immuables tu peux partir du principe que le fichier peut être intégré dans le bundle de l'application. Alors ça se joue au niveau du projet en lui même dans Build Phase > Copy Files des propriétés de ta target. Ensuite tu peux accéder au fichier en:

    • récupérant le bundle let bundle = Bundle.main
    • récupérant l'URL de ton fichier grâce à la méthode url(forResource name: String?, withExtension ext: String?) -> URL?` du bundle que tu as récupéré.
    • une fois que as l'URL tu t'amuse avec XMLParser

    Si c'est un fichier dynamique qui traîne sur ton disque alors je te conseille d'ajouter une fonctionnalité pour aller le chercher sur le disque. Tu peux ensuite stocker l'URL dans les defaults et la réutiliser.

    Pour ce qui est de déclarer les fichiers que ton application peut lire c'est uniquement si tu comptes gérer les documents de ce type. Dans ce cas si ton app est un éditeur XML alors tu dois déclarer qu'elle permet d'ouvrir des fichiers XML. Il faut que ton app soit déclarée comme gérant des documents.

Connectez-vous ou Inscrivez-vous pour répondre.