IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Développement iOS Discussion :

Swift - BigInteger framework


Sujet :

Développement iOS

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2011
    Messages
    149
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2011
    Messages : 149
    Points : 59
    Points
    59
    Par défaut Swift - BigInteger framework
    Bonjour,

    Je débute dans la programmation en Swift, et dans le but de mettre en place un chiffrement RSA, j'ai besoin de générer de longs entiers. Ayant déjà développé ce cryptage en Java, j'ai voulu réutiliser la classe BigInteger, mais Swift ne semble pas la proposer. Une personne propose toutefois une librairie BigInteger via ce lien.
    Pour ajouter cette librairie, j'ai suivi un tutoriel expliquant qu'il faut :
    - télécharger le projet
    - faire glisser "BigInteger.xcodeproj" dans mon projet
    - dans "Build Phases" :
    - ajouter "BigInteger" au "Target Dependencies"
    - ajouter "BigInteger.framework from 'BigInteger' target in 'BigInteger' project" au "Link Binary With Libraries"
    - ajouter "BigInteger.framework" au "Copy Files"

    J'ai donc fait tout cela, pourtant lorsque je compile le projet, j'ai un "Build Failed", mais rien ne m'indique d'où vient l'erreur...

    Arrivez-vous à ajouter cette librairie ? Pouvez-vous m'aider ?

    Cordialement

  2. #2
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2011
    Messages
    149
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2011
    Messages : 149
    Points : 59
    Points
    59
    Par défaut
    Personne pour m'aider ?

  3. #3
    Membre éclairé
    Avatar de LeBzul
    Homme Profil pro
    Inscrit en
    Décembre 2008
    Messages
    381
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations forums :
    Inscription : Décembre 2008
    Messages : 381
    Points : 832
    Points
    832
    Par défaut
    Salut,
    Il faut que tu utilises CocoaPod pour importer les librairies dans ton projet.
    Dans le lien que tu donnes, il y a une partie installation avec 2 autres liens different expliquant la même la chose ; Le necessaire pour installer correctement les librairie avec CocoaPod..

    Du coup, je vois pas trop ce qui te bloques ? Il suffit de suivre le tuto, c'est bien expliqué.
    "Quand la lune n'est pas là, la nuit mène une existence obscure"

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2011
    Messages
    149
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2011
    Messages : 149
    Points : 59
    Points
    59
    Par défaut
    Tout d'abord merci pour ta réponse.

    En fait j'ai débuté la programmation sur xCode depuis très peu alors je ne connais pas encore CocoaPod, c'est pour ça que j'ai voulu installé la librairie manuellement. Avec CocoaPod tu as réussi à installé cette librairie ?
    Ce que j'ai essayé de faire :
    - Ouvrir le terminal via Applications/Utilitaires
    - J'ai installé CocoaPods à l'aide de la commande : sudo gem install cocoapods
    - Puis je suis allé au répertoire de mon projet Swift (projet test) : cd Desktop/Apps/test
    - Je créé un PodFile : pod init
    - J'écris : pod setup
    - J'écris : touch podfile
    - Puis j'ouvre mon PodFile dans lequel je trouve :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    # Uncomment this line to define a global platform for your project
    # platform :ios, '6.0'
    
    target 'test' do
    
    end
    
    target 'testTests' do
    
    end
    Donc là je suppose qu'il faut que je mette des commandes entre target 'test' do et end
    J'écris :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    pod 'JKBigInteger.swift', git: 'https://github.com/kirsteins/BigInteger.swift.git'
    J'enregistre et je ferme mon podfile, puis je retourne dans mon terminal et je lance : pod install
    Là j'ai une erreur qui apparait :
    Analyzing dependencies
    Pre-downloading: `JKBigInteger.swift` from `https://github.com/kirsteins/BigInteger.git`

    ――― MARKDOWN TEMPLATE ―――――――――――――――――――――――――――――――――――――――――――――――――――――――――――

    ### Command

    ```
    /usr/bin/pod install
    ```

    ### Report

    * What did you do?

    * What did you expect to happen?

    * What happened instead?


    ### Stack

    ```
    CocoaPods : 0.37.2
    Ruby : ruby 2.0.0p481 (2014-05-08 revision 45883) [universal.x86_64-darwin14]
    RubyGems : 2.0.14
    Host : Mac OS X 10.10.3 (14D136)
    Xcode : 6.3.2 (6D2105)
    Git : git version 2.3.2 (Apple Git-55)
    Ruby lib dir : /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib
    Repositories : master - https://github.com/CocoaPods/Specs.git @ 4fe9f95d02b4d3d08278dc07216ba9917f9bc6ca
    ```

    ### Plugins

    ```
    cocoapods-plugins : 0.4.2
    cocoapods-trunk : 0.6.1
    cocoapods-try : 0.4.5
    ```

    ### Podfile

    ```ruby
    pod 'JKBigInteger.swift', git: 'https://github.com/kirsteins/BigInteger.git'
    ```

    ### Error

    ```
    Errno::ENOENT - No such file or directory - /var/folders/9v/67rg0qmx1h52g9k05q6nqb_r0000gp/T/d20150624-2771-fbvqn3
    /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/fileutils.rb:1552:in `stat'
    /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/fileutils.rb:1552:in `block in fu_each_src_dest'
    /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/fileutils.rb:1568:in `fu_each_src_dest0'
    /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/fileutils.rb:1550:in `fu_each_src_dest'
    /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/fileutils.rb:434:in `cp_r'
    /Library/Ruby/Gems/2.0.0/gems/cocoapods-0.37.2/lib/cocoapods/downloader.rb:42:in `block in download'
    /Library/Ruby/Gems/2.0.0/gems/cocoapods-0.37.2/lib/cocoapods/user_interface.rb:140:in `message'
    /Library/Ruby/Gems/2.0.0/gems/cocoapods-0.37.2/lib/cocoapods/downloader.rb:40:in `download'
    /Library/Ruby/Gems/2.0.0/gems/cocoapods-0.37.2/lib/cocoapods/external_sources/abstract_external_source.rb:108:in `block in pre_download'
    /Library/Ruby/Gems/2.0.0/gems/cocoapods-0.37.2/lib/cocoapods/user_interface.rb:80:in `titled_section'
    /Library/Ruby/Gems/2.0.0/gems/cocoapods-0.37.2/lib/cocoapods/external_sources/abstract_external_source.rb:106:in `pre_download'
    /Library/Ruby/Gems/2.0.0/gems/cocoapods-0.37.2/lib/cocoapods/external_sources/downloader_source.rb:13:in `fetch'
    /Library/Ruby/Gems/2.0.0/gems/cocoapods-0.37.2/lib/cocoapods/installer/analyzer.rb:358:in `fetch_external_source'
    /Library/Ruby/Gems/2.0.0/gems/cocoapods-0.37.2/lib/cocoapods/installer/analyzer.rb:335:in `block (2 levels) in fetch_external_sources'
    /Library/Ruby/Gems/2.0.0/gems/cocoapods-0.37.2/lib/cocoapods/installer/analyzer.rb:334:in `each'
    /Library/Ruby/Gems/2.0.0/gems/cocoapods-0.37.2/lib/cocoapods/installer/analyzer.rb:334:in `block in fetch_external_sources'
    /Library/Ruby/Gems/2.0.0/gems/cocoapods-0.37.2/lib/cocoapods/user_interface.rb:59:in `section'
    /Library/Ruby/Gems/2.0.0/gems/cocoapods-0.37.2/lib/cocoapods/installer/analyzer.rb:333:in `fetch_external_sources'
    /Library/Ruby/Gems/2.0.0/gems/cocoapods-0.37.2/lib/cocoapods/installer/analyzer.rb:62:in `analyze'
    /Library/Ruby/Gems/2.0.0/gems/cocoapods-0.37.2/lib/cocoapods/installer.rb:196:in `analyze'
    /Library/Ruby/Gems/2.0.0/gems/cocoapods-0.37.2/lib/cocoapods/installer.rb:114:in `block in resolve_dependencies'
    /Library/Ruby/Gems/2.0.0/gems/cocoapods-0.37.2/lib/cocoapods/user_interface.rb:59:in `section'
    /Library/Ruby/Gems/2.0.0/gems/cocoapods-0.37.2/lib/cocoapods/installer.rb:113:in `resolve_dependencies'
    /Library/Ruby/Gems/2.0.0/gems/cocoapods-0.37.2/lib/cocoapods/installer.rb:93:in `install!'
    /Library/Ruby/Gems/2.0.0/gems/cocoapods-0.37.2/lib/cocoapods/command/project.rb:71:in `run_install_with_update'
    /Library/Ruby/Gems/2.0.0/gems/cocoapods-0.37.2/lib/cocoapods/command/project.rb:101:in `run'
    /Library/Ruby/Gems/2.0.0/gems/claide-0.8.1/lib/claide/command.rb:312:in `run'
    /Library/Ruby/Gems/2.0.0/gems/cocoapods-0.37.2/lib/cocoapods/command.rb:46:in `run'
    /Library/Ruby/Gems/2.0.0/gems/cocoapods-0.37.2/bin/pod:44:in `<top (required)>'
    /usr/bin/pod:23:in `load'
    /usr/bin/pod:23:in `<main>'
    ```

    ――― TEMPLATE END ――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――

    [!] Oh no, an error occurred.

    Search for existing GitHub issues similar to yours:
    https://github.com/CocoaPods/CocoaPo...n3&type=Issues

    If none exists, create a ticket, with the template displayed above, on:
    https://github.com/CocoaPods/CocoaPods/issues/new

    Be sure to first read the contributing guide for details on how to properly submit a ticket:
    https://github.com/CocoaPods/CocoaPo...ONTRIBUTING.md

    Don't forget to anonymize any private data!
    Qu'est ce que j'ai mal fait dans ma démarche ?

    J'ai testé avec la librairie SQLite en suivant la même démarche, et là je n'ai aucun soucis. J'ai ajouté ceci dans mon PodFile :
    use_frameworks!
    pod 'SQLite.swift', git: 'https://github.com/stephencelis/SQLite.swift.git'

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2011
    Messages
    149
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2011
    Messages : 149
    Points : 59
    Points
    59
    Par défaut
    Je viens de tester avec un projet en Objective-c et en ajoutant : pod 'JKBigInteger', '~> 0.0.1'
    Dans ce cas ça marche bien également, du coup je ne sais pas si c'est moi qui réalise une mauvaise manipulation, ou bien si c'est bien la librairie qui a un défaut...

  6. #6
    Membre éclairé
    Avatar de LeBzul
    Homme Profil pro
    Inscrit en
    Décembre 2008
    Messages
    381
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations forums :
    Inscription : Décembre 2008
    Messages : 381
    Points : 832
    Points
    832
    Par défaut
    Non, je n'ai pas testé.
    C'est possible qu'importer un librairie Objc dans un projet Swift ne fonctionne pas bien.
    Je n'ai jamais eu l'occasion de testé le cas non plus.

    Si tu arrives à importer la librarie dans un projet Objc, alors le problème ne viens certainement pas de toi.

    Normalement il est tout à fait possible de lire des classes Objc dans un prjet Swift...
    Du coup, si tu veux vraiment cette librairie, tu vas de voir le faire à la main.

    Télécharge le projet Github, ne met que les fichiers dont tu as besoin pour faire tourner la librairie dans ton projet, à vue d'oeil je dirais tous ce qui se trouve dans le Dossier Source et le dossier LibTomMath.
    Compile, regarde s'il manque des choses et rajoute les.

    Si tu as des problèmes de compatibilité des langages, cette page devrais t'aider :
    https://developer.apple.com/library/...xandMatch.html

    Sinon, si tu es au début de ton projet et que tu n'as pas d'impératif, passe sur Objc, tu trouveras plus facilement des librairies compatible et tutoriel associés.
    "Quand la lune n'est pas là, la nuit mène une existence obscure"

Discussions similaires

  1. [MVC] Différences entre les framework MVC push et pull ?
    Par XavierZERO dans le forum Frameworks Web
    Réponses: 5
    Dernier message: 15/01/2004, 13h12
  2. Recherche un framework RAD pour Eclipse
    Par Almex dans le forum Eclipse Java
    Réponses: 10
    Dernier message: 08/10/2003, 12h24
  3. [Persistence][Framework]Avis.
    Par quilo dans le forum Persistance des données
    Réponses: 5
    Dernier message: 10/09/2003, 14h55
  4. Modifications framework
    Par rgarnier dans le forum XMLRAD
    Réponses: 5
    Dernier message: 18/06/2003, 18h08

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo