2015-11-11 9 views
1

У меня есть объявления в приложении, которое содержит много разных URL-адресов; поэтому я установил свой info.plist ...iOS App Transport Security

<key>NSAppTransportSecurity</key> 
<dict> 
    <key>NSAllowsArbitraryLoads</key> 
    <true/> 
</dict> 

На симуляторе все работает. На моих тестовых устройствах это не сработает.

Ошибка ...

2015-11-10 18: 58: 05,159 MPSTApp [520: 169178] -canOpenURL: Сбой URL: «https: /www.facebook.com/prontosantateresa - файл : ///»- ошибка:„Это приложение не может запросить схему файла“

код вызова предоставить ссылку такая -

var anchorLink: String? 

func loadWebPage(){ 
    let requestURL = NSURL(string: anchorLink!) 
    let request = NSURLRequest(URL: requestURL!) 
    webView.loadRequest(request) 
} 
+0

Это не связано с ATS, а скорее изменение IOS9, требующее от вашего приложения объявления схем URL, которые он запросит в своем info.plist - http://stackoverflow.com/questions/30987986/ios-9- not-opening-instagram-app-with-url-scheme/30988328 # 30988328 – Paulw11

+0

Но что делать, если пользователи могут размещать свои собственные ссылки. Или URL-адреса ссылок изменяются с API. Это означает, что URL-адреса могут меняться и быть чем угодно. Например, что будет делать твиттер для всех ссылок, размещенных внутри твитов. – pmanning

+0

Вы можете открыть любую схему URL, которая вам нравится, но если вы собираетесь называть 'canOpenUrl' на этой схеме, она должна быть в вашем Info.plist. – Paulw11

ответ

0

для iOS9, вы должны что-то добавить к PLIST файл:

<key>LSApplicationQueriesSchemes</key> 
<array> 
    <string>fbapi</string> 
    <string>fbapi20130214</string> 
    <string>fbapi20130410</string> 
    <string>fbapi20130702</string> 
    <string>fbapi20131010</string> 
    <string>fbapi20131219</string>  
    <string>fbapi20140410</string> 
    <string>fbapi20140116</string> 
    <string>fbapi20150313</string> 
    <string>fbapi20150629</string> 
    <string>fbauth</string> 
    <string>fbauth2</string> 
    <string>fb-messenger-api20140430</string> 
</array> 

Для получения дополнительной информации: Preparing Your Apps for iOS9

+0

Я положил его и никаких изменений. – pmanning

+0

@pmanning, какую версию SDK вы используете? – anhtu

+0

Ошибка в схеме URL-адреса. Ни одна из схем, перечисленных в этом ответе. – rmaddy

1

У вас есть опечатка в вашем URL-адресе. Изменение:

https:/facebook.com 

To:

https://facebook.com 

Кроме того, вы должны изменить LSAllowsArbitraryLoads назад к значению по умолчанию, так что лучше для большинства приложений.

+0

Спасибо Абхи. Я заметил это и в ошибке, и подумал, что это проблема. Я тяну ссылку (а также другие) от строки текста. Строка выйдет как 'https: // facebook.com'. Я предполагаю, что ссылка видит // как escape-символ? – pmanning

+0

Вы думаете, что это правильная оценка? – pmanning

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

  • Нет связанных вопросов^_^