makePhoneCall方法在uni-app iOS18.4版本中无反应
makePhoneCall方法在uni-app iOS18.4版本中无反应
信息类别 | 详情 |
---|---|
产品分类 | uni小程序SDK |
手机系统 | iOS |
手机系统版本号 | iOS 18 |
手机厂商 | 苹果 |
手机机型 | iphone 14 pro max |
页面类型 | vue |
SDK版本号 | 3.98 |
操作步骤:
- 打电话按钮绑定makePhoneCall方法
- 点击打电话按钮
预期结果:
- 弹出拨号界面
实际结果:
- 无反应
bug描述:
如题,在调用uni.makePhoneCall方法后没有反应。
makeCall() {
uni.makePhoneCall({
phoneNumber: '18313322323',
success: (res) => {
// console.log(res)
errorInfo = JSON.stringify(res)
},
fail: (err) => {
// console.log(err)
errorInfo = JSON.stringify(err)
}
})
},
<view class="item" [@click](/user/click)="makeCall">
<text>打电话</text>
<view class="right">
<view class="icon-arrow-right"></view>
</view>
</view>
<view>
<text>回调信息</text>
<text>{{ errorInfo }}</text>
</view>
更多关于makePhoneCall方法在uni-app iOS18.4版本中无反应的实战教程也可以访问 https://www.itying.com/category-93-b0.html
2 回复
应用没有打电话权限,
https://ask.dcloud.net.cn/question/4035
更多关于makePhoneCall方法在uni-app iOS18.4版本中无反应的实战教程也可以访问 https://www.itying.com/category-93-b0.html
根据描述,uni.makePhoneCall在iOS18.4上无反应的问题可能有以下几个原因:
- 权限问题:iOS18可能新增了更严格的隐私权限控制,需要检查是否已添加电话权限配置。在manifest.json中确认已添加:
"ios": {
"permissions": {
"makePhoneCall": {}
}
}
-
真机调试问题:建议使用Xcode连接真机调试,查看控制台是否有权限拒绝的日志输出。
-
回调未触发:代码中errorInfo变量没有用this绑定,可能导致回调信息无法显示。建议修改为:
this.errorInfo = JSON.stringify(res/err)
- iOS18兼容性问题:目前uni-app SDK 3.98可能尚未完全适配iOS18,建议:
- 升级到最新SDK版本
- 临时使用原生调用方式:
window.location.href = 'tel:18313322323';