Dans mon application iOS 4, j'ai besoin d'ouvrir une URL à partir de l'arrière-plan, à un moment spécifié de l'utilisateur. Cependant, pour une raison quelconque, je ne peux pas lancer une URL de l'arrière-plan pour une raison quelconque. Voici mon code pour ouvrir une URL:
if (![[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"http://www.stackoverflow.com"]]) { // the URL wasn't opened. we will ignore this for now. }
3 Réponses :
Ceci n'est pas pris en charge par iOS. Par Support pour certains types de fond
L'exécution doit être déclarée à l'avance
par l'application qui les utilise
[Via] Un tableau contenant un
ou plus de chaînes avec ce qui suit
Valeurs: p>
... p>
En plus des touches précédentes, iOS
fournit deux autres moyens de travailler dans
le fond: p>
Votre utilisation ne répond pas à aucun des types de multitâche autorisés. P>
Les appels Uikit ne peuvent s'exécuter que sur le fil principal. Je pense que parce que cela fonctionne sur un fil d'arrière-plan, Safari visit toujours l'URL, mais em> votre application est toujours active. Essayez d'ouvrir Safari peu de temps après et voyez s'il chargeait l'URL. P>
La solution serait de mettre ceci sur le thread principal et laissez ainsi votre application à l'heure à laquelle le code est exécuté. Cela ne ressemble pas à ce que vous voulez que ce soit, désolé. Si vous souhaitez visiter l'URL de dans em> votre application, vous pouvez présenter une uiWebView. P>
Je crois que je l'ai trouvé (ne fonctionne pas sur le simulateur, car il passe des commandes au terminal sur le Mac, car il n'y a pas de ligne de commande pour le simulateur). Utilisez ceci: qui passera la commande uiopen code> (trouvé via jailbreak) sur le périphérique, le forçant à ouvrir cette URL. J'espère que cela aide les autres dans ma position. P> p>
@Adruzh oui vous faites, cette commande ne fonctionne pas sur un appareil unjailroken :(