uni-app小米商店审核被拒,但是我们权限里并没有获取位置权限
uni-app小米商店审核被拒,但是我们权限里并没有获取位置权限
个推还会获取这种位置权限吗?
根目录新建AndroidManifest.xml,内容如下:
<?xml version="1.0" encoding="utf-8"?><manifest xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools"
package="应用包名">
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" tools:node="remove"/>
<uses-permission android:name="android.permission.ACCESS_BACKGROUND_LOCATION" tools:node="remove"/>
<application>
<!--meta-data-->
</application>
</manifest>
同时在manifest.json中,强制移除的权限那里也加了
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
<uses-permission android:name="android.permission.ACCESS_BACKGROUND_LOCATION"/>
再次打包后,用反编译工具 jadx-gui 查看,发现没有这两个位置权限了。。。荣耀商店也被拒了
使用的组件或者插件中存在,请排查
看了个推的隐私政策,应该就是他们申请了位置权限,问了小米客服,答复要么把权限删掉,要么上传需要这两个权限在的必要性。。。
你可以完善一下隐私政策
针对您提到的uni-app在小米商店审核被拒,而您的应用中并未请求位置权限的问题,这里有几个可能的解决方向和相关的代码检查与调整建议。请注意,虽然您声称未请求位置权限,但审核被拒往往有其具体原因,可能是代码中隐式请求或其他因素导致。以下是一些检查和调整的方法,以及确保未请求位置权限的代码示例。
1. 检查manifest.json
配置
首先,确保manifest.json
文件中没有配置任何与位置相关的权限。对于uni-app,权限通常在manifest.json
的mp-weixin
、app-plus
等平台下配置。
{
"mp-weixin": {
// 确保这里没有位置权限的配置
},
"app-plus": {
"distribute": {
"android": {
"permissions": [
// 确保没有类似 "android.permission.ACCESS_FINE_LOCATION" 或 "android.permission.ACCESS_COARSE_LOCATION"
]
}
}
}
}
2. 检查代码中是否隐式请求位置权限
有时候,即使manifest.json
中没有配置,代码中的某些库或插件也可能会请求位置权限。因此,需要仔细检查代码。
- 检查所有插件和库:确保使用的所有第三方库或插件不会请求位置权限。
- 代码审查:查找所有可能涉及位置请求的代码片段,例如使用地图API、定位服务等。
3. 使用条件编译避免请求位置权限
如果您的应用在某些条件下确实需要位置权限,但希望在其他条件下不请求,可以使用条件编译来区分。
// 假设有一个变量`needLocation`控制是否需要位置权限
if (needLocation) {
// 这里可以动态请求位置权限(但在这个案例中,我们假设不需要)
// uni.authorize({
// scope: 'scope.userLocation',
// success() {
// console.log('授权成功');
// },
// fail() {
// console.log('授权失败');
// }
// });
} else {
// 不请求位置权限
console.log('不需要位置权限');
}
4. 提交审核时的说明
在提交审核时,可以在审核说明中明确指出您的应用没有请求任何位置权限,并附上manifest.json
的相关配置截图和代码审查的简要说明,以增加审核通过的可能性。
总结
确保manifest.json
和代码中均未请求位置权限是关键。如果问题依旧存在,建议与小米商店的审核团队进一步沟通,了解具体的拒绝原因,以便更有针对性地解决问题。