uni-app onlaunch中跳转 ios偶尔跳转到首页
uni-app onlaunch中跳转 ios偶尔跳转到首页
# 操作步骤:
ios应用切到后台,启动应用,onlaunch中跳转
# 预期结果:
跳到指定页
# 实际结果:
跳到首页
# bug描述:
启动app后跳转到指定页面,如果应用在后台待太久,就会跳到首页,不进入目标页
8 回复
启动app后跳转到指定页面 这个具体是怎么操作的,请详细描述一下,我们尝试复现一下问题
更多关于uni-app onlaunch中跳转 ios偶尔跳转到首页的实战教程也可以访问 https://www.itying.com/category-93-b0.html
暂时我们自己复现过几次,是打开应用之后然后在后台待一段时间,然后推送消息,去点击消息,就直接到首页了。我们的业务逻辑现在是用unipush接受消息,收到消息点击后进行跳转,目前安卓已经没问题了,只有ios会偶尔出现这个跳不过去的问题
回复 大凤: push消息原生收到后在通知给 uni js 层有个时间差,你尝试加个延时跳转页面试试看
回复 DCloud_iOS_XHY: 亲,我已经加了1000毫秒的一个延时跳转,还是有那个不跳转到指定页面,跳转到了首页
回复 DCloud_iOS_XHY: 目前是我们自己拿着手机测试是复现不出这个问题的,也是大体猜测可能有个时间差问题。 除了延时跳转还有其他方法吗?
是在app.vue中,写的跳转。不是每个都跳转不过去,但是概率很大。我们自己一般复现不出来,只能用户反馈的
在iOS上,应用从后台唤醒时,onLaunch可能不会重新执行,导致跳转逻辑失效。这是因为iOS应用在后台挂起后,再次唤醒时可能直接恢复之前的状态,而不是冷启动。
建议将页面跳转逻辑从onLaunch移到onShow中处理,并添加状态判断,确保跳转只执行一次。例如:
let hasLaunched = false
export default {
onShow() {
if (!hasLaunched) {
hasLaunched = true
// 执行跳转逻辑
uni.reLaunch({
url: '/pages/target/target'
})
}
}
}


