2010-07-21 3 views
0

J'ai deux exigences pour mon dernier projet:Une application iPhone peut-elle se relancer lorsqu'elle est terminée?

  • Lorsque l'application lance pour la première fois, il doit afficher le dispositif dialer natif et puis de vérifier callDidConnected en arrière-plan.
  • une fois que le callDidConnected est vrai application devrait se lancer.

Ici j'ai essayé la logique suivante:

- (void)applicationDidFinishLaunching:(UIApplication *)application { 


//i am dialing to a IVR from the native dialer 

if (/* A check to validate wether to call or not */) 
{ 
    NSLog(@"Dialing"); 

    [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"tel:"]]; 


    // A loop check wether the call get connected 
    while (!callDidConnected){ 
    callDidConnected = // doing a check with server 
    } 

    // if call get connected then launching my application 
    if (callDidConnected){ 
    [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"MyApp:"]]; 
} 

} 

else 
{ 
    // normal app 
} 
} 



- (void) applicationWillTerminate:(UIApplication *)application 
{ 

} 
  • Je me suis inscrit l'application avec l'URL MyApp.
  • J'ai testé ce code sur un simulateur (sur SDK 3.0/3.2) en ouvrant une autre application (http essayé au lieu de tel protocole). La vérification s'exécute en arrière-plan pendant que d'autres applications natives (safari) s'exécutent au premier plan.

    "Alors, ça a l'air un peu bizarre" disent les gars d'Apple.

    Quelqu'un peut-il m'aider à trouver si je peux utiliser ce code dans mon travail, et sera-t-il acceptable par Apple Store.

+1

Vous ne savez pas exactement ce que vous essayez de faire ... Vous souhaitez ouvrir l'application lorsqu'elle est fermée? -> boucle infinie. Alors comment quitter l'application? – Macmade

+0

J'espère sincèrement qu'Apple restreindra ce genre de comportement et s'ils ne le font pas, je suis sûr que cela ne prendra pas trop de temps avant qu'ils le fassent. –

Répondre

8

Non, ce n'est pas possible ou acceptable. Pensez-y: l'iPhone ne serait pas capable de faire autre chose que d'exécuter cette application, car il se lancerait de nouveau instantanément lorsque vous le quitteriez ... Cela me semble être un malware. Pas quelque chose que je voudrais sur mon iPhone, et je suis heureux qu'Apple limite ce genre de choses.

+1

En outre, cela serait rendu inefficace par la fonctionnalité multitâche d'iOS 4.0, puisque vous pourriez tout aussi facilement l'envoyer en arrière-plan en utilisant le bouton d'accueil et aller à une autre application. –

+0

Alors que pour l'utilisation de l'application, je suis d'accord avec vous @Jasarien que se passe-t-il si vous souhaitez utiliser l'iPhone ou l'iPad comme un kiosque? Ce serait parfait pour ceux si cela fonctionnera. Si vous avez besoin de vraiment quitter l'application, alors vous le sortez du kiosque et redémarrez et il restera hors de l'application. Bien que l'affiche originale semblait préoccupée par l'approbation d'Apple, je ne pense pas que ce soit le cas. – jamone

+0

@jamone Si un kisosk est en cause, le bouton d'accueil de l'iPad/iPhone doit être recouvert pour éviter qu'il ne soit enfoncé. – Jasarien

Questions connexes