在ios 18中不会跳转到系统设置--通知权限,这么写哪块有问题
var app = plus.ios.invoke('UIApplication', 'sharedApplication');
var url;
// 获取安全 URL(iOS 8+)
if (plus.ios.invoke('UIApplication', 'respondsToSelector:', 'openSettingsURLString')) {
var urlString = plus.ios.invoke('UIApplication', 'openSettingsURLString');
url = plus.ios.invoke('NSURL', 'URLWithString:', urlString);
} else {
url = plus.ios.invoke('NSURL', 'URLWithString:', 'app-settings:');
}
// 判断新 API 可用性(iOS 10+)
var supportsNewAPI = plus.ios.invoke(app, 'respondsToSelector:', 'openURL:options:completionHandler:');
if (supportsNewAPI) {
var options = plus.ios.newObject('NSDictionary');
var completion = plus.ios.newBlock(function(success) {
console.log("跳转结果:11" + success);
if (!success) {
uni.showToast({
title: "无法打开设置,请手动前往",
icon: "none"
});
}
}, 'v@:B');
plus.ios.invoke(app, 'openURL:options:completionHandler:', url, options, completion);
plus.ios.deleteObject(completion);
} else {
if (plus.ios.invoke(app, 'canOpenURL:', url)) {
plus.ios.invoke(app, 'openURL:', url);
} else {
console.log("跳转结果:33" );
}
}
plus.ios.deleteObject(url);
plus.ios.deleteObject(app);
四叶草秘密 (作者)
可以了 谢谢,十分感谢
2025-06-27 11:57