2012-05-07 5 views
1

Je suis actuellement en sandbox un programme qui se connecte au casque NeuroSky MindWave; essentiellement un dispositif de lecture d'ondes cérébrales qui se connecte via un dongle USB et utilise Blutooth entre les deux.Mac Sandbox & file-ioctl

Le périphérique est accessible via le socket /dev/tty.MindWave.

J'ai ajouté un droit temporaire pour un accès en lecture droit au fichier:

<key>com.apple.security.temporary-exception.files.absolute-path.read-write</key> 
    <array> 
     <string>/dev/tty.MindWave</string> 
    </array> 

et qui se débarrasse des messages d'erreur sandboxd pour le fichier, mais apporte maintenant l'erreur suivante:

deny file-ioctl /dev/tty.MindWave 

Il ne semble pas y avoir d'autorisation temporaire correspondante, ce qui signifie que je devrai bientôt supprimer le support pour l'appareil de la version Mac App Store.

Avant de le faire, cependant, je pensais que je serais d'envoyer un SOS et de voir si quelqu'un dans ce groupe a une solution ..

Toute aide serait très apprécié.

Meilleures salutations,

Frank

Répondre

0

Ce document pourrait aider:

http://developer.apple.com/library/ios/#DOCUMENTATION/Miscellaneous/Reference/EntitlementKeyReference/EnablingAppSandbox/EnablingAppSandbox.html

et il semble que la clé d'exploitation dont vous avez besoin est:

com.apple.security.device.usb 

Je me sens votre douleur: je me bats avec des éléments de connexion dans le sable boîte et viennent juste d'arriver au bout d'un long tunnel!

Espérons que cela aide et que l'appareil sonne étonnant - avait entendu parler de telles choses, mais ne se rendait pas compte qu'ils étaient accessibles au public!

Todd

+0

Merci pour la suggestion. Je suis assez certain que j'ai essayé le droit com.apple.security.device.usb, mais que cela n'a pas fonctionné. Le plug-in Cocoa que Neurosky a intégré à votre application ne communique pas directement avec le périphérique, mais avec le démon qui s'exécute en tant que processus séparé. Je vais essayer à nouveau juste au cas où, comme je sais peu de choses sur la façon dont leur pilote de périphérique fonctionne :-) –

+0

Ahh, un démon. Cela pourrait être problématique dans le bac à sable. Assurez-vous qu'il est également en sandbox et en code. Il se peut qu'il doive être placé dans un endroit spécifique aussi. Jetez un oeil à http://www.delitestudio.com/2011/10/25/start-dockless-apps-at-login-with-app-sandbox-enabled/ il pourrait être utile ici .... – Todd