2010-12-15 56 views
1

lorsque l'utilisateur appuie sur le bouton d'accueil l'application devrait relancer ou il ne devrait pas permettre à l'utilisateur de se terminer. quelle est la meilleure façon de le faire? L'application doit rester sur ipad à moins que l'utilisateur quitte l'application depuis l'intérieur de l'application et non depuis le bouton d'accueil.lancer à nouveau l'application ipad

Je considère la fin de l'application si elle se bloque ou d'autres raisons qui est ok app devrait quitter sans aucun doute, mais pas normalement que l'utilisateur appuyez sur le bouton d'accueil de l'application devrait relancer.

Répondre

1

Ce comportement avec 99% de certitude obtenir votre application rejetée sur l'App Store.

Le comportement normal d'un utilisateur (et Apple) attend est d'avoir l'application quitter ne lorsque le bouton d'accueil est pressé. Tout autre moyen de quitter une application, y compris les boutons spéciaux, les plantages excessifs, etc. le signalera pour le rejet.

+0

"MenuPad" application aurait été alors rejetée par Apple il suffit de vérifier cette application est disponible dans l'App Store. – ashish

+0

... ou peut-être il tombe dans les 1% restants –

+1

FYI, Mode Kiosque dans le menu Pad ne fonctionne pas pour iOS 4.2.1, donc je suppose que Apple définitivement branché le trou. –

4

Il n'y a aucun moyen de le faire. Ce serait une expérience utilisateur horrible de toute façon, et en tant que tel, pas encouragé.

+0

J'ai vu cette fonctionnalité dans une application et mon exigence est comme ça. C'est possible sinon cette application ne devrait pas avoir cette fonctionnalité. Application "MenuPad" – ashish

+0

Je viens de télécharger "MenuPad" et en appuyant sur le bouton d'accueil quitte l'application. J'ai testé sur iOS 4.2. S'ils avaient empêché le bouton d'accueil de quitter l'application, ils ne seraient plus dans l'App Store. Apple aurait rejeté l'application. – Jasarien

+0

De plus, son option "relancer quand elle est fermée" n'a aucun effet sur iOS 4.2 non plus - le fait que cela soit possible était évidemment considéré comme un bug par Apple et corrigé. – Jasarien

0

Vous pouvez le faire que pour iOS 3.2 En applicationWillTerminate faire

NSString *UrlString = [NSString stringWithString: @"yourAppSchema:"]; 
    [application openURL:[NSURL URLWithString:[UrlString stringByAddingPercentEscapesUsingEncoding: NSUTF8StringEncoding]]]; 

D'abord, vous devez mettre à jour votre Info.plist de votre application pour soutenir un schéma url

<key>CFBundleURLTypes</key> 
    <array> 
     <dict> 
      <key>CFBundleURLSchemes</key> 
      <array> 
       <string>yourAppSchema</string> 
      </array> 
      <key>CFBundleURLName</key> 
      <string>com.yourCompany.yourAppSchema</string> 
     </dict> 
    </array> 

La façon dont vous faites ceci est de mettre votre iPad dans quelque chose comme This Et aussi lire ceci thread.

+0

lorsque l'utilisateur appuie sur le bouton home app entre en arrière-plan ce délégué est appelé - (void) applicationDidEnterBackground: (UIApplication *) application alors ici le lancement de l'URL ne va pas ouvrir à nouveau l'application, sauf si elle est à l'état actif. - (void) applicationWillTerminate: application (UIApplication *), elle sera appelée uniquement lorsque l'utilisateur supprime l'application du dock. – ashish

+0

Et dans ce délégué vous rouvrez votre application. C'est le seul moyen de le faire. Il n'y a pas d'autre moyen de désactiver le bouton d'accueil. J'ai posté un bug à Apple et voici la réponse "Après une enquête plus approfondie, il a été déterminé qu'il s'agit d'un problème connu, qui est actuellement étudié par l'ingénierie." –

+0

mais dans iOS 4.2 même si nous écrivons une URL personnalisée dans - (void) applicationWillTerminate: (UIApplication *) l'application ne sera pas exécutée. des raisons pour cela. Mon système d'url est déjà réglé que j'ai vérifié en ouvrant que dans l'application de safari - ashish il ya 6 minutes – ashish