uni-app 发布ios商店包时页面左上方的返回按钮点击无效

uni-app 发布ios商店包时页面左上方的返回按钮点击无效

操作步骤:

  • 新建项目,新建任意页面和第二个页面,页面点击按钮跳转到第二个页面,选择发布为ios 商店包(发布模式的证书),在手机上测试即可复现。

预期结果:

  • 第二个页面点击左上角正常返回上个页面

实际结果:

  • 点击无效

bug描述:

  • 项目没使用nvue,就是基础的页面,基座、ios的开发模式包、安卓包都没有此问题,当发布为商店包的时候,所有通过页面跳转过去的第二个页面左上方的返回按钮都会失效。
  • 测试过当前的HBuildX的正式版3.4.3和当前最新的测试版都会出现这个问题,这个问题不是偶发的,是一个必现的bug。

更多关于uni-app 发布ios商店包时页面左上方的返回按钮点击无效的实战教程也可以访问 https://www.itying.com/category-93-b0.html

3 回复

商店包那没法测试安装只能商店安装了啊,你所有手机都这样么?

更多关于uni-app 发布ios商店包时页面左上方的返回按钮点击无效的实战教程也可以访问 https://www.itying.com/category-93-b0.html


appid私信我下

在 uni-app 发布到 iOS 商店时,如果页面左上角的返回按钮点击无效,可能是由于以下几个原因导致的。你可以按照以下步骤进行排查和修复:

1. 检查页面路由配置

确保你的页面路由配置正确,并且页面之间的跳转逻辑没有问题。uni-app 的路由是基于 Vue Router 的,返回按钮通常是调用 uni.navigateBack() 方法来实现的。

uni.navigateBack({
  delta: 1 // 返回的页面层数
});

2. 检查页面生命周期

确保你在页面的生命周期钩子中(如 onShowonLoad)没有执行阻塞操作,导致页面无法正常返回。

3. 检查导航栏自定义

如果你自定义了导航栏,确保返回按钮的点击事件绑定了正确的返回逻辑。例如:

<view class="nav-bar">
  <view class="back-btn" @click="goBack">返回</view>
</view>
methods: {
  goBack() {
    uni.navigateBack({
      delta: 1
    });
  }
}

4. 检查 iOS 原生导航栏

在 iOS 上,左上角的返回按钮通常是系统自带的导航栏返回按钮。如果你使用了自定义导航栏,可能需要隐藏系统导航栏:

// 在页面的 onLoad 或 onShow 中隐藏系统导航栏
uni.hideNavigationBarLoading();

5. 检查页面栈

确保页面栈中没有异常,导致无法正常返回。你可以使用 getCurrentPages() 方法查看当前页面栈:

const pages = getCurrentPages();
console.log(pages);

6. 检查 iOS 打包配置

确保你在打包 iOS 应用时,配置正确,没有遗漏或错误。特别是 manifest.json 中的配置项,如页面路径、导航栏样式等。

7. 调试与日志

在开发环境中,使用真机调试功能,查看控制台输出,检查是否有错误或警告信息。你可以在返回按钮的点击事件中添加日志,确认事件是否被触发:

methods: {
  goBack() {
    console.log('返回按钮被点击');
    uni.navigateBack({
      delta: 1
    });
  }
}
回到顶部