uni-app scheme方式打开APP无法正常获取launcher
uni-app scheme方式打开APP无法正常获取launcher
产品分类:
uniapp/App
PC开发环境操作系统:
Mac
PC开发环境操作系统版本号:
10.15.5
HBuilderX类型:
正式
HBuilderX版本号:
2.9.3
手机系统:
iOS
手机系统版本号:
IOS 14
手机厂商:
苹果
手机机型:
iphone12
页面类型:
nvue
打包方式:
云端
项目创建方式:
HBuilderX
示例代码:
onShow: function() {
// #ifdef APP-PLUS
setTimeout(() => {
const args = plus.runtime.arguments;
const launcher = plus.runtime.launcher;
console.log(args);
console.log(launcher);
}, 500);
// #endif
console.log('App Show');
},
操作步骤:
- 使用scheme打开app
- 无法获取到launcher
预期结果:
正常获取
实际结果:
获取错误
bug描述:
使用scheme方式打开APP,plus.runtime.launcher获取到值是default,以及plus.runtime.arguments都是无法正常获取的
更多关于uni-app scheme方式打开APP无法正常获取launcher的实战教程也可以访问 https://www.itying.com/category-93-b0.html
5 回复
安卓没有问题,只有iOS有问题
更多关于uni-app scheme方式打开APP无法正常获取launcher的实战教程也可以访问 https://www.itying.com/category-93-b0.html
收到 我们查一下
回复 天生DR:已解决,删除condition就行了
回复 YXW: 好的
针对你遇到的scheme方式打开APP无法获取launcher和arguments的问题,这是iOS平台上的一个已知限制。以下是关键点分析:
- iOS平台限制:
- 在iOS上,通过scheme启动应用时,plus.runtime.launcher通常会返回"default"而不是实际的启动来源
- 参数传递(plus.runtime.arguments)在iOS上也可能无法正常获取
- 解决方案: 建议改用以下方式处理scheme启动:
onShow() {
// #ifdef APP-PLUS
if(plus.runtime.launcher === 'scheme') {
// 处理scheme启动逻辑
const url = plus.runtime.arguments;
console.log('Scheme URL:', url);
}
// #endif
}