Найдите схему url-адресов приложения на моем iphone

Карты Apple могут открывать приложения для маршрутизации, когда они не могут указать маршрут:

Apple Maps showing Routing Apps

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

Как я могу узнать схемы URL-адресов тех приложений, которые установлены на моем iPhone?

Одна из идей - сделать резервную копию через iTunes и в info.plist приложения. В этом списке схемы URL-адресов должны быть определены с помощью ключа cfbundleurlschemes.

Я думаю, что нашел такое приложение в резервной копии, но я не знаю, как извлечь файл, чтобы получить файл info.plist. добавление .zip и распаковка не работают.

Также приветствуются другие способы получения схемы URL-адресов, особенно способы получения параметров примера схемы URL-адресов приложения. Так что было бы неплохо посмотреть на Apple Maps, как открывается конкретное приложение для маршрутизации.

Да, я знаю, как открывать Google Maps. Я хочу знать, как открыть те, по которым я не могу найти документацию.

Итак, как я могу узнать схемы URL-адресов приложений маршрутизации на моем iPhone?

Есть ответ, предлагающий извлечь файл .ipa, но файлов .ipa в iOSA 11 больше нет.

Дубликат stackoverflow.com/questions/37950962/…?

matt 13.09.2018 18:45

Я знал / знаю об этом вопросе / ответе. Ответ, вероятно, был верен, когда на iPhone были файлы .ipa, которые в основном были файлами .zip. Файлы .ipa больше не существуют, а файлы, которые есть, не являются zip-файлами.

Gerd Castan 13.09.2018 19:05

Я действительно не понимаю, что вы имеете в виду, когда говорите «файлов .ipa больше нет». Мне кажется, что вся посылка вашего вопроса неверна. Ничего не изменилось в том, как вы следите за набором приложений.

matt 13.09.2018 19:21

Я не понимаю этого из указанного ответа. Я попытался посмотреть резервную копию itunes, но это могло быть неправильно. Я потерялся между «скачать» и «щелкните правой кнопкой мыши и выберите показать в проводнике или поисковике». Где мне щелкнуть правой кнопкой мыши?

Gerd Castan 13.09.2018 19:37

Существуют сторонние приложения, которые позволяют копаться в резервной копии и извлекать отдельные приложения.

matt 13.09.2018 19:38

Я попробовал один, прежде чем писать этот вопрос, но он показал только данные, записанные приложением, но не само приложение. Какие-нибудь рекомендации?

Gerd Castan 13.09.2018 19:42

Те же самые приложения обычно позволяют вам удалить приложение прямо с устройства. Или вы можете использовать «корпоративную» версию iTunes и напрямую загрузить приложение как .ipa (именно это я и делаю).

matt 13.09.2018 20:00
5
7
17 025
4
Перейти к ответу Данный вопрос помечен как решенный

Ответы 4

Ответ принят как подходящий

Получите себе копию «корпоративной» версии iTunes, которая позволяет загружать файлы .ipa прямо из App Store. (Упоминается, например, здесь.) Теперь вы можете открыть .ipa и изучить его компоненты.

К сожалению, это больше не вариант, если вы установили Mojave, поскольку эта «корпоративная» версия iTunes (или iTunes 12.6.3, как она официально называется) не поддерживается.

pajevic 26.10.2018 12:54

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

например

Схема URL для Firefox: org.mozilla.ios.Firefox

default 15:34:38.460964 +0100   SpringBoard [org.mozilla.ios.Firefox] Setting badge to (null) [ old badge: (null) ]

Это идентификатор пакета приложения, а не его схема URL. Лишь несколько приложений используют идентификатор пакета также в качестве схемы URL-адресов.

fluidsonic 15.03.2019 14:23

Как я это делаю. Скачайте приложение Iconical. Это приложение используется для создания других значков для доступа к приложению. После установки нажмите «Выбрать приложение», затем нажмите «Обновить», и вы получите список URL-адресов всех приложений с настроенной схемой URL-адресов.

Если нужного мне приложения нет в списке. Затем я открываю консоль iPhone, захожу в AppStore, нахожу приложение и открываю его оттуда. Затем найдите его идентификатор пакета в консоли iPhone и используйте последнюю часть в качестве схемы URL. Например: com.cie.Название приложения. У меня это всегда срабатывало. Надеюсь это поможет.

UIApplication.shared.open("appName://", options: [:], completionHandler: nil)

Приложение Iconical не бесплатное, но и недорогое. На сканирование всех 130 000 приложений, которые он знает, ушло очень много времени, и мой iPhone сильно нагрелся, потому что я не позволял ему делать перерывы! Он нашел некоторые из желаемых приложений на раннем этапе. Этот метод совершенно бесплатен, подходит, если вам нужны URL-адреса для многих популярных приложений, и вы не против дождаться завершения сканирования. Для менее известных приложений или для обработки только нескольких приложений я бы рекомендовал вместо этого с помощью Apple Configurator 2.

joeytwiddle 14.08.2019 08:36

Это должен быть главный ответ в 2020 году. Имейте в виду, что схемы приложений, предоставляемые Iconical, могут не работать во всех версиях iOS, и автоматизировать сбор данных сложно.

jbass 25.02.2020 04:06

Эта статья была невероятно полезной:

https://www.amerhukic.com/finding-the-custom-url-scheme-of-an-ios-app

По сути:

  1. Загрузите приложение на свой телефон
  2. Установите программу iMazing на свой mac
  3. Подключите свой телефон к Mac
  4. Загрузите файл ipa со своего телефона на свой Mac

потом

  1. Сделайте файл ipa zip (переименуйте) и распакуйте
  2. Показать содержимое пакета из файла .app в папке Payload
  3. Найдите и откройте файл Info.plist
  4. Найдите CFBundleURLSchemes. Вот ваши схемы URL.

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