Ios 科尔多瓦正在拨电话号码
我正在尝试用iOS拨打电话号码,但我只有模拟器和iPodtouch可供测试 代码使用了以下内容:Ios 科尔多瓦正在拨电话号码,ios,objective-c,xcode,cordova,Ios,Objective C,Xcode,Cordova,我正在尝试用iOS拨打电话号码,但我只有模拟器和iPodtouch可供测试 代码使用了以下内容: window.location.href = 'tel:01234567890'; 安卓系统运行良好,但在iOS系统中,它会因以下原因而消亡: 加载网页失败,错误为:无法显示URL 现在,我意识到以前有人问过这个问题,但一段时间以前的普遍共识是“它不起作用,你需要使用插件”。虽然已经有一段时间没有太多的问题了,但有什么问题似乎表明它在以编程方式执行时有效(如上所述,使用window.locatio
window.location.href = 'tel:01234567890';
安卓系统运行良好,但在iOS系统中,它会因以下原因而消亡:
加载网页失败,错误为:无法显示URL
现在,我意识到以前有人问过这个问题,但一段时间以前的普遍共识是“它不起作用,你需要使用插件”。虽然已经有一段时间没有太多的问题了,但有什么问题似乎表明它在以编程方式执行时有效(如上所述,使用window.location.href
)。我试过同一个插件的新版本和新版本,但在XCode中都有错误(ARC禁止发送“release”的明确消息)
)-有点费劲,我可以让它运行,但PhoneGap没有找到插件-我真的感觉用这种方法撞到了砖墙,我真不敢相信这么简单的事情需要这么夸张的东西
我知道出于安全原因,您无法自动拨号/自动呼叫号码,但我需要做的就是打开预填充号码的拨号器,这与mailto肯定没有什么不同:info@example.com
链接打开您的电子邮件客户端,并预先填充发件人
因此,我的问题是:
- 最近对PhoneGap、iOS或XCode的更新是否改变了这种情况
- 或者,是不是我在iPod或模拟器上做不到这一点,而它在iPhone上也能正常工作
- 我怎样才能修好它?:)李>
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上接受的答案中的说明工作感谢最后一行!