2016-01-08 2 views
0

мне нужно открыть Zattoo app из моего приложения (на событии нажатия кнопки)Zattoo App схема URL-адрес

, что я сделал это

let url:NSURL? = NSURL(string: "zattoo://") 
if UIApplication.sharedApplication().canOpenURL(url!) { 
     UIApplication.sharedApplication().openURL(url!) 

    } else { 

     print("App not installed") 

     //redirect to safari because the user doesn't have Zattoo App installed 

     UIApplication.sharedApplication().openURL(NSURL(string: "https://itunes.apple.com/de/app/zattoo-tv-app-sports-news/id423779936?l=en")!) 
    } 

canOpenURL() всегда возвращает меня ложное (даже Zattoo приложения установлен на моем устройстве), поэтому код в другом случае выполняется всегда.

но если удаление чек и только выполнив

let url:NSURL? = NSURL(string: "zattoo://") 

UIApplication.sharedApplication().openURL(url!) 

Это прекрасно открывая приложение Zattoo. Странный!

Что я делаю неправильно?

ответ

0

Попробуйте это: -

if let url = NSURL(string: "zattoo://") { 
let canOpen = UIApplication.sharedApplication().canOpenURL(url) 

}

Надеется, что это помогает.

1

В iOS9 вы должны зарегистрировать собственные схемы, которые хотите использовать для открытия других приложений. Он должен храниться в виде массива строк (пользовательских схем) с LSApplicationQueriesSchemes ключом в файле . Из официальной документации (https://developer.apple.com/library/ios/documentation/General/Reference/InfoPlistKeyReference/Articles/LaunchServicesKeys.html#//apple_ref/doc/uid/TP40009250-SW14):

LSApplicationQueriesSchemes (Array - IOS) Определяет схемы URL вы хотите приложение, чтобы иметь возможность использовать с canOpenURL: метод класса UIApplication. Для каждой схемы URL, которую вы хотите, чтобы ваше приложение использовало с помощью метод canOpenURL: добавьте его как строку в этом массиве. Читайте canOpenURL: описание метода для получения важной информации о декларирования поддерживаемых схем и с использованием этого метода

Существует пример того, как он может быть использован: https://github.com/gatzsche/LSApplicationQueriesSchemes-Working-Example

+0

Я добавил Zattoo: // в LSApplicationQueriesSchemes. все равно я получаю canOpenURL => false. Проблема в том, что я не могу установить приложение zattoo, его в немецкий магазин приложений, Моя учетная запись находится в магазине приложений в США. Как я могу проверить это. ? –

+0

Добавить схему URL без косых черт - просто zattoo. Чтобы загрузить бесплатные приложения из других стран, попробуйте этот трюк - http://www.labnol.org/software/install-apps-from-itunes-store/13523/ – shpasta