Не удается перенести передачу с Mac на iOS, даже если переключение с iOS на Mac работает нормально

Я пытаюсь реализовать Handoff между приложением Mac OS и приложением iOS. Он отлично работает, когда приложение iOS находится на переднем плане - в доке на Mac появляется значок "Продолжить действие". Однако я не могу получить значок "Продолжить действие", чтобы отобразиться на экране блокировки устройства iOS, когда приложение Mac находится на переднем плане.

Оба приложения подписаны с одинаковыми учетными данными команды. Оба устройства зарегистрированы в одной и той же учетной записи iCloud (проверено через iCloud.com) и имеют включенный Bluetooth. Передача из приложения Mac, такого как Safari, на устройство iOS работает нормально. И передача обслуживания отлично работает между двумя устройствами iOS, на которых запущено приложение. Есть идеи?

2 ответа

Решение

Я сообщил об отчете об ошибках в Apple, и Apple сказала мне, что info.plist моего приложения для iOS вообще не объявляет NSUserActivityTypes, а info.plist моего приложения Mac правильно объявляет NSUserActivityTypes, что приводит к передаче обслуживания только с iOS на Mac и никогда на Mac. на iOS.

This issue is due to the iOS version of the app not claiming the activity type in the info.plist, resulting in the iOS device not knowing what app to give the handoff to.

В моем проекте Xcode на левой навигационной панели я открыл info.plist, и NSUserActivityTypes действительно уже был там. Но потом я понял, что в моем проекте несколько файлов info.plist, когда я ищу его с помощью Finder в папке проекта. Затем я физически зашел в папку своего проекта с помощью Finder и попытался найти этот файл info.plist, но когда я обнаружил один файл внутри projectName/projectName, он открыл другой файл info.plist, к которому я не смог получить первоначальный доступ через навигатор проекта Xcode. Другой файл info.plist не имел NSUserActivityTypes, и поэтому я добавил его, и woala~ handoff наконец-то сработал с Mac на iOS! Очень странно, что в моем проекте были фальшивые несколько info.plist. Мой настоящий информационный листок был скрыт от Xcode...

Та же проблема со мной, но я выключил и снова включил мой Mac и телефон Bluetooth. Теперь переключение отображается на переключателе приложений моего iPhone

Я думаю, я мог бы найти ответ. Мне удалось заставить его работать после создания профиля обеспечения вручную в центре разработчиков и импорта его в проект Mac (отключить автоматическое управление подписанием). Эта статья помогла, после борьбы с той же проблемой и без помощи DTS, как я.

Другие вопросы по тегам