2014-11-21 16 views
7

Ho provato a inviare dati dall'app iPhone all'estensione del kit di sorveglianza ma esito negativo. E non ho idea di come farlo.Comunicazione con estensione kit orologio e app per iPhone

Ho provato il simulatore e invio dati tramite gruppi di app.

Ecco i miei passi:

  1. scaricare campione catalogo kit orologio app dalla mela
  2. Aggiungere gruppi App (xxx.xxx.xxx) per iPhone e il kit di estensione Wtach
  3. Aggiungere RequestOpenAccess: SI per NSExtensionAttributes (orologio kit di estensione)
  4. aggiungere un pulsante alla applicazione per iPhone che scriverà un valore NSUserDefaults con la Suite specifica Nome
  5. Aggiungere codice a watchkit ex tensione per leggere i dati NSUserDefaults. ([NSFileManager defaultManager] containerURLForSecurityApplicationGroupIdentifier :)

  6. orologio Run kit app

  7. manuale fare clic sul App Catalog in iPhone simulatore
  8. fare clic sul pulsante aggiunto al punto 4
  9. aggiungere punto di rottura in estensione a watchkit se il valore è cambiato NSUserDefaults
  10. Nulla accade

quanto necessario cose che mi manca?

Oppure dovrei usare un altro modo per farlo?

Tutto quello che voglio fare è inviare i dati da iPhone per guardare ogni secondo. I dati potrebbero essere una stringa o un'immagine.

Grazie

+0

Puoi condividere qualche codice? Sei sicuro di aver scritto correttamente il file per il gruppo di app? – Idan

risposta

1

Per impostare la comunicazione tra iPhone e iWatch mi è stato mettere un file nella cartella di gruppo applicazione condivisa e monitorare dalla estensione Watch. Se c'è qualche modifica nell'app per iPhone, modifica il file e l'estensione Watch verrà notificata e potrà agire su di essa.

1

è necessario:

  1. creare un gruppo di app su entrambi i bersagli (iPhone and Watch estensione). Assicurati che sia aggiunto al tuo ID app su apple developer portal (a volte non passa bene da Xcode).

  2. scrittura al gruppo app da iPhone app:

    NSString *destFolderPath = [[NSFileManager defaultManager] containerURLForSecurityApplicationGroupIdentifier: 
              @"YOUR_GROUP_STRING"].path; 
    [UIImageJPEGRepresentation(image, 1.0) writeToFile:[destFolderPath stringByAppendingPathComponent:@"Your_Shared_File_Name.jpg"] atomically:YES]; 
    
  3. Leggere il file dall'estensione:

    UIImage *image; 
    NSURL *groupURL = [[NSFileManager defaultManager] 
           containerURLForSecurityApplicationGroupIdentifier: 
           @"YOUR_GROUP_STRING"]; 
    
    NSString *imagePath = [groupURL URLByAppendingPathComponent:@"Your_Shared_File_Name.jpg"].path; 
    } 
    
    if([[NSFileManager defaultManager] fileExistsAtPath: imagePath]){ 
        image = [[UIImage alloc] initWithContentsOfFile: imagePath]; 
    } 
    

In generale, vi consiglio di uso MMWormhole che può essere facilmente utilizzato se non ci sono cose troppo complesse che è necessario passare tra l'app Watch e l'host.

Problemi correlati