Share via


Hello, watchOS – Procédure pas à pas

Une fois que vous avez créé une solution en suivant les étapes décrites dans Installation et installation, vous disposez de 3 projets :

  • Application parente iOS utilisée pour l’installation ou d’autres tâches d’administration sur l’appareil. (Avec d’autres types d’extensions iOS, on parle souvent d’application « conteneur ». Avec Watch Apps, il sera possible pour les utilisateurs de commencer à exécuter l’application Espion sans jamais exécuter l’application parente ;
  • L’extension Watch qui contient le code du programme pour l’application watch ; et
  • L’application Watch, qui contient les ressources de storyboard et d’image qui sont affichées sur le watch.

Vérifiez que vos références sont correctes : que l’application parente a une référence à l’application Espion et que l’application Espion a une référence à l’extension.

Vérifiez que vos identificateurs de bundle respectent la convention *.watchkitextension *.watchkitapp et que la valeur du fichier Info.plist de votre extension est définie sur l’identificateur de bundle de votre application watch.

Vous devriez être en mesure d’exécuter votre application Espion maintenant, mais étant donné que le fichier de table de montage séquentiel dans votre application Espion est vide, vous ne pouvez pas le dire.

Double-cliquez sur interface.storyboard dans votre application Espion pour démarrer le Designer iOS Xamarin (si vous êtes sur un Mac, vous pouvez également cliquer avec le bouton droit et ouvrir avec > le générateur d’interface Xcode)

  1. Vérifiez que les pavés Boîte à outils et Propriétés sont visibles,

  2. Cliquez pour sélectionner le contrôleur d’interface,

  3. Définissez l’identificateur et le titre du contrôleur d’interface sur interfaceController et Hi Watch,

  4. Vérifier que la classe est définie sur InterfaceController

    Définissez l’identificateur et le titre du contrôleur d’interface sur interfaceController et Hi Watch

Créez votre interface utilisateur :

  1. À partir du panneau Boîte à outils ,
  2. Glisser-déplacer un bouton et une étiquette sur la scène, et
  3. Définissez le texte et les attributs des contrôles comme indiqué :
  1. Définissez le Nom dans le panneau Propriétés pour chaque contrôle. Dans cet exemple, nous avons utilisé myButton et myLabel.

  2. Sélectionnez le bouton dans le storyboard et accédez à la liste Événements du panneau Propriétés, puis

  3. Créez une action en tapant OnButtonPress et en appuyant sur Entrée. L’action s’affiche dans la liste et une méthode partielle est automatiquement créée en C#.

L’action OnButtonPress ajoutée à un bouton

Après avoir enregistré le storyboard, InterfaceController.designer.cs est mis à jour avec les noms et actions de contrôle. Si vous ouvrez ce fichier après sa mise à jour, vous pouvez voir comment le RegisterAttribute correspond au contrôleur et comment les contrôles d’interface utilisateur correspondent aux variables C# instance marquées avec le OutletAttribute et comment les actions sont mappées aux méthodes partielles marquées avec le ActionAttribute:

// WARNING
//
// This file has been generated automatically by Visual Studio for Mac from the outlets and
// actions declared in your storyboard file.
// Manual changes to this file will not be maintained.
//
[Register ("InterfaceController")]
partial class InterfaceController
{
    [Outlet]
    [GeneratedCode ("iOS Designer", "1.0")]
    WatchKit.WKInterfaceButton myButton { get; set; }

    [Outlet]
    [GeneratedCode ("iOS Designer", "1.0")]
    WatchKit.WKInterfaceLabel myLabel { get; set; }

    [Action ("OnButtonPress:")]
    [GeneratedCode ("iOS Designer", "1.0")]
    partial void OnButtonPress (WatchKit.WKInterfaceButton sender);

    void ReleaseDesignerOutlets ()
    {
        if (myButton != null) {
            myButton.Dispose ();
            myButton = null;
        }
        if (myLabel != null) {
            myLabel.Dispose ();
            myLabel = null;
        }
    }
}

Maintenant, ouvrez InterfaceController.cs (et non InterfaceController.designer.cs) et ajoutez le code suivant :

int clickCount = 0;
partial void OnButtonPress (WatchKit.WKInterfaceButton sender)
{
  var msg = String.Format("Clicked {0} times", ++clickCount);
  myLabel.SetText(msg);
}

Ce code doit être assez transparent : la variable clickCount instance est incrémentée chaque fois que la fonction OnButtonPress est appelée. Le texte de myLabel est modifié pour refléter ce nombre ; myLabel, bien sûr, est le nom de l’un des outlets que vous avez créés dans XCode. La partial fonction est l’implémentation de la fonction associée au nom de l’action que vous avez spécifiée.

S’il ne s’agit pas déjà du projet de démarrage,

  1. Cliquez avec le bouton droit sur votre projet d’extension Watch et choisissez Définir comme projet de démarrage.

  2. Définissez la cible de déploiement sur une image de simulateur compatible avec watch kit (par exemple iPhone 6 iOS 8.2),

  3. Appuyez sur le bouton Déboguer pour déclencher un lancement de build et de simulateur.

    Éléments de l’interface Visual Studio

Au lancement du simulateur, appuyez sur le bouton pour incrémenter l’étiquette. Félicitations, vous avez vous-même une application watch !

Application en cours d’exécution dans le simulateur