7
votes

Comment établir un canal de communication entre l'extension Apple Watch / App et l'application iOS

J'explore le SDK Watchkit.

Lorsque j'ai une application Watchkit, est-il possible de définir des valeurs (E.G. Text, Paramètres) à partir de l'application iPhone de l'application Watchkit? Puis-je appeler des fonctions dans l'extension de l'application Watchkit de l'application iPhone?

Si quelqu'un a réussi à faire cela, il / elle peut-il poster un exemple? Merci!


3 commentaires

Semble une question large. Voter à fermer.


@trojanfoe peut-être si cela a été reformulé comme Comment établir un canal de communication entre l'extension Apple Watch / App et l'application iOS, il serait significatif . À ce jour, il n'existe aucune approche documentée officielle, mais pourrait être utile dans un proche avenir.


Merci, j'ai changé le titre par votre suggestion


5 Réponses :


9
votes

Vous pouvez utiliser App Groupe d'applications et SharedDeFault pour partager des données entre l'horlogerie / extension et l'application sur le téléphone. Voir exemple: Watchkit SDK ne récupère pas les données de Nsuserdefault

Étudier sur l'extension IOS8 / des groupes d'applications / SharedDefaults et une extension de Watchkit auront plus de sens.

Cet échantillon prend une uIImage de la carte Shinobi, enregistrez-la aux valeurs par défaut comme image. Ensuite, l'extension choisit l'image par défaut et le montre sur la montre

https://github.com/chrisgrant/chartwatch

Celui-ci utilise la connectivité à plusieurs mûres pour regarder parler à un téléphone.

https://github.com/jsclayton/swatches

Mais cela utilise Bluetooth et je présume que le système d'exploitation de montre communique également au téléphone à l'aide de Bluetooth, donc pas sûr d'être autorisés à être autorisés.

Nous n'avons pas encore de périphériques à tester afin que l'application / Swatches app s'agit simplement de regarder Simuator parler à un simulateur iPhone sur le même Mac.

Si vous avez déjà effectué une programmation AV de niveau bas, vous savez que l'application peut exécuter sur le simulateur mais échoue sur l'appareil car le simulateur peut tromper une couche de support MAC OSX. Peut être la même pour Bluetooth.

Autres échantillons

https://github.com/search?q=wkinterfacecontroller&type=code


0 commentaires

2
votes

Vous pouvez voir cette bibliothèque https://github.com/mutualmobile/mmwormhole

Ce message passe entre les applications IOS et les extensions.


2 commentaires

L'utilisation de groupes d'applications ne fonctionne pas pour moi .. J'ai couru l'application de GitHub pourquoi mes données ne sont pas partagées entre la montre et l'iPhone ??


Vous devez activer les groupes d'applications à partir des paramètres du projet (nécessite un compte de développeur Apple payé)



3
votes

Il existe plusieurs solutions: Coredata , NskeyDunarchiver et nsuserdefault . Avec un contexte commun pour partager la ressource de données commune (paramètres de la base de données, des fichiers ou des paramètres par défaut de l'utilisateur), cela permet aux fonctionnalités des groupes d'applications sur les deux propriétés du projet cibles.

Entrez la description de l'image ici

Dans le Post est expliqué comment le faire par défaut Paramètres et vous pouvez aussi télécharger le projet DEMO.


0 commentaires

1
votes

On dirait que les liens avec cerveau.Clear ne font pas pointer vers la bonne destination pour l'exemple de Shinobichart

https://github.com/shinobicontrols/chartwatch


0 commentaires

3
votes

avec watchos2 maintenant Apple prend en charge le cadre de connectivité de la surveillance pour passer des informations de Watch Extension à l'application et inversement.

extrait des documents d'Apple

communiquer avec votre application de compagnon iOS

Le cadre de la connectivité de la montre vous permet de créer un canal de communication bidirectionnel entre votre extension Watchkit et votre application Companion iOS. Utilisez ce canal pour coordonner les activités entre les deux processus. Par exemple, vous pouvez utiliser ce cadre pour appuyer des informations mises à jour à partir de votre application iOS à votre extension de Watchkit. Le framework fournit des options de transfert de données en arrière-plan ou lorsque les deux applications sont actives et remplacent l'openparentApplication existante: Répondre: méthode de la classe wkInterfacecontroller.

Pour plus d'informations Les classes du cadre de connectivité de la montre, voir montre le cadre de connectivité .

pris de la bibliothèque de développeurs d'Apple


0 commentaires