2017-01-12 15 views
0

Язык,: Swift 2,3Использование схемы URL-адресов на NSURL() приводит к нулю

схема URL Viber для отправки сообщения является viber://forward?text=

схема URL WhatsApp для отправки сообщения является whatsapp://send?text=

Проблема NSURL кажется, что url's, которые не имеют ., на них не являются URL-адресами, потому что этот код, похоже, приводит к нулю

let someString = "This is some kind of long string" 
print(NSURL(string: "viber://forward?text=\(someString)")) 

print(NSURL(string: "viber://whatsapp://send=\(someString)")) 

Это приводит к журналу, который выглядит следующим образом.

nil 
nil 

означает, что я не могу использовать UIApplication.sharedApplication().openUrl(someUrl)

ответ

0

Есть некоторые символы, которые не могут быть размещены внутри URL/NSURL.

Вам придется разобрать someString заменить эти символы с помощью этого расширения Строка

stringByAddingPercentEncodingWithAllowedCharacters(NSCharacterSet.URLQueryAllowedCharacterSet())

Например:

var someString = "This is some kind of long string" 

someString = someString.stringByAddingPercentEncodingWithAllowedCharacters(NSCharacterSet.URLQueryAllowedCharacterSet()) 

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

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