2010-02-06 4 views
1

J'essaie d'exécuter un script Ruby à partir d'un cydget (cydget est une structure faite par Saurik pour écrire des lockscreens sur l'iPhone, en utilisant le script, qui est un mélange de javascript & objc - voir http://www.cycript.org/) Le script va d'abord vérifier Si un serveur WEBrick est en cours d'exécution, le cas échéant, il quittera silencieusement, sinon il démarrera le serveur. Apparemment, l'iPhone ne supporte pas NSTask, et je ne sais pas si l'implémentation de script d'obj-c le fait ou non. (Pour être honnête, je n'ai aucune idée de comment fonctionne obj-c en script!) Je ne suis pas inquiet pour la sécurité, car je cours une commande spécifique: "ruby server.rb", et tout le reste sera géré à travers le serveur Web lui-même.Comment exécuter une commande système dans un cydget en utilisant l'objectif c ou le javascript?

Existe-t-il un moyen autre que NSTask dans l'objectif-c, ou d'une manière quelconque en javascript ou HTML que je puisse exécuter une commande arbitraire sur la machine locale?

Merci!

Brent

Répondre

0

Vous ne pouvez pas bifurquer un autre processus sur un iPhone à tous (en supposant que nous parlons d'une application légitime développé contre SDK officiel d'Apple). Pas de NSTask, pas de fork()/exec(), pas de système(), rien.

+0

Merci! Ce ne sera pas une application approuvée par Apple Cydget vous permet réellement de mettre des pages Web à partir d'un répertoire local sur le lockscreen, et en utilisant le script dans Tags, vous pouvez exécuter le code objectif C. Ce n'est certainement pas quelque chose que Apple autorise intentionnellement! Je ne sais pas quel est le code obj c que je dois lancer pour démarrer mon serveur! – Brent

0

Donc, il semble que la meilleure solution est d'attendre - Saurik sortira avec un moyen d'utiliser directement Ruby dans un cydget, mais il ne sera probablement pas sorti pendant quelques mois ... :(I

Questions connexes