2017-08-14 3 views
0

Supposons que j'ai une version Pro de l'application watchOS et que je souhaite rediriger l'utilisateur vers l'App Store sur l'iPhone. Comment y parvenir?Comment ouvrir App Store à partir d'une application watchOS?

J'ai essayé d'utiliser WatchConnectivity. Dans l'application iOS, j'ai le code suivant:

func session(_ session: WCSession, didReceiveMessage message: [String : Any]) { 
    if message[.openProAppOnAppstoreMessageKey] != nil { 
     // NOTE: Works only in foreground 
     UIApplication.shared.openURL(.proApp) 
    } 
} 

Le problème est que cela ne fonctionnera que si l'application iOS est au premier plan. En arrière-plan, session(didReceiveMessage:) est appelé avec succès, mais openURL n'a aucun effet.

Répondre

0

Vous ne pouvez pas mettre votre application iOS au premier plan en utilisant WatchConnectivity et vous ne pouvez pas ouvrir d'applications en arrière-plan. L'utilisateur doit ouvrir votre application pour que cela fonctionne.

Ceci est une limitation intentionnelle par Apple, imaginez les conséquences si les développeurs pouvaient mettre les applications de l'arrière-plan au premier plan et ouvrir d'autres applications.

+0

Comment cette description de 'updateApplicationContext' peut-elle aider dans ma question particulière? Je veux ouvrir App Store immédiatement et 'updateApplicationContext' ne convient pas pour cela. – kelin

+0

Avant le montage, il n'était pas clair du tout quel est le problème réel. Cependant, j'ai mis à jour ma réponse en fonction de votre modification. –