2016-06-08 1 views
1

Я новичок в разработке iOS, и у меня возникла проблема, когда я пробовал несколько решений, но не мог исправить это.canOpenURL: failed for URL: "tel: // 123456789" - error "(nulll)"

Так что я хочу сделать, когда я нажимаю на кнопку, сделайте телефонный звонок.

Я уже добавил это к моему info.plist:

<key>LSApplicationQueriesSchemes</key> 
<array> 
    <string>telprompt</string> 
    <string>tel</string> 
</array> 

И это мой код делает телефонный звонок:

func doCall() { 
    let url: NSURL = NSURL(string: "tel://1234567890")! 
    if UIApplication.sharesApplication().canOpenURL(url) { 
     UIApplication.sharesApplication().openURL(url) 
    } esle { 
     print("Call failed") 
    } 
} 

Так что, когда я на самом деле нажмите на кнопку, следующее сообщение об ошибке не отображается в консоли:

-canOpenURL: failed for URL: "tel://1234567890" - error: "(null)"

И когда я удалить if заявление я не t получить эту ошибку, но ничего не происходит. Также на симуляторе нет приложения для телефона, может быть, это проблема, но я не знаю, будет ли это разрешимо.

+2

пробуют это в симуляторе? Это работает только на устройстве, которое имеет возможность вызова. –

+0

@TejaNandamuri Да, я пытаюсь использовать его в симуляторе, у меня тоже нет яблочного устройства, поэтому я не смогу его протестировать или есть другой способ? –

+3

Нет другого пути. Вы не можете протестировать какой-либо api, как звонок, камеру ... без реального устройства. –

ответ

-1

В тренажере его не работает. вам нужно устройство для тестирования. и попробуйте вот так

if let url = NSURL(string: "tel://\(1234512678)") { 
     UIApplication.sharedApplication().openURL(url) 

    } else { 
     print("call failed"); 
    }