web-dev-qa-db-fra.com

Verrouillez l'iPhone / iPod / iPad pour qu'il ne puisse exécuter qu'une seule application

Nous aimerions "verrouiller" un iPhone/iPod/iPad afin que l'utilisateur ne puisse exécuter qu'une seule application (nous avons développé cette application en interne). Je suppose que nous envisagerions de jailbreaker, puis de remplacer (?) L'application Springboard par défaut.

Pouvons-nous faire cela? Si c'est le cas, comment?


EDIT: iOS 7 inclut désormais une charge utile 'App Lock' dans le profil de configuration de l'appareil. À partir des documents Apple:

"En installant une charge utile de verrouillage d'application, l'appareil est verrouillé sur une seule application jusqu'à ce que la charge utile soit supprimée. Le bouton d'accueil est désactivé et l'appareil revient automatiquement à l'application spécifiée au réveil ou au redémarrage."

En savoir plus à ce sujet ici:
https://developer.Apple.com/business/documentation/Configuration-Profile-Reference.pdf

58
wpearse

Il est possible de mettre un iPad ou un iPhone en mode 'Store Demo' afin que le bouton d'accueil et le geste de glisser vers la maison soient désactivés. Si vous avez vu les iPad dans le magasin Apple exécutant les applications de signe intelligent, vous saurez ce que je veux dire.

Il est en fait assez trivial de faire cela, tout ce que vous avez à faire est d'installer une liste de configuration mobile correctement formatée à partir d'un serveur Web.

Pour livrer votre configuration à partir du Web, il vous suffit de diriger l'iPhone vers une URL contenant le profil. Ouvrez simplement le lien vers votre fichier .mobileconfig dans safari. Si vous n'avez pas d'espace Web, vous pouvez simplement utiliser les URL des dossiers publics de dropbox ou allumer votre serveur Web mac.

Il est possible que vous puissiez également charger la configuration à l'aide d'IPCU, mais je n'ai pas essayé cela. Ce fichier de configuration ne se chargera pas dans l'utilitaire de configuration iPhone car il utilise des clés que IPCU ne connaît pas. Vous pouvez combiner cela avec tous les autres profils de configuration d'entreprise que vous avez en jeu.

MODIFIER : @ cocoanetics a souligné que IPCU n'est pas requis pour supprimer le profil. Notez toutefois que pour que votre appareil revienne à la normale, vous devez procéder comme suit:

  1. Redémarrer
  2. Ouvrez d'abord l'application des paramètres - n'ouvrez rien d'autre ou vous devrez redémarrer à nouveau
  3. Paramètres-> Général-> Profils -> [votre profil] supprimez-le.
  4. Redémarrer

vous devriez revenir à la normale.

J'ai inclus un exemple de liste qui désactivera le bouton d'accueil et verrouillera votre appareil dans l'application.

MÉFIEZ-VOUS

Une fois ce profil installé, la première application lancée au redémarrage de l'appareil sera la seule qui fonctionnera jusqu'à ce que vous redémarriez à nouveau l'appareil. @ Cawas a déclaré que cela désactivait complètement la possibilité de revenir à l'écran d'accueil (à moins que votre application ne plante), y compris la fonction d'assistance d'accessibilité.

Notez qu'après avoir installé le profil, vous devez redémarrer l'appareil (éteindre, allumer) pour qu'il prenne effet. Pour supprimer le profil, branchez l'appareil dans IPCU et supprimez-le, puis redémarrez l'appareil. Tout reviendra à la normale.

<?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 home</string>
            <key>PayloadDisplayName</key>
            <string>Home Button Lock</string>
            <key>PayloadIdentifier</key>
            <string>com.hbkill.kiosk</string>
            <key>PayloadOrganization</key>
            <string>My Org</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.hbkill</string>
    <key>PayloadOrganization</key>
    <string>My Org</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>

Vous vous êtes peut-être bien éloigné de cela, mais j'ai pensé publier cette réponse ici lorsque je suis tombé sur la question pendant que j'essayais de comprendre comment faire la même chose.

97
Rick

Il s'agit d'une fonctionnalité d'iOS 6 qui peut être utilisée sans tentatives de piratage. Cela s'appelle "accès guidé". Je petit tutoriel est ici .

EDIT: dans le cas où la batterie de l'appareil est vide alors qu'elle est entre les mains d'un utilisateur restreint, l'utilisateur pourrait recharger l'appareil et il redémarrera sans accès guidé. Cependant, si vous choisissez d'utiliser un mot de passe pour l'appareil, cela ne devrait pas poser de problème.

23
brainray

Une alternative à l'approche (certes beaucoup plus simple) décrite par Rick consiste à:

4
Yang Meyer

http://www.Apple.com/support/ipad/enterprise/

Apple fournit des outils de configuration d'entreprise qui permettent de contrôler les applications autorisées, etc. Cela se fait grâce à la gestion des profils, semble-t-il. Voir le lien pour plus de détails

3
James Selleck

Je suis d'accord avec un commentaire d'il y a quelques heures: Paramètres> Général> Restrictions devrait faire l'affaire. Si l'utilisateur ne peut rien installer, ne peut pas accéder à Safari ou à Mail, il n'y a aucune raison de quitter votre application.

2
Kevin Renskers

Um - je ne savais pas s'il s'agissait d'une réponse ou d'un commentaire mais - la solution qui fait maintenant partie de la question a une faiblesse - notre personnel de support a utilisé cela et a constaté que si vous "appuyez sur le bouton d'alimentation pour" désactiver " puis maintenez le bouton d'accueil enfoncé pendant que vous allumez et faites glisser pour déverrouiller. Parfois, l'iPad démarre sur la page d'accueil ou bien XXAPPLCATIONXX se bloque, puis retombe sur la page d'accueil. Quoi qu'il en soit, X peut accéder à la page d'accueil sans le mot de passe. "

0
Joe

j'ai trouvé un moyen de quitter cet état de verrouillage à domicile. j'ai installé "backgrounder" via cydia qui fait fonctionner votre application en arrière-plan si vous appuyez sur le bouton d'accueil pendant une seconde ou plus. et maintenant, lorsque je presse longuement le bouton d'accueil, je reviens à l'écran d'accueil.

c'est tout.

faites attention à longpress.

0
iWill

Bloquer l'accès à Internet depuis l'appareil (le filtre MAC sur le wi-fi peut faire l'affaire). Tout autre problème non lié à Internet (musique, jeux, etc.) devrait déjà être résolu par l'infrastructure informatique actuelle (sauf si vos développeurs jouent et écoutent des MP3 au travail).

0
Eduardo Costa