copier des fichiers au premier démarrage

Bonjour,


 


Je suis en train de terminer une application (création de présentations) et je me demande quelle est la meilleure façon de gérer les thèmes.


 


L'application en possède par défaut plusieurs qui sont au départ dans le bundle. Afin d'unifier leur gestion avec ceux qui seront ajoutés dans le ~/Library/Containers/...  je cherche un moyen propre (et facilement maintenable) pour que les thèmes par défaut soient transférés depuis les ressources du bundle vers ce répertoire et que chaque mise à  jour de l'application puisse également les mettre à  jour.


 


Est-ce que vous avez déjà  rencontré une telle problématique? Quelle serait votre approche?


 


Merci pour votre aide:)


Réponses

  • CéroceCéroce Membre, Modérateur
    janvier 2017 modifié #2

    ~/Library/Containers/...

    Sans regarder la doc, je les aurais plutôt mis dans /Application Support
     

    Est-ce que vous avez déjà  rencontré une telle problématique? Quelle serait votre approche?

    Pas exactement cette problématique.
    Je crois que je ne mettrais rien dans le bundle de l'appli et que je téléchargerais les thèmes de base au premier lancement. De toute façon, l'appli a été téléchargée elle-aussi, et ça permet d'avoir une unique manière de faire.
  • GoodGoodGoodGood Membre
    janvier 2017 modifié #3

    Essai  ceci : 



    let filePath = Bundle.main.path(forResource: "file", ofType: ".txt")



    let urlSrc = URL(fileURLWithPath: filePath!)
    let destinationPath = NSSearchPathForDirectoriesInDomains(.documentDirectory, .userDomainMask, true).first as! NSString
    let path = destinationPath.strings(byAppendingPaths: ["file.txt"])


    let fileManager = FileManager.default
    let Fullpath = URL(fileURLWithPath: destinationPath as String).appendingPathComponent("file.txt")

    if fileManager.fileExists(atPath: path.first! as String){
    print("le fichier existe deja ")

    }else{
    print("le fichier n'existe pas , copier le fichier dans le directory ")
    do{
    try fileManager.copyItem(at: urlSrc, to: Fullpath)

    print("copie terminer ")
    }catch{
    print("erreur de copie")
    }
  • GoodGood,


     


    Pas good sans les balises de code...


  • APAP Membre


    Sans regarder la doc, je les aurais plutôt mis dans /Application Support

     

    Pas exactement cette problématique.

    Je crois que je ne mettrais rien dans le bundle de l'appli et que je téléchargerais les thèmes de base au premier lancement. De toute façon, l'appli a été téléchargée elle-aussi, et ça permet d'avoir une unique manière de faire.




     


    Merci, je vais effectivement les mettre dans application support

  • Bonjour Eric P,


     


    Dsl de l'aspect "a l'arache" de mon code , mais je vous avoue que je ne sais pa comment faire pour mettre les balise de code. :) 




  • Bonjour Eric P,


     


    Dsl de l'aspect "a l'arache" de mon code , mais je vous avoue que je ne sais pa comment faire pour mettre les balise de code. :)




    '


    Tu cliques sur le bouton "Plus d'options de réponse", avant de sélectionner l'icône bleue <>.

  • Draken illustre à  la perfection le dicton "un petit dessin vaut mieux qu'un long discours"...


  • C noter merci les gars  


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