Actuellement, mon application iPad met en œuvre le multitâche. Cependant, je voudrais offrir à l'utilisateur une option pour désactiver le multitâche. Est-ce possible, étant donné que vous ne pouvez pas modifier le dictionnaire Info.plist où la clé UIApplicationExistsOnSuspend
est définie?Activation et désactivation du multitâche dans l'application
Répondre
Eh bien, vous pourrait mis un drapeau dans votre délégué application qui serait tout simplement quitter votre application lorsque le drapeau est TRUE dans la méthode de délégué applicationDidEnterBackground:
, comme ceci:
@interface MyAppDelegate : NSObject <UIApplicationDelegate> {
BOOL multitasking;
...
}
...
@end
@implementation MyAppDelegate
- (void) applicationDidEnterBackground:(UIApplication *)application {
if(!multitasking) {
exit(0);
return;
}
...
}
...
@end
Est-ce que iOS "termine" doucement les applications lorsque l'utilisateur se ferme? Si oui, existe-t-il une alternative à "exit (0)"? –
@Evan, Non, il n'y a aucun moyen de "doucement" terminer les applications dans le code. –
La réponse à votre question est oui, iOS * fait * "doucement" la terminaison des applications. Il existe une méthode sur UIApplication nommée _terminateWithStatus: cela fonctionne. Cependant, il est privé donc il n'y a pas de moyen (endossé par Apple) pour * vous * de terminer doucement une application. Appeler exit() va tuer l'application, mais vous ne vous ferez pas d'amis avec. Donc, je crois que la réponse à vos questions initiales est non. –
Par curiosité, pourquoi un l'utilisateur choisit de désactiver le multitâche (c'est-à-dire quel est le compromis)? –
Mon application lit l'audio en arrière-plan. Parfois, pendant ma phase de test, je ne voulais pas que l'audio reste actif lorsque je passais d'une application à l'autre, d'où l'option conviviale. –