【发布时间】: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