2014-11-21 4 views
7

Я попытался отправить данные из приложения iPhone, чтобы продлить расширение набора, но не удалось. И не знаю, как это сделать.Связь с расширением набора часов и приложением для iPhone

Я тестировал на симуляторе и отправлял данные через группы приложений.

Вот мои шаги:

  1. скачать каталог часы набор образец приложение от яблока
  2. Добавить группы App (xxx.xxx.xxx) для iPhone приложений и набор wtach расширения
  3. Добавить RequestOpenAccess: ДА для NSExtensionAttributes (часы расширения комплекта)
  4. Добавить кнопку на iPhone приложение, которое будет записывать значение для NSUserDefaults с конкретной сюитой Названием
  5. Добавьте код в watchkit экс чтобы прочитать данные NSUserDefaults. ([NSFileManager defaultManager] containerURLForSecurityApplicationGroupIdentifier :)

  6. Run смотреть комплект приложение

  7. руководство нажмите приложение каталога в iPhone симулятор
  8. нажмите кнопку добавляемые на шаге 4
  9. добавить точку останова на расширение watchkit к см, если значение NSUserDefaults изменилось
  10. Ничего не случится

Что нужно, что я скучаю?

Или я должен использовать другой способ для этого?

Все, что я хочу сделать, это отправить данные с iPhone, чтобы смотреть каждую секунду. Данные могут быть строкой или изображением.

Благодаря

+0

Вы можете поделиться некоторыми кодами? Вы уверены, что правильно написали файл для группы приложений? – Idan

ответ

1

Чтобы установить связь между iPhone и iWatch я помещал файл в общую папку приложения группы и контролировать его с помощью расширения Watch. Если в приложении iPhone есть какие-либо изменения, он модифицирует файл, и расширение Watch будет уведомлено и может действовать на него.

1

Вам нужно:

  1. Создать приложение группы по обеим целям (iPhone и часы расширения). Убедитесь, что он добавлен в ваш идентификатор приложения по адресу apple developer portal (иногда он не очень хорошо переносится с Xcode).

  2. Написать в группу приложения из приложения iPhone:

    NSString *destFolderPath = [[NSFileManager defaultManager] containerURLForSecurityApplicationGroupIdentifier: 
              @"YOUR_GROUP_STRING"].path; 
    [UIImageJPEGRepresentation(image, 1.0) writeToFile:[destFolderPath stringByAppendingPathComponent:@"Your_Shared_File_Name.jpg"] atomically:YES]; 
    
  3. Читать файл с расширением:

    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]; 
    } 
    

В общем, я предлагаю вам использования MMWormhole которые можно легко использовать, если у вас нет слишком сложных вещей, которые вам необходимо пройти между приложением Watch и Host.

Смежные вопросы