makePhoneCall方法在uni-app iOS18.4版本中无反应

makePhoneCall方法在uni-app iOS18.4版本中无反应

信息类别 详情
产品分类 uni小程序SDK
手机系统 iOS
手机系统版本号 iOS 18
手机厂商 苹果
手机机型 iphone 14 pro max
页面类型 vue
SDK版本号 3.98

操作步骤:

  1. 打电话按钮绑定makePhoneCall方法
  2. 点击打电话按钮

预期结果:

  • 弹出拨号界面

实际结果:

  • 无反应

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上无反应的问题可能有以下几个原因:

  1. 权限问题:iOS18可能新增了更严格的隐私权限控制,需要检查是否已添加电话权限配置。在manifest.json中确认已添加:
"ios": {
    "permissions": {
        "makePhoneCall": {}
    }
}
  1. 真机调试问题:建议使用Xcode连接真机调试,查看控制台是否有权限拒绝的日志输出。

  2. 回调未触发:代码中errorInfo变量没有用this绑定,可能导致回调信息无法显示。建议修改为:

this.errorInfo = JSON.stringify(res/err)
  1. iOS18兼容性问题:目前uni-app SDK 3.98可能尚未完全适配iOS18,建议:
  • 升级到最新SDK版本
  • 临时使用原生调用方式:
window.location.href = 'tel:18313322323';
回到顶部