Передать глубокую ссылку в iOS Simulator?

Я хотел бы найти более простой способ вызова глубоких ссылок в симуляторе iOS.

На Android вы можете использовать ADB для передачи ссылок в симулятор с помощью консоли.

Есть ли аналогичный способ или обходной путь для открытия глубоких ссылок в последней версии симулятора iOS?


person patreu22    schedule 10.10.2017    source источник
comment
Я обычно вставляю их в напоминания и нажимаю на них.   -  person Lou Franco    schedule 10.10.2017


Ответы (5)


Вы можете ввести это в свой терминал:

xcrun simctl openurl booted <INSERT_URL_HERE>

Вы даже можете обмениваться документами с помощью встроенного расширения Share Extension от Finder до iOS Simulator.

person Adam    schedule 10.10.2017
comment
Ух ты, так просто, и я практически не мог это погуглить. Большое спасибо! :) - person patreu22; 11.10.2017
comment
Я не могу получить полный URL-адрес в методах userActivity. Мой фактический URL-адрес: example.com/6eZ4?class_id=4&member_id=18 но я получаю только короткий URL в userActivity example.com/6eZ4? class_id = 4 - person Shahabuddin Vansiwala; 03.09.2020
comment
В зависимости от оболочки, в которой вы запускаете команду, вам может потребоваться экранировать специальные символы в URL-адресе, например example.com \ ? имя1 = значение1 \ & имя2 = значение2. - person miker; 10.11.2020

Вот еще один подход:

В симуляторе

  1. Откройте приложение Контакты.
  2. Перейдите к одному из заранее определенных контактов, например John Appleseed.
  3. Нажмите Изменить.
  4. Нажмите добавить URL (внизу) - и установите свою ссылку в качестве URL-адреса домашней страницы для этого контакта.
  5. Нажмите Готово, чтобы сохранить контакт.
  6. Нажмите на только что добавленную ссылку

Совет от профессионала: вы можете добавлять пользовательские метки к записям URL-адресов, например, если вы хотите протестировать разные URL-адреса и иметь возможность быстро их идентифицировать.

Примечание. Если вы сбросите симулятор, приложение «Контакты» будет сброшено до значений по умолчанию и данные будут потеряны.

person Nikolay Suvandzhiev    schedule 28.09.2020
comment
Спасибо!. Это мне очень помогло - person BharathRao; 08.12.2020
comment
отличная работа спасибо - person zakaria; 15.12.2020

В качестве альтернативы вы можете использовать инструмент с открытым исходным кодом ControlRoom. В основном это оболочка над симулятором cli.

Открытый URL ControlRoom

person Jurasic    schedule 11.03.2020

(Протестировано для Branch.io QuickLinks)

Еще один очень простой метод открытия диплинков в симуляторе iOS:

  1. Скопируйте deeplink в буфер обмена.
  2. Откройте приложение Safari в симуляторе iOS и вставьте URL-адрес deeplink в safari.
  3. Safari попытается открыть URL-адрес, но потерпит неудачу, показывая предупреждение об ошибке. Но не волнуйтесь.
  4. Откройте свое приложение, запустив его из Xcode, симулятор будет думать, что приложение открывается из deeplink, и вы получите необходимую информацию deeplink в своем коде.
person Hassaan Fayyaz    schedule 30.08.2020
comment
У меня есть способ открыть ссылку Branch.io непосредственно на ссылке симулятора поддержки эмулятора Android. - person Nivrutti Pawar; 09.10.2020
comment
Да, в iOS 14 и более поздних версиях Apple поддерживает открытие deeplink-ссылок непосредственно в симуляторе. Просто запустите следующую команду в терминале, чтобы открыть приложение из branch.io deeplink xcrun simctl openurl booted https://branch.app.link/someBrachDeeplink - person Hassaan Fayyaz; 22.04.2021

Несмотря на то, что есть много отличных решений, я все же хочу добавить свои 5 центов :)

Мой подход основан на приложении Automator для macOS и позволяет запускать любой deeplink со своего компьютера в симуляторе iOS двумя щелчками мыши.

Я собираюсь использовать Быстрые действия, поскольку в этом случае мы можем использовать любое приложение для получения URL-адресов. Итак, запустите приложение File —> New —> Quick Action —> Choose. Теперь перетащите свое первое действие. Будет Set Value of Variable. Перейдите в меню View и выберите Variables. В разделе внутренних переменных щелкните правой кнопкой мыши и выберите New variable. Назовите это что-то вроде url. Мы собираемся сохранить вводимый текст (который должен быть нашей deeplink) в этой переменной. Теперь перетащите действие Run Shell Script, убедитесь, что входной параметр Pass установлен на «как аргументы». Вставьте следующую строку:

xcrun simctl openurl booted $1

где $ 1 будет нашей переменной URL.

Вот как это должно выглядеть:

Теперь сохраните это действие как Open in Simulator. Это действие теперь доступно в контекстном меню Services. Выберите любой URL-адрес в качестве текста в любом приложении, щелкните правой кнопкой мыши, Open in Simulator - хорошо, верно?

person Sapozhnik Ivan    schedule 06.01.2021