Передача данных между устройствами iOS и Mac не работает

#ios #objective-c #xcode #macos #handoff

#iOS #objective-c #xcode #macos #передача данных

Вопрос:

Я внедряю приложения как для iOS, так и для Mac. Я реализовал функцию передачи данных в обоих приложениях. Когда я тестирую реализацию, она работает хорошо, когда:

  • запустите приложение iOS и продолжайте в приложении iOS
  • запустите приложение iOS и продолжите в приложении Mac

Но это не работает, когда я запускаю приложение для Mac и хочу продолжить в приложении для iOS. По логике вещей, проблема заключается в том, что я создаю UserActivity и становлюсь текущим в приложении Mac. Но код для iOS и Mac одинаковый, поэтому я не знаю, в чем проблема.

 // Create userActivity
_userActivity = [[NSUserActivity alloc] initWithActivityType:@"com.myapp.image"];
_userActivity.title = @"Image";
_userActivity.supportsContinuationStreams = YES;
_userActivity.delegate = self;
_userActivity.userInfo = @{
                           @"Key" : @"information from the other device",
                           @"URL" : @"http://www.apple.com"
                           };
[_userActivity becomeCurrent];
  

Спасибо!

Комментарии:

1. У меня такая же проблема, я открыл тикет DTS и до сих пор не нашел решения после пары недель расследования : (

2. ЗДЕСЬ ТО же самое! С помощью точно такого же кода передача данных работает с iOS на macOS, но я не могу заставить передачу данных работать с macOS на iOS. Должно быть, это ошибка Apple, поскольку у вас, ребята, те же проблемы. Удивлен, обнаружив это здесь.

Ответ №1:

Я отправил отчет об ошибке с идентификатором: 41374510 с заголовком: Передача данных не работает с macOS на iOS.

Я протестировал это с тем же кодом в обратном порядке с iOS на macOS, и это отлично сработало, поэтому я предполагаю, что это ошибка Apple.

Комментарии:

1. Я получил ответ от Apple, в котором говорится, что ошибки нет. -> Привет, нам не удалось воспроизвести эту проблему с помощью предоставленных инструкций. Мы создали приложение для iOS и macOS и можем передавать данные Mac -> Mac, iOS -> iOS, iOS -> Mac и Mac -> iOS. Для диагностики конкретной проблемы, которую вы видите, нам понадобится sysdiagnose с обоих устройств, на которых вы тестируете. Не могли бы вы, пожалуйста, выполнить приведенные ниже шаги, чтобы собрать нужные нам журналы. Примечание, передача данных больше не работает с экрана блокировки на iOS, тестирование необходимо выполнить с док-станции для iPad или с помощью переключателя приложений iPhone.

2. @coocool1994, спасибо, App Switcher имеет значение! 👍