【问题标题】:IONIC Capacitor Remove the unnecessary permissions in iOS & AndroidIONIC Capacitor 移除 iOS & Android 中不必要的权限
【发布时间】:2020-09-25 21:44:12
【问题描述】:

当我使用 Ionic Capacitor 创建项目时,iOS (info.plist) 和 Android(AndroidManifes.xml) 都会自动拥有一些默认权限:

AndroidManifes.xml 权限:

<!-- Permissions -->
<uses-permission android:name="android.permission.INTERNET" />
<!-- Camera, Photos, input file -->
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<!-- Geolocation API -->
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-feature android:name="android.hardware.location.gps" />
<!-- Network API -->
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<!-- Navigator.getUserMedia -->
<!-- Video -->
<uses-permission android:name="android.permission.CAMERA" />
<!-- Audio -->
<uses-permission android:name="android.permission.RECORD_AUDIO" />
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS"/>

Info.plist 权限:

<key>NSCameraUsageDescription</key>
<string>To Take Photos and Video</string>
<key>NSLocationAlwaysUsageDescription</key>
<string>Always allow Geolocation?</string>
<key>NSLocationWhenInUseUsageDescription</key>
<string>Allow Geolocation?</string>
<key>NSMicrophoneUsageDescription</key>
<string>To Record Audio With Video</string>
<key>NSPhotoLibraryAddUsageDescription</key>
<string>Store camera photos to camera</string>
<key>NSPhotoLibraryUsageDescription</key>
<string>To Pick Photos from Library</string>
<key>UILaunchStoryboardName</key>
<string>LaunchScreen</string>

假设我的应用不需要相机访问权限,如果我从 AndroidManifest.xml 中删除它,我的应用会成功构建并在没有该权限的情况下发布到 PlayStore,但如果我在通过 xCode 上传后从 Info.plist 中删除任何内容我收到电子邮件通知,我应该添加刚刚删除的权限。

这样做的正确方法是什么,我应该更改 iOS 中的其他文件吗?

【问题讨论】:

    标签: android ios ionic-framework permissions capacitor


    【解决方案1】:

    在 iOS 上,它们不是权限,而是使用说明。

    使用说明是附加文本,用于解释为什么您的应用在应用请求时需要权限。

    由于 Capacitor 提供了所有核心插件,其中一些插件请求权限,Apple 代码扫描器会检测代码并警告您以确保您没有忘记它们。这只是一个警告,你不必担心,而且,如果你把它们留在那儿也没有什么坏处。

    另一方面,在 Android 上,您可以删除不使用的权限。

    【讨论】:

      猜你喜欢
      • 2022-01-03
      • 2022-08-08
      • 2014-10-05
      • 1970-01-01
      • 1970-01-01
      • 2021-12-18
      • 2023-03-14
      • 1970-01-01
      • 2020-10-28
      相关资源
      最近更新 更多