uni-app 英文手机蓝牙授权会显示中文导致审核被拒

发布于 1周前 作者 sinazl 来自 Uni-App

uni-app 英文手机蓝牙授权会显示中文导致审核被拒

操作步骤:

  • 低功耗蓝牙授权功能,将iphone设置成英文

预期结果:

  • 蓝牙授权界面应该只显示英文

实际结果:

  • 上面显示英文下面显示中文

bug描述:

低功耗蓝牙授权提示在英文手机会出现英文和中文同时存在的情况导致审核不通过。
Guideline 4.0 - Design

We noticed an issue in your app that contributes to a lower-quality user experience than App Store users expect:

  • Your app’s permissions requests are not written in the same language as your app’s English localization. To help users understand why your app is requesting access to a specific feature, your app’s permission requests should be in the same language as your app’s current localization.

Since App Store users expect apps to be simple, refined, and easy to use, we want to call your attention to this design issue so you can make the appropriate changes.

Next Steps

Please revise your app to address all instances of the issue identified above.

Resources

  • To learn more about App Store design requirements, see App Review Guideline 4 - Design.
  • Review the UI Design Dos and Don’ts for tips on fundamental design best practices.
  • Visit Accessibility on iOS to learn more about delivering a superior mobile experience to every customer.
  • Learn more about designing for iOS in the Human Interface Guidelines.

image


1 回复

在处理uni-app应用中蓝牙授权显示中文导致审核被拒的问题时,我们可以通过自定义蓝牙授权弹窗来确保显示的文本为英文。以下是一个基本的思路和代码示例,帮助你实现这一功能。

思路

  1. 检测蓝牙权限:在应用启动时或进入相关页面时,检测蓝牙权限状态。
  2. 自定义授权弹窗:如果未授权,显示一个自定义的英文授权弹窗。
  3. 引导用户授权:在自定义弹窗中,提供一个按钮,当用户点击时,引导用户到系统设置页面开启蓝牙权限。

代码示例

1. 检测蓝牙权限

// 在页面或应用的onLoad生命周期中检测蓝牙权限
uni.getSetting({
  success: function(res) {
    if (!res.bluetooth) {
      // 未授权,显示自定义弹窗
      showBluetoothAuthDialog();
    } else {
      // 已授权,执行蓝牙相关操作
      initBluetooth();
    }
  }
});

2. 自定义授权弹窗

function showBluetoothAuthDialog() {
  uni.showModal({
    title: 'Bluetooth Permission',
    content: 'This app needs access to your Bluetooth. Please allow it in settings.',
    showCancel: false,
    success: function(res) {
      if (res.confirm) {
        // 跳转到系统设置页面
        uni.openSetting({
          success: function(settingRes) {
            if (settingRes.authSetting['bluetooth']) {
              // 用户已授权,执行蓝牙相关操作
              initBluetooth();
            } else {
              // 用户拒绝授权,提示用户
              uni.showToast({
                title: 'Bluetooth permission denied',
                icon: 'none'
              });
            }
          }
        });
      }
    }
  });
}

3. 初始化蓝牙(示例)

function initBluetooth() {
  uni.openBluetoothAdapter({
    success: function(res) {
      console.log('Bluetooth adapter opened', res);
      // 执行其他蓝牙操作,如扫描设备等
    },
    fail: function(err) {
      console.error('Failed to open Bluetooth adapter', err);
    }
  });
}

注意事项

  • 用户体验:确保自定义弹窗的设计友好且信息准确,避免给用户带来困惑。
  • 权限检测频率:避免频繁检测权限,影响用户体验。
  • 多语言支持:虽然本示例针对英文,但考虑到未来的扩展性,可以将文本内容放入配置文件,便于管理多语言。

通过上述方法,你可以有效地控制蓝牙授权弹窗的显示内容,从而避免审核被拒的问题。

回到顶部