Как сделать перенос из родного приложения в веб-браузер?
Я прочитал документацию и понимаю, что с помощью Handoff я могу обмениваться данными между конкретным веб-сайтом и приложением.
У меня есть кураторский список элементов из различных RSS-каналов, все ссылки на разные сайты. Я хотел бы дать пользователю возможность открывать ссылку на элемент (например, кнопку "Еще") в Safari на своем Mac вместо Safari на своем iPhone.
Поскольку все ссылки будут из разных доменов, сертификаты на самом деле не применяются. Можно ли открыть Safari на Mac с определенным URL-адресом из приложения iOS с помощью Handoff? Я не мог понять из документации, была ли это возможность или нет.
1 ответ
Создайте объект NSUserActivity и укажите свойство webPageURL. Используйте тип активности, специфичный для вашего приложения. Если на Mac нет приложения, поддерживающего этот конкретный тип активности, тогда Safari поднимет его.
NSUserActivity* myActivity = [[NSUserActivity alloc]
initWithActivityType: @"com.company.acme.myapp"];
myActivity.webpageURL = [NSURL URLWithString:@"http://www.google.co.uk"];
Согласно документам для NSUSerActivity.webPageURL:
Если на возобновляемом устройстве не установлено подходящее приложение и задано свойство webpageURL, указанная веб-страница загружается, и действие пользователя продолжается в веб-браузере.
Оба потока (приложение-браузер и браузер-приложение) описаны в https://developer.apple.com/library/archive/documentation/UserExperience/Conceptual/Handoff/AdoptingHandoff/AdoptingHandoff.html
Ваш вопрос относится к разделу "Передача из собственного приложения в браузер".