2016-05-31 2 views
1

У меня есть два приложения, и я хочу открыть их друг от друга (например, facebook открывает мессенджер).Открытие другого (моего) приложения из моего основного приложения Swift

После небольшого поиска я обнаружил, что мне нужно знать схему URL моего приложения, но я не знаю, как я могу ее объявить. В моих urlSchemes есть только схемы facebook.

var url = NSURL(string: "") 
UIApplication.sharedApplication().canOpenURL(url!) 

Я нашел этот код и, как я понимаю, мне нужно указать URL-адрес моего urlScheme.

Любая помощь?

+0

Можете ли вы написать источник plist-файла? –

+0

Посмотрите на это: https://dev.twitter.com/cards/mobile/url-schemes – Hodson

+0

какую часть вы хотите, потому что она слишком большая, и это не позволяет мне опубликовать ее как комментарий –

ответ

2

Вот хороший учебник по настройке URL схем внутри вас приложения: https://dev.twitter.com/cards/mobile/url-schemes

Incase этот учебник исчезает, Херес информация:

Настройка наш Xcode проект

Перейти к Your Target> Информация> Типы URL-адресов

Вам нужно указать свой собственный тип URL. Помните, что вы хотите открыть приложение через birdland://, так что это будет ваша схема URL. Нам также нужно назначить уникальный идентификатор схемы. Apple рекомендует использовать обратную DNS-нотацию, чтобы гарантировать, что на платформе нет коллизий имен, например com.mycompany.ios.

enter image description here

Вот так! Вы настроили приложение с простой поддержкой схемы URL birdland://. Разумеется, есть намного больше, что вы можете сделать с помощью пользовательских схем URL. Чтобы узнать больше, ознакомьтесь с Apple’s documentation.

Теперь, чтобы проверить, что наша зарегистрированная схема URL работает, мы отправимся в Safari. Нажмите кнопку «Главная» в симуляторе (или нажмите Command-shift-H), чтобы перейти к главному экрану. Откройте Safari.

Дальше, введите birdland:// в адресной строке Safari. Так же, как вы можете с URL http: //, вы просите Safari открыть схему «птиц». Нажмите Go.

+0

это сработало !!! Thnx много @Hodson –

+0

вар URL = NSURL (строка: "") если UIApplication.sharedApplication() canOpenURL (URL!) == истинный UIApplication.sharedApplication() OpenUrl (URL!) вот окончательный код.. после настройки urlscheme для тех, кто хочет это сделать , вы также должны настроить info.plist и поместить свою строку схемы под LSApplicationQueriesSchemes –

0
NSString *openAppURL = @"yourappname://"; 
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:openAppURL]]; 

//check if app is installed or not 
BOOL canOpenURL = [[UIApplication sharedApplication] canOpenURL:[NSURL URLWithString:openAppURL]]; 
+0

thnx за свой ответ, но это объективно c, и это не отвечает на мой вопрос. –

Смежные вопросы