Можно ли запустить какое-либо произвольное приложение iPhone из другого приложения? Например, в моем приложении, если я хочу, чтобы пользователь нажал кнопку и запустился прямо в приложение «Телефон» (закройте текущее приложение, откройте приложение «Телефон») .
это будет возможно? Я знаю, что это можно сделать для телефонных звонков по телефонной ссылке, но я хочу вместо этого просто запустить приложение «Телефон» без набора какого-либо определенного номера.
источник
Я обнаружил, что легко написать приложение, которое может открыть другое приложение.
Давайте предположим, что у нас есть два приложения под названием
FirstApp
иSecondApp
. Когда мы открываем FirstApp, мы хотим иметь возможность открыть SecondApp, нажав кнопку. Решение для этого:Во втором приложении
Перейдите к plist-файлу SecondApp, и вам нужно добавить схемы URL со строкой iOSDevTips (конечно, вы можете написать еще одну строку. Это ваше дело).
2 В FirstApp
Создайте кнопку со следующим действием:
Вот и все. Теперь, когда вы можете нажать кнопку в FirstApp, она должна открыть SecondApp.
источник
Info.plist
изFirstApp
. Затем добавьте схемы, которые ваше приложение хочет открыть, в этом случаеItem 0
будетiOSDevTips
LSApplicationQueriesSchemes
в свой Info.plist, чтобы иметь возможность открыть SecondApp.Ли ответ является абсолютно правильным для iOS до 8.
В iOS 9+ вы должны внести в белый список любые схемы URL, которые ваше приложение хочет запросить в Info.plist под ключом LSApplicationQueriesSchemes (массив строк):
источник
В Свифте
На всякий случай, если кто-то ищет быстрое копирование и вставку Swift.
источник
Чтобы вы могли открыть свое приложение из другого, вам нужно будет внести изменения в оба приложения. Вот шаги с использованием Swift 3 с обновлением iOS 10 :
1. Зарегистрируйте ваше приложение, которое вы хотите открыть
Обновите
Info.plist
, определив пользовательскую и уникальную схему URL вашего приложения.Обратите внимание, что имя вашей схемы должно быть уникальным, в противном случае, если на вашем устройстве установлено другое приложение с таким же именем схемы URL, тогда будет определено время выполнения, которое будет открыто.
2. Включите предыдущую схему URL в ваше основное приложение
Вам нужно будет указать схему URL, которую вы хотите, чтобы приложение могло использовать с
canOpenURL:
методомUIApplication
класса. Поэтому откройте главное приложениеInfo.plist
и добавьте схему URL другого приложения вLSApplicationQueriesSchemes
. (Представлено в iOS 9.0)3. Выполните действие, которое открывает ваше приложение.
Теперь все настроено, так что вы можете написать свой код в основном приложении, которое открывает другое ваше приложение. Это должно выглядеть примерно так:
Обратите внимание, что эти изменения требуют новой версии, если вы хотите, чтобы ваше существующее приложение (установленное из AppStore) открывалось. Если вы хотите открыть приложение, которое вы уже выпустили в Apple AppStore, то вам сначала нужно загрузить новую версию, которая включает регистрацию вашей схемы URL.
источник
Вот хороший учебник по запуску приложения из другого приложения:
iOS SDK: Работа со схемами URL
И, не возможно запустить произвольное приложение, кроме собственных приложений, которые зарегистрировали схемы URL .
источник
Для достижения этого нам нужно добавить несколько строк кода в обоих приложениях
Приложение A: которое вы хотите открыть из другого приложения. (Источник)
Приложение B : из приложения B вы хотите открыть приложение A (назначение)
Код для приложения А
Добавьте несколько тегов в Plist приложения A Open Plist Источник приложения A и Past ниже XML
В приложении делегат от приложения A - Обратный звонок здесь
Теперь перейдем к приложению B кода -
Если вы просто хотите открыть приложение A без каких-либо входных параметров
Если вы хотите передать параметр из приложения B в приложение A, используйте приведенный ниже код
Примечание. Вы также можете открыть приложение, просто набрав testApp.linking: //? в браузере сафари
источник
Попробуйте следующий код поможет вам запустить приложение из вашего приложения
Примечание. Замените имя fantacy на фактическое имя приложения.
источник
Вы можете запускать только приложения, которые зарегистрировали схему URL. Затем, как вы открываете приложение SMS с помощью смс:, вы сможете открыть приложение, используя их схему URL.
Существует очень хороший пример, доступный в документах под названием LaunchMe, который демонстрирует это.
Пример кода LaunchMe по состоянию на 6 ноября 2017 г.
источник
Нет, это не так. Помимо документированных обработчиков URL, нет возможности связаться с другим приложением или запустить его.
источник
Я также попробовал это некоторое время назад ( Запустите приложение iPhone с Идентификатором ), но определенно нет ДОКУМЕНТИРОВАННОГО способа сделать это. :)
источник
В Swift 4.1 и Xcode 9.4.1
У меня есть два приложения 1) PageViewControllerExample и 2) DelegateExample. Теперь я хочу открыть приложение DelegateExample с приложением PageViewControllerExample. Когда я нажимаю кнопку «Открыть» в PageViewControllerExample, открывается приложение DelegateExample.
Для этого нам нужно внести некоторые изменения в файлы .plist для обоих приложений.
Шаг 1
В приложении DelegateExample откройте файл .plist и добавьте типы URL и схемы URL. Здесь нам нужно добавить наше обязательное имя, например, «myapp».
Шаг 2
В приложении PageViewControllerExample откройте файл .plist и добавьте этот код
Теперь мы можем открыть приложение DelegateExample, когда нажмем кнопку в PageViewControllerExample.
источник
Дополнительное примечание по этой теме ...
Существует ограничение в 50 запросов для протоколов, которые не зарегистрированы.
В этом обсуждении Apple упомянул, что для конкретной версии приложения вы можете запрашивать
canOpenUrl
ограниченное количество раз, и произойдет сбой после 50 вызовов для необъявленных схем . Я также видел, что если протокол будет добавлен после того, как вы войдете в это состояние сбоя, он все равно потерпит неудачу.Знайте об этом, может быть кому-то полезно.
источник
Swift 3 быстро и вставить версию @ villy393 ответ для:
источник