Как открыть собственное приложение iOS (календарь, заметки …) по ссылке на веб-сайте?

#html #ios #hyperlink #url-scheme

#HTML #iOS #гиперссылка #url-схема

Вопрос:

Можно ли открыть собственное приложение iOS, например, календарь или заметки, по HTML-ссылке, которая находится на веб-сайте? Я пытался найти пример, но не смог. Я столкнулся с этими схемами URL, но я не знаю, как их использовать и какова схема URL для календаря или заметок. Возможно ли просто сделать что-то подобное:

 <a href="calendar://something here?">Click me!</a> 
  

Возможно ли это сделать только с помощью HTML или требуется JavaScript?

Ответ №1:

Если вы ищете схему URL, календарь iPhone: CALSHOW:

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

1. Спасибо!. И для всех, кто ищет, приложение «напоминания» x-apple-reminder://

Ответ №2:

У календаря и заметок нет схем URL. Apple предоставляет ссылку на те из своих приложений, которые используют схемы URL здесь:

https://developer.apple.com/library/archive/featuredarticles/iPhoneURLScheme_Reference/Introduction/Introduction.html

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

1. 1 для соответствующей официальной документации, но опоздавшие должны увидеть ответ @Cro ниже для неподдерживаемых, но работающих схем.

Ответ №3:

Да, вы вполне можете это сделать. Вы правы, разместив ссылку следующим образом:

<a href="calendar://">Click me!</a>

Теперь перейдите к файлу info.plist вашего приложения iOS. В этом добавьте следующие теги:

 <key>CFBundleURLTypes</key>
<array>
<dict>
    <key>CFBundleURLName</key>
    <string>com.companyname.appname</string>
    <key>CFBundleURLSchemes</key>
    <array>
        <string>calendar</string>
    </array>
</dict>
</array>
  

Сохраните файл plist и выйдите из него. После этого, когда вы откроете веб-страницу в браузере Safari на вашем устройстве iOS и нажмете на ссылку, ваше приложение iOS будет запущено.
Надеюсь, это поможет!

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

1. Спасибо за вашу помощь! Что, если у меня нет собственного приложения? Если я просто создаю веб-страницу, и я хотел бы иметь ссылку, которая открывала бы календарь пользователя на их iPhone или iPad.

2. К сожалению, тогда этот метод будет невозможен, потому что вставка вышеупомянутого ключа в info.plist-файл приложения, которое вы хотите вызвать, будет невозможна (поскольку календарь является приложением iPhone по умолчанию). Вам потребуется хук для приложения Календаря, о котором, к сожалению, я не знаю.

3. Я попробовал использовать свое приложение для iOS, но безуспешно. Я добавил эти теги в свой файл info.plist, и они корректно отображались в Xcode, как здесь . Я создал HTML-файл с этим тегом <a> . Я создал приложение для своего iPad, но когда я нажимаю на ссылку, появляется надпись «нет подключения к Интернету», которая иногда появляется, если у меня отсутствует какой-то HTML-файл. В этом случае, похоже, он не понимает мой href=»calendar: //». В чем может быть проблема?

4. Учебник идеален. Я надеюсь, что вы тестировали это, используя только браузер Safari вашего симулятора iPhone и никакой другой браузер, потому что это не будет работать в вашем настольном браузере. Если вы используете браузер вашего симулятора, то я не вижу причин, по которым он не должен работать для вас.

5. Я протестировал его на симуляторе iPad и на iPad. У меня есть шаблон цифрового журнала WoodWing в Xcode, который я использую для создания приложения. HTML-страница встроена на страницу цифрового журнала, и я предполагаю, что она использует mobile Safari, потому что на ней работает весь материал webkit. Ну, я думаю, мне просто нужно более внимательно посмотреть, не сделал ли я что-то не так.