Sandbox et Keychain Access

Bonjour,


 


Lorsque l'on clique sur un bouton, j'execute un bout de code qui permet de locker l'écran :



NSBundle *bundle = [NSBundle bundleWithPath:@/Applications/Utilities/Keychain Access.app/Contents/Resources/Keychain.menu];
Class principalClass = [bundle principalClass];
id instance = [[principalClass alloc] init];
[instance performSelector:@selector(_lockScreenMenuHit:) withObject:nil];

Cela revient à  cliquer sur le cadenas dans le menu bar, puis sur "Verrouiller l'écran" quand vous activez "Activer l'état du trousseau dans la barre des menus" de l'app "Trousseaux d'accès".


 


Cela fonctionne très bien pendant le debug dans Xcode mais pas lorsque je fais un "archive" et que je l'exporte pour tester avant d'envoyer sur l'AppStore. L'application fonctionne après l'export si je désactive "App Sandbox".


 


Avez-vous une idée de comment créer une exception pour que Sandbox ne bloque pas, ou avez-vous déjà  rencontré le problème ?


 


Mots clés:

Réponses

  • CéroceCéroce Membre, Modérateur
    Je ne connais pas précisément les règles de l'App Store, mais c'est précisément le genre de comportements qu'est supposé prévenir le Sandboxing: une application qui en contrôle une autre. Non ?

    À vérifier dans le programming guide sur le Sandboxing, si on peut contourner, mais il est probable que la seule solution est de distribuer en dehors de l'App Store.
  • j'ai eu un cas similaire à  traiter sur une application Mac OS X qui ne pouvait pas fonctionner en mode sandboxing car elle fait appel à  un code externe (donc sort du tas de sable...) et j'ai choisi au final dans assurer la livraison par mes propres moyens (out AppStore;-) :


     


    http://jm.marino.free.fr/index.php?switch=sw_&title=AutomountMaker

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