2013-02-25 3 views
8

Je fais une application qui nécessite l'attention complète des utilisateurs jusqu'à ce qu'une cible spécifique soit atteinte. Avant d'atteindre la cible, si un utilisateur essaie d'appuyer sur le bouton "home", il doit être désactivé, ou comme le "mode kiosque" dans ios6. Je devais juste être fait par programme tout en démarrant l'application, n'aime pas faire n'importe quoi en changeant manuellement dans le menu de paramètres dans iPhone/iPad Après l'achèvement de la cible dans mon application, le bouton d'accueil devrait être activé. L'application est destinée à l'entreprise. Donc pas besoin d'approbation de magasin d'applications. Comment faire ça? Merci d'avance. Edit: Je lis à propos de "configuration mobile plist". Cela a besoin de redémarrer l'appareil. Mais je n'aime pas redémarrer l'appareil. Une fois que mon application est démarrée, elle devrait s'occuper de tout (par programmation). Je ne veux pas l'intervention des utilisateurs/superviseurs dans ce domaine. Je veux juste désactiver le bouton d'accueil comme dans 'Accès guidé' mais avec par programmation à l'intérieur de mon application. Existe-t-il une API privée disponible dans 'Accès guidé' pour désactiver le bouton d'accueil?Comment activer un 'mode kiosque' par programme dans ipad?

Note: Pas pour un appareil cassé. Ciblé pour les applications sous licence d'entreprise.

+1

Je ne pense pas que cela soit permis ... – Sagrian

+0

"configuration plist mobile" nécessaire pour redémarrer l'appareil. Mais je n'aime pas redémarrer l'appareil. Une fois que mon application est démarrée, elle devrait prendre de tout (par programmation). Je ne veux pas l'intervention des utilisateurs/superviseurs dans ce domaine. Je veux juste désactiver le bouton d'accueil comme dans l'accès guidé mais par programmation. –

Répondre

2

Sans utiliser des structures privées ou avoir jailbreaké l'appareil, vous ne pouvez pas désactiver le bouton d'accueil automatiquement. La chose la plus proche que vous pouvez faire est que votre utilisateur final utilise l'utilisation de l'accès guidé pour exiger un triple-clic sur le bouton d'accueil pour quitter l'application. L'accès guidé doit d'abord être activé dans l'application Paramètres sous Général -> Accessibilité.

Voir aussi: Disable Home Button Without Rebooting Device - Stack Overflow

+0

Merci. mais il n'y a pas encore de solution exacte dans le lien mentionné ci-dessus. –

+0

Exactement. Ce sujet a déjà été abordé et il n'y a pas de solution pour le moment. – Jeremy1026

11

Zachary Christopoulos a un post sur ce en utilisant une "configuration mobile plist".

Une fois ce profil est installé la première application qui est lancé lorsque le dispositif réamorçage sera la seule application qui fonctionnera jusqu'à ce que vous redémarrez à nouveau l'appareil.

Exemple plist de Zachary's post:

<?xml version="1.0" encoding="UTF-8"?> 
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> 
<plist version="1.0"> 
<dict> 
    <key>PayloadContent</key> 
    <array> 
     <dict> 
      <key>PayloadDescription</key> 
      <string>Disables the home button.</string> 
      <key>PayloadDisplayName</key> 
      <string>Home Button Lock</string> 
      <key>PayloadIdentifier</key> 
      <string>com.zchristopoulos.kiosk</string> 
      <key>PayloadOrganization</key> 
      <string>Zachary Christopoulos</string> 
      <key>PayloadType</key> 
      <string>com.apple.defaults.managed</string> 
      <key>PayloadUUID</key> 
      <string>B2D02E2D-BAC5-431B-8A29-4B91F71C9FC1</string> 
      <key>PayloadVersion</key> 
      <integer>1</integer> 
      <key>PayloadContent</key> 
      <array> 
       <dict> 
        <key>DefaultsDomainName</key> 
        <string>com.apple.springboard</string> 
        <key>DefaultsData</key> 
        <dict> 
        <key>SBStoreDemoAppLock</key> 
        <true/> 
        </dict> 
       </dict> 
      </array> 
     </dict> 
    </array> 
    <key>PayloadDescription</key> 
    <string>Disables Home Button</string> 
    <key>PayloadDisplayName</key> 
    <string>Home Button Lock</string> 
    <key>PayloadIdentifier</key> 
    <string>com.zchristopoulos.hbkill</string> 
    <key>PayloadOrganization</key> 
    <string>Zachary Christopoulos</string> 
    <key>PayloadType</key> 
    <string>Configuration</string> 
    <key>PayloadUUID</key> 
    <string>614D1FE3-F80D-4643-AF6B-D10C4CC8737A</string> 
    <key>PayloadVersion</key> 
    <integer>1</integer> 
</dict> 
</plist> 
+0

Merci. Mais je n'aime pas redémarrer l'appareil. Une fois que mon application est démarrée, elle devrait prendre de tout (par programmation). Je ne veux pas l'intervention des utilisateurs/superviseurs dans ce domaine. –

+0

Ce n'est plus pris en charge sur iOS 7. Ce n'est pas la manière officielle. https://devforums.apple.com/thread/216385?tstart=0 – Prcela

+1

nous devons utiliser App Lock Payload (PayLoadType = com.apple.app.lock) Selon la référence du profil de configuration iOS 6 (https: // developer .apple.com/library/ios/ featuredarticles/iPhoneConfigurationProfileRef/Introduction/Introduction.html # // apple_ref/doc/uid/TP40010206-CH1-SW4). @Rjstelling envisager de donner un exemple de fichier plist pour iOS 7 afin qu'il devienne un guichet unique pour ce paramètre de mode kiosque. –

Questions connexes