iOS (et mac) : Binaire dans exécutable

Bonjour,



J'ai une petite question : est ce qu'il est possible d'inclure un binaire (par exemple un petit programme en C) dans une application iOS et de l'executer dans un thread ? (la question de la validation par Apple ne se pose pas, j'ai juste besoin de savoir si c'est possible).



Je n'ai rien trouvé sur le net à  ce sujet.



Merci !

Réponses

  • Pour le (et Mac): ça je saurai faire sous OSx. Pas de gros problème. C'est à  peu près identique à  faire exécuter un application extérieure. Donc, NSTask ou sous AppleScript "do shell script". Après on peut (peut être) faire plus compliqué avec des NSOpération.

    Pour IOS, j'ignore complètement. Je ne programme pas sous IOS.
  • AliGatorAliGator Membre, Modérateur
    Dans une application OSX c'est possible, avec NSTask.



    Dans une application iOS, on ne peut pas exécuter une NSTask (le truc qui permet de lancer des binaires comme en ligne de commande). Et c'est normal car sur le même principe qu'on ne peut pas inclure de librairies dynamiques dans nos applications iOS, cela ouvrirait la porte à  des risques de sécurité et d'exécution de code arbitraire (par exemple faire télécharger par l'application le binaire depuis le réseau puis l'exécuter, donc faire exécuter n'importe quel binaire malicieux à  ton application sans le faire valider par Apple...)



    Pour faire ça normalement il y a les librairies statiques. Au lieu d'avoir un exécutable autonome et le faire exécuter par ton appli, tu link ton appli à  une librairie qui propose les mêmes choses et tu appelles ses fonctions directement. Encore faut-il avoir une telle librairie à  ta disposition...
  • tabliertablier Membre
    décembre 2012 modifié #4
    Encore faut-il avoir une telle librairie à  ta disposition...
    Ou peut être la fabriquer, si c'est possible sous IOS. C'est possible sous OSx bien sur.
  • AliGatorAliGator Membre, Modérateur
    C'est possible sans aucun problème... si tu as les sources.



    Si tu as juste l'exécutable (binaire) final tout compilé, je ne pense pas que transformer un exécutable complet déjà  compilé en une librairie soit faisable (sous iOS comme sous OSX, le problème est le même sur ce point)
  • J'ai les sources, donc je peux générer une librairie statique. Merci de la réponse !!
Connectez-vous ou Inscrivez-vous pour répondre.