uni-app iOS18拨打电话和更新版本打开商城没反应
uni-app iOS18拨打电话和更新版本打开商城没反应
拨打电话:uni.makePhoneCall({phoneNumber: pPN});
升级跳转商店:plus.runtime.openURL(encodeURI(this.newVerInfo.uploadAddress));
报错事:BUG IN CLIENT OF UIKIT: The caller of UIApplication.openURL(:) needs to migrate to the non-deprecated UIApplication.open(*:options:completionHandler:). Force returning false (NO).
相关链接:
HBuilderX 4.29.2024093009 已修复。
能问一下为什么要删除百度定位啊?
HBuilderX 4.29.2024093009 更新完后真机还是不生效,拨打电话还是不能用。我们用的是离线工程方式,不是用的云打包。请问我们是不是需要更新离线工程
回复 h***@163.com: 同问,要怎么解决呢
是的 麻烦官方快点给解决下
此问题已确认,正在解决中,请关注新版本发布日志。
HBuilderX 4.29.2024093009 更新完后真机还是不生效,拨打电话还是不能用。我们用的是离线工程方式,不是用的云打包。请问我们是不是需要更新离线工程
为什么要在新版里面把百度定位删除了?
在uni-app中处理iOS 18拨打电话和更新版本打开商城无反应的问题,通常涉及到权限处理、URL Scheme配置以及代码实现。以下是一些可能的解决方案及代码示例:
1. 拨打电话无反应
iOS 18对于拨打电话等敏感操作有严格的权限控制。首先,确保你的应用已经请求并获得了电话权限(虽然iOS通常不直接为应用提供拨打电话的权限,但你可以通过URL Scheme尝试)。
代码示例:
// 在需要拨打电话的地方
const phoneNumber = "1234567890";
uni.makePhoneCall({
phoneNumber: phoneNumber,
success: function () {
console.log('拨打电话成功');
},
fail: function (err) {
console.error('拨打电话失败', err);
uni.showToast({
title: '拨打电话失败,请检查权限',
icon: 'none'
});
}
});
注意: 如果在iOS 18上此方法无效,可能需要引导用户手动拨号,或者通过其他方式(如短信链接)提示用户拨打电话。
2. 更新版本打开商城无反应
对于打开商城应用(如App Store),你需要确保URL Scheme正确,并且设备能够解析该链接。
代码示例:
// 更新版本并打开App Store
const appId = '你的AppID'; // 替换为你的App在App Store的ID
const appStoreUrl = `https://apps.apple.com/app/id${appId}?mt=8`;
uni.navigateToMiniProgram({
appId: 'wxa2c49f4de042xxxx', // 如果希望跳转到小程序进行提示或引导
path: `/pages/update/update?url=${encodeURIComponent(appStoreUrl)}`,
success: function () {
console.log('跳转到小程序成功');
},
fail: function (err) {
console.error('跳转到小程序失败', err);
// 如果无法跳转到小程序,直接打开App Store链接
uni.setClipboardData({
data: appStoreUrl,
success: function () {
uni.showModal({
title: '提示',
content: '复制了App Store链接,请在浏览器中打开',
showCancel: false,
success: function (res) {
if (res.confirm) {
// 可以考虑引导用户到Safari打开链接
uni.showToast({
title: '已复制链接',
icon: 'success'
});
}
}
});
}
});
}
});
注意: 上面的代码示例中,我提供了一个通过小程序进行跳转的备选方案,因为直接在uni-app中打开App Store链接可能会受到iOS的限制。如果小程序方案不可行,你可以考虑使用上述的剪贴板复制方案。
总之,处理这些问题时,需要关注iOS的最新权限和URL Scheme要求,确保代码实现与这些要求相匹配。