Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/107.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 科尔多瓦正在拨电话号码_Ios_Objective C_Xcode_Cordova - Fatal编程技术网

Ios 科尔多瓦正在拨电话号码

Ios 科尔多瓦正在拨电话号码,ios,objective-c,xcode,cordova,Ios,Objective C,Xcode,Cordova,我正在尝试用iOS拨打电话号码,但我只有模拟器和iPodtouch可供测试 代码使用了以下内容: window.location.href = 'tel:01234567890'; 安卓系统运行良好,但在iOS系统中,它会因以下原因而消亡: 加载网页失败,错误为:无法显示URL 现在,我意识到以前有人问过这个问题,但一段时间以前的普遍共识是“它不起作用,你需要使用插件”。虽然已经有一段时间没有太多的问题了,但有什么问题似乎表明它在以编程方式执行时有效(如上所述,使用window.locatio

我正在尝试用iOS拨打电话号码,但我只有模拟器和iPodtouch可供测试

代码使用了以下内容:

window.location.href = 'tel:01234567890';
安卓系统运行良好,但在iOS系统中,它会因以下原因而消亡:

加载网页失败,错误为:无法显示URL

现在,我意识到以前有人问过这个问题,但一段时间以前的普遍共识是“它不起作用,你需要使用插件”。虽然已经有一段时间没有太多的问题了,但有什么问题似乎表明它在以编程方式执行时有效(如上所述,使用
window.location.href
)。我试过同一个插件的新版本和新版本,但在XCode中都有错误(
ARC禁止发送“release”的明确消息)
)-有点费劲,我可以让它运行,但PhoneGap没有找到插件-我真的感觉用这种方法撞到了砖墙,我真不敢相信这么简单的事情需要这么夸张的东西

我知道出于安全原因,您无法自动拨号/自动呼叫号码,但我需要做的就是打开预填充号码的拨号器,这与
mailto肯定没有什么不同:info@example.com
链接打开您的电子邮件客户端,并预先填充发件人

因此,我的问题是:

  • 最近对PhoneGap、iOS或XCode的更新是否改变了这种情况
  • 或者,是不是我在iPod或模拟器上做不到这一点,而它在iPhone上也能正常工作
  • 我怎样才能修好它?:)
您没有指定使用哪个版本的Cordova,因此我假设版本>3

确保从第3版开始使用,然后通过Javascript调用链接,如下所示:

window.open('tel:12345678', '_system')
\u系统
将使用系统自己的浏览器打开它,而系统自己的浏览器将打开呼叫对话框,如果您使用它,它将在“地图”应用程序中打开,并在其他为特殊URL打开的应用程序中打开

备注:

  • 如上所述,
    窗口。打开功能不会自动设置。你必须自己做:
    window.open=cordova.InAppBrowser.open。相反,您可以直接使用
    cordova.InAppBrowser.open('tel:12345678','u system')
  • 确保您的号码中没有空格(空格)+ 前缀是可以的)。例如,您可以使用如下函数, 假设
    num
    是一个字符串
功能:

function placeCall(num) {
    if (window.cordova) {
        cordova.InAppBrowser.open('tel:' + num.replace(/\s/g,''), '_system');
    }
}

我不认为这是科尔多瓦的问题。我知道在本机iOS中,你不能在模拟器或iPod touch上调出拨号器。您需要在实际的iPhone上进行测试。

确保href中的电话号码也没有任何格式,因为在iOS上,它会导致链接在PhoneGap应用程序中无法工作。例如,使用电话:039000555,而不是电话:(03)9000 5555。

我知道这是一个迟到的回答时间

尝试将
/
添加到url。像这样
tel://xxxxxxxxx
并查看它是否有效


从今天起,我在IOS 8.4、iPhone 6、6+上都能正常工作。

下面的代码对iPhone非常适用:-

window.open('tel:123456','u system')


模拟器不支持拨号程序。无需浪费时间。

这在iPod Touch和模拟器上都不起作用。我应该期待它在iPhone上工作吗?我在控制台中得到了以下信息,因此我假设插件正在工作:
[6278:907]线程警告:['InAppBrowser']使用了'124.701904'ms。插件应该使用后台线程。
@gaqzi几天以来我一直在尝试让它工作,但不幸的是我一直失败。我已经在
iphone6s
中的
ios10
上测试了代码。单击电话号码时不会发生任何事情。你能帮我找出为什么我不能让这个代码工作吗?它在模拟器上也能工作吗?它在iPhone上工作得非常好。模拟器无法工作,因为它无法拨号。您不需要添加//。按照iOS 9.2.1上接受的答案中的说明工作感谢最后一行!