1***@qq.com
1***@qq.com
  • 发布:2020-06-13 23:38
  • 更新:2022-03-25 14:37
  • 阅读:3121

【报Bug】ios中的包 无法通过plus.runtime.openURL() 方法打开第三方 app

分类:uni-app

产品分类: uniapp/App

PC开发环境操作系统: Windows

PC开发环境操作系统版本号: window

手机系统: iOS

手机系统版本号: iOS 13.2

手机厂商: 苹果

手机机型: IPHONE 8

页面类型: vue

打包方式: 离线

项目创建方式: CLI

CLI版本号: 23

示例代码:

let urlStr = 'nebulamall://method=pay&my_order_no=ow0qnm1270319078053027840';
plus.runtime.openURL(urlStr, function ( e ) {
alert( "Open system default browser failed: " + e.message );
} );

操作步骤:

23

预期结果:

32

实际结果:

23

bug描述:

ios中的包 无法通过plus.runtime.openURL() 方法打开第三方 app

但是android 的包 h5 页面都可以打开第三方应用 只有ios 的包不行

配置 文件

{
"@platforms" : [ "android", "iPhone", "iPad" ],
"id" : "W2Amx.8d4qq.cn", /应用的标识,创建应用时自动生成,勿手动修改/
"name" : "AK Nebula", /应用名称,程序桌面图标名称/
"version" : {
"name" : "1.0", /应用版本名称/
"code" : 20200609
},
"description" : "", /应用描述信息/
"icons" : {
"72" : "icon.png"
},
"launch_path" : "https://mx.8d4qq.cn", /应用的入口页面,默认为根目录下的index.html;支持网络地址,必须以http://或https://开头/
"developer" : {
"name" : "", /开发者名称/
"email" : "", /开发者邮箱地址/
"url" : ""
},
"permissions" : {
"Accelerometer" : {},
"Audio" : {},
"Cache" : {
"description" : "管理应用缓存"
},
"Camera" : {},
"Console" : {
"description" : "跟踪调试输出日志"
},
"Device" : {},
"Downloader" : {},
"Events" : {
"description" : "应用扩展事件"
},
"File" : {},
"Gallery" : {},
"Geolocation" : {},
"Invocation" : {},
"Orientation" : {},
"Proximity" : {},
"Storage" : {},
"Uploader" : {},
"Runtime" : {},
"XMLHttpRequest" : {},
"Zip" : {},
"Barcode" : {},
"Webview" : {},
"NativeUI" : {},
"Navigator" : {},
"NativeObj" : {},
"Share" : {}
},
"plus" : {
"splashscreen" : {
"autoclose" : true, /是否自动关闭程序启动界面,true表示应用加载应用入口页面后自动关闭;false则需调plus.navigator.closeSplashscreen()关闭/
"waiting" : true,
"delay" : 1000
},
"statusbar" : {
"immersed" : "supportedDevice"
},
"popGesture" : "hide", /设置应用默认侧滑返回关闭Webview窗口,"none"为无侧滑返回功能,"hide"为侧滑隐藏Webview窗口。参考http://ask.dcloud.net.cn/article/102/
"runmode" : "liberate", /应用的首次启动运行模式,可取liberate或normal,liberate模式在第一次启动时将解压应用资源(Android平台File API才可正常访问_www目录)/
"signature" : "", /可选,保留给应用签名,暂不使用/
"distribute" : {
"apple" : {
"appid" : "", /iOS应用标识,苹果开发网站申请的appid,如io.dcloud.HelloH5/
"mobileprovision" : "", /iOS应用打包配置文件/
"password" : "", /iOS应用打包个人证书导入密码/
"p12" : "", /iOS应用打包个人证书,打包配置文件关联的个人证书/
"devices" : "universal", /iOS应用支持的设备类型,可取值iphone/ipad/universal/
"frameworks" : [],
"urltypes" : "nebulamall",
"idfa" : false,
"urlschemewhitelist" : "cxcwallet"
},
"google" : {
"targetSdkVersion" : 28,
"packagename" : "", /Android应用包名,如io.dcloud.HelloH5/
"keystore" : "", /Android应用打包使用的密钥库文件/
"password" : "", /Android应用打包使用密钥库中证书的密码/
"aliasname" : "", /Android应用打包使用密钥库中证书的别名/
"permissions" : [
"<uses-feature android:name=\"android.hardware.camera\"/>",
"<uses-feature android:name=\"android.hardware.camera.autofocus\"/>",
"<uses-permission android:name=\"android.permission.ACCESS_NETWORK_STATE\"/>",
"<uses-permission android:name=\"android.permission.ACCESS_WIFI_STATE\"/>",
"<uses-permission android:name=\"android.permission.CAMERA\"/>",
"<uses-permission android:name=\"android.permission.CHANGE_NETWORK_STATE\"/>",
"<uses-permission android:name=\"android.permission.CHANGE_WIFI_STATE\"/>",
"<uses-permission android:name=\"android.permission.FLASHLIGHT\"/>",
"<uses-permission android:name=\"android.permission.INTERNET\"/>",
"<uses-permission android:name=\"android.permission.MODIFY_AUDIO_SETTINGS\"/>",
"<uses-permission android:name=\"android.permission.MOUNT_UNMOUNT_FILESYSTEMS\"/>",
"<uses-permission android:name=\"android.permission.READ_PHONE_STATE\"/>",
"<uses-permission android:name=\"android.permission.RECORD_AUDIO\"/>",
"<uses-permission android:name=\"android.permission.VIBRATE\"/>",
"<uses-permission android:name=\"android.permission.WAKE_LOCK\"/>",
"<uses-permission android:name=\"android.permission.WRITE_EXTERNAL_STORAGE\"/>",
"<uses-permission android:name=\"android.permission.WRITE_SETTINGS\"/>"
],
"schemes" : "nebulamall",
"abiFilters" : [ "armeabi-v7a", "arm64-v8a" ]
},
"orientation" : [ "portrait-primary" ], /应用支持的方向,portrait-primary:竖屏正方向;portrait-secondary:竖屏反方向;landscape-primary:横屏正方向;landscape-secondary:横屏反方向/
"icons" : {
"ios" : {
"prerendered" : true, /应用图标是否已经高亮处理,在iOS6及以下设备上有效/
"auto" : "", /应用图标,分辨率:512x512,用于自动生成各种尺寸程序图标/
"iphone" : {
"normal" : "", /iPhone3/3GS程序图标,分辨率:57x57/
"retina" : "", /iPhone4程序图标,分辨率:114x114/
"retina7" : "", /iPhone4S/5/6程序图标,分辨率:120x120/
"retina8" : "", /iPhone6 Plus程序图标,分辨率:180x180/
"spotlight-normal" : "", /iPhone3/3GS Spotlight搜索程序图标,分辨率:29x29/
"spotlight-retina" : "", /iPhone4 Spotlight搜索程序图标,分辨率:58x58/
"spotlight-retina7" : "", /iPhone4S/5/6 Spotlight搜索程序图标,分辨率:80x80/
"settings-normal" : "", /iPhone4设置页面程序图标,分辨率:29x29/
"settings-retina" : "", /iPhone4S/5/6设置页面程序图标,分辨率:58x58/
"settings-retina8" : "",
"app@2x" : "unpackage/res/icons/120x120.png",
"app@3x" : "unpackage/res/icons/180x180.png",
"notification@2x" : "unpackage/res/icons/40x40.png",
"notification@3x" : "unpackage/res/icons/60x60.png",
"settings@2x" : "unpackage/res/icons/58x58.png",
"settings@3x" : "unpackage/res/icons/87x87.png",
"spotlight@2x" : "unpackage/res/icons/80x80.png",
"spotlight@3x" : "unpackage/res/icons/120x120.png"
},
"ipad" : {
"normal" : "", /iPad普通屏幕程序图标,分辨率:72x72/
"retina" : "", /iPad高分屏程序图标,分辨率:144x144/
"normal7" : "", /iPad iOS7程序图标,分辨率:76x76/
"retina7" : "", /iPad iOS7高分屏程序图标,分辨率:152x152/
"spotlight-normal" : "", /iPad Spotlight搜索程序图标,分辨率:50x50/
"spotlight-retina" : "", /iPad高分屏Spotlight搜索程序图标,分辨率:100x100/
"spotlight-normal7" : "", /iPad iOS7 Spotlight搜索程序图标,分辨率:40x40/
"spotlight-retina7" : "", /iPad iOS7高分屏Spotlight搜索程序图标,分辨率:80x80/
"settings-normal" : "", /iPad设置页面程序图标,分辨率:29x29/
"settings-retina" : "",
"app" : "unpackage/res/icons/76x76.png",
"app@2x" : "unpackage/res/icons/152x152.png",
"notification" : "unpackage/res/icons/20x20.png",
"notification@2x" : "unpackage/res/icons/40x40.png",
"proapp@2x" : "unpackage/res/icons/167x167.png",
"settings" : "unpackage/res/icons/29x29.png",
"settings@2x" : "unpackage/res/icons/58x58.png",
"spotlight" : "unpackage/res/icons/40x40.png",
"spotlight@2x" : "unpackage/res/icons/80x80.png"
},
"appstore" : "unpackage/res/icons/1024x1024.png"
},
"android" : {
"mdpi" : "", /普通屏程序图标,分辨率:48x48/
"ldpi" : "", /大屏程序图标,分辨率:48x48/
"hdpi" : "unpackage/res/icons/72x72.png", /高分屏程序图标,分辨率:72x72/
"xhdpi" : "unpackage/res/icons/96x96.png", /720P高分屏程序图标,分辨率:96x96/
"xxhdpi" : "unpackage/res/icons/144x144.png",
"xxxhdpi" : "unpackage/res/icons/192x192.png"
}
},
"splashscreen" : {
"ios" : {
"iphone" : {
"default" : "", /iPhone3启动图片选,分辨率:320x480/
"retina35" : "../启动图/ios/640×960.png", /3.5英寸设备(iPhone4)启动图片,分辨率:640x960/
"retina40" : "../启动图/ios/640×1136.png", /4.0 英寸设备(iPhone5/iPhone5s)启动图片,分辨率:640x1136/
"retina47" : "../启动图/ios/750×1334.png", /4.7 英寸设备(iPhone6)启动图片,分辨率:750x1334/
"retina55" : "../启动图/ios/1242×2208.png", /5.5 英寸设备(iPhone6 Plus)启动图片,分辨率:1242x2208/
"retina55l" : "",
"portrait-896h@3x" : "../启动图/ios/1242×2688.png",
"portrait-896h@2x" : "../启动图/ios/828×1792.png",
"iphonex" : "../启动图/ios/1125×2346.png"
},
"ipad" : {
"portrait" : "", /iPad竖屏启动图片,分辨率:768x1004/
"portrait-retina" : "", /iPad高分屏竖屏图片,分辨率:1536x2008/
"landscape" : "", /iPad横屏启动图片,分辨率:1024x748/
"landscape-retina" : "", /iPad高分屏横屏启动图片,分辨率:2048x1496/
"portrait7" : "", /iPad iOS7竖屏启动图片,分辨率:768x1024/
"portrait-retina7" : "", /iPad iOS7高分屏竖屏图片,分辨率:1536x2048/
"landscape7" : "", /iPad iOS7横屏启动图片,分辨率:1024x768/
"landscape-retina7" : ""
}
},
"android" : {
"mdpi" : "", /普通屏启动图片,分辨率:240x282/
"ldpi" : "", /大屏启动图片,分辨率:320x442/
"hdpi" : "../启动图/ios/9png/480.9.png", /高分屏启动图片,分辨率:480x762/
"xhdpi" : "../启动图/ios/9png/720.9.png", /720P高分屏启动图片,分辨率:720x1242/
"xxhdpi" : "../启动图/ios/9png/1080.9.png"
}
},
"plugins" : {
"speech" : {},
"oauth" : {},
"share" : {
"weixin" : {
"appid" : "---",//自己的appid
"UniversalLinks" : "https://m.ptexlab.com/"
}
},
"ad" : {}
}
},
"screenOrientation" : [ "portrait-primary" ]
},
"fullscreen" : false,
"screenOrientation" : [ "portrait-primary" ]
}

2020-06-13 23:38 负责人:无 分享
已邀请:
6***@qq.com

6***@qq.com - 小明

白名单配置了吗

  • 1***@qq.com (作者)

    "schemes" : "nebulamall", 这个配置了啊

    2020-06-14 12:14

  • 6***@qq.com

    回复 1***@qq.com: 这个有吗,你搜索下这个配置 : urlschemewhitelist 。我的项目打开拼多多唯品会都是可以的,ios android都可以,应该不是bug 你仔细检查下

    2020-06-15 10:18

  • 1***@qq.com (作者)

    回复 6***@qq.com: 你看下 社区 提这个bug 的单子有 那么多个人 ,你怎么 会没有发现 你只要搜索 ios 打开第三方app 无效就会发现的 或者搜索 UrlSchemes 的话题一大堆,再说了我 是hbuild 里面设置的白名单 ,应该是不会有问题的

    2020-06-15 14:21

  • 业精于勤荒于嬉

    回复 6***@qq.com: 我的配置了白名单,还是 此功能不支持, 0.0

    2022-08-24 09:59

秀啊

秀啊

我不加白名单也能跳过去,只不过我没加alipays://这些东西,是直接一个http的网址,就能跳过去了,不过返回的时候function没有触发

  • qq1563204347

    我用这个跳转浏览器报错了,兄台那边是怎么搞得

    2020-12-01 09:43

CLP

CLP

我用模拟器测试的你这段代码:let urlStr = 'nebulamall://method=pay&my_order_no=ow0qnm1270319078053027840';
plus.runtime.openURL(urlStr, function ( e ) {
alert( "Open system default browser failed: " + e.message );
} ); 能弹出alert来,弹出来的内容是:Open system default browser failed: 此功能不支持 . 你手机上安装了第三方的app吗

  • 想晒太阳

    ios 版本:13.5.1 。我的报的错{"code":-3,"message":"此功能不支持"},我打开的是支付宝,手机上肯定已经安装了。Android没问题的

    let url="https://openapi.alipay.com/gateway.do?alipay_sdk=alipay-sdk-java-dynamicVersionNo&app_id=2021001166634591&biz_content=%7B%22certify_id%22%3A%221b642eb7ca0532b397d105049ce67c3c%22%7D&charset=UTF-8&format=json&method=alipay.user.certify.open.certify&sign=nH5Kd9weYuTFCbVSR0RJYaLBo3fOvyOrzoLZGEfnA%2FkYWw%2Bixbe5rdwXDa3UVXjm0aWQ1f44DNnyaEA9kcwVIF7YV%2Fp22F%2FvfR74ELrNUM0UWL4n8ZgUjhG5IVUKd8028Uq1nnPNvxZ1gultcmG1z4PY5W6SCZmAKWg8aXbUX3dxQAgXTZx1mpoNkMXwBu51rC0ucGeKTL3JzjGSDWboHDalxw1by9Ex8xuvMBJb%2BjOd63dJe6nhH0qe%2BHtjsLxubWXfBIEg%2F4ceCBXfUfFL%2BR5Rq8une%2Fs0I2fbUbKcb83WhXvMAikiuZFKA5UsFS%2F7FgS%2Bto8bTWh0DgcrbSEnPA%3D%3D&sign_type=RSA2&timestamp=2020-07-20+14%3A33%3A57&version=1.0"

    plus.runtime.openURL("alipays://platformapi/startapp?appId=20000067&url="+encodeURIComponent(url),err=>{

    console.log("错误:",err)

    })

    2020-07-21 11:33

  • 想晒太阳

    帮忙看下

    2020-07-21 11:34

  • CLP

    scheme 添加到白名单了吗

    2020-07-21 15:26

  • 业精于勤荒于嬉

    解决没有

    2022-08-24 10:00

y***@163.com

y***@163.com

楼主 你打开了吗?

2***@qq.com

2***@qq.com

解决了吗,配置了白名单也是报此功能不支持的错,现在只能用uni.openLocation打开内置地图。。

该问题目前已经被锁定, 无法添加新回复