有没有办法确定哪些权限未使用并且可以安全地在
info.plist
和 AndroidManifest
中删除?
检查您的 JavaScript 代码:
检查项目的 JavaScript 文件中是否存在使用需要特定权限的库或 API 的任何实例。例如,如果您不使用地理定位功能,则可能不需要
ACCESS_FINE_LOCATION
权限。
检查您的本机模块: 如果您使用任何第三方本机模块,请检查其文档以了解它们需要哪些权限。
使用工具:
react-native-permissions
:这个库可以帮助你在运行时检查权限的状态。您可以使用它来识别已授予但从未在应用程序中实际使用的权限。
修改您的
AndroidManifest.xml
:
删除未使用的权限:
确定不需要的权限后,打开
android/app/src/main/AndroidManifest.xml
文件并删除相应的标签。
使用tools:node="remove"
:
要删除第三方库可能包含的权限,请使用 tools:node="remove" 属性,如下所示:
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" tools:node="remove" />
经常可以删除的常见权限:
READ_EXTERNAL_STORAGE
:如果您不访问设备存储上的文件,则不需要。WRITE_EXTERNAL_STORAGE
:如果您不将文件写入设备的存储,则不需要。READ_PHONE_STATE
:不需要,除非您特别需要访问设备的手机状态。ACCESS_FINE_LOCATION
和 ACCESS_COARSE_LOCATION
:如果您不使用地理定位功能,则不需要。小心: 如果确实需要这些权限,则删除权限可能会破坏应用程序的功能。
隐私: 尊重用户隐私。仅请求应用程序功能真正必需的权限。