Как настроить передачу данных из веб-браузера в родное приложение в iOS 8

Я пытаюсь настроить переключение между веб-браузером и родным приложением, но безуспешно. Я уверен, что просто пропустил шаг. Вот что я сделал

  1. Обновил свой bundleId с помощью параметра «Связанные домены» и создал новые профили подготовки на сайте разработки.
  2. В Xcode мои домены добавлены в список «Связанные домены» на вкладке «Возможности».
  3. Создал файл json.txt с моим bundleId, включая идентификатор команды
  4. Подписал файл json.txt ключом и сертификатом, которые я использую для https
  5. Загрузил файл apple-app-site-association в корень сайта

У меня уже работают функции Native App-to-Native App Handoff и Native App-to-Web Browser Handoff. Что мне не хватает?

Это единственная документация, над которой я работал.

https://developer.apple.com/library/mac/documentation/UserExperience/Conceptual/Handoff/AdoptingHandoff/AdoptingHandoff.html#//apple_ref/doc/uid/TP40014338-CH2-SW10


person respectTheCode    schedule 31.10.2014    source источник


Ответы (2)


У нас была такая же проблема, и мы потратили довольно много часов, чтобы решить ее.

Нам удалось решить эту проблему, добавив в наш файл JSON ключ activitycontinuation.

В итоге вот как выглядит наш json:

{ 
  "webcredentials": {
    "apps": ["TeamID.bundleIdentifier"]
  },
  "activitycontinuation": {
    "apps": ["TeamID.bundleIdentifier"]
    }
}

Убедитесь, что ваш json всегда проверяется (для этого попробуйте jsonlint.com), так как недопустимый json может легко стать причиной ошибок и вопросы.

person Lefteris    schedule 05.02.2015

У вас тоже есть эта проблема, с бонусом в том, что универсальные ссылки также работают в iOS 9. Пробовал все вышеперечисленное, и все еще не смог заставить его работать надежно.

Кажется, медленно выбрать собственный вариант по сравнению с вариантом продолжения браузера.

Также кажется медленным обновление кеша ассоциации apple-app-site-association, поэтому вы можете изменить его и некоторое время не видеть никаких изменений.

Одна причуда: похоже, что универсальные ссылки возвращают activity.webpageURL.host как «www.example.com», тогда как передача возвращает «example.com».

Обновление: он работает НАМНОГО лучше, если вы используете Safari в качестве браузера вместо Chrome. Поднимает передачу гораздо быстрее и надежнее.

person Richard    schedule 29.08.2015