2016-11-07 2 views
2

Мне было интересно, можно ли создать простую кнопку виджета в панели уведомлений, которая делает телефонный звонок, когда вы нажимаете на него. Я читал документацию яблока и один ограничение:Сделать телефонный звонок из пользовательского виджета

Доступ объект sharedApplication, и поэтому не может использовать любой из методов этого объекта

Насколько я знаю, вы должны получить доступ на UIApplication.sharedInstance для выполнения вызова.

Любые идеи об этом? Заранее спасибо!

ответ

0

Ok я отвечаю себе.

После изучения информации и создание проекта с нуля, я обнаружил, что, чтобы сделать телефонный звонок, вы должны использовать этот код:

let phoneNumber: String = "1234567890" 
    let phoneNumberString: String = "tel:\(phoneNumber)" 
    let url: NSURL = NSURL(string: phoneNumberString)! 

    self.extensionContext!.openURL(url, completionHandler: { (Bool) in 
    }) 
0

Используйте для текста

let phoneNumber: String = "1234567890" 
let phoneNumberString: String = "sms:\(phoneNumber)" 
let url: NSURL = NSURL(string: phoneNumberString)! 
if UIApplication.sharedApplication().canOpenURL(url) { 
    UIApplication.sharedApplication().openURL(url) 
} 

и это назвать

let phoneNumber: String = "1234567890" 
let phoneNumberString: String = "tel:\(phoneNumber)" 
let url: NSURL = NSURL(string: phoneNumberString)! 
if UIApplication.sharedApplication().canOpenURL(url) { 
    UIApplication.sharedApplication().openURL(url) 
} 
+0

привет @Sethmr спасибо за ваш ответ. Я знаю, как сделать телефонный звонок, но я хочу выполнить его из виджета, и, как говорит яблоко, ограничение имеет следующий вид: «Доступ к объекту sharedApplication и, следовательно, нельзя использовать какие-либо методы этого объекта» –

+0

Я не уверен в том, что вы спрашиваете. – Sethmr

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