我正在做一个混合项目,使用cordova来构建iOS和Android。
我的问题是iOS上传。有一个"上传"选项。,其中用户还可以"拍照"。为此,我使用cordova-plugin-ios-camera-permissions.
在config.xml中,我添加了以下权限:<platform name="ios">
<edit-config target="NSCameraUsageDescription" file="*-Info.plist" mode="merge">
<string>need camera access to take pictures</string>
</edit-config>
<edit-config target="NSPhotoLibraryUsageDescription" file="*-Info.plist" mode="merge">
<string>need photo library access to upload images</string>
</edit-config>
<edit-config target="NSLocationWhenInUseUsageDescription" file="*-Info.plist" mode="merge">
<string>need location access to find things nearby</string>
</edit-config>
<edit-config target="NSPhotoLibraryAddUsageDescription" file="*-Info.plist" mode="merge">
<string>need photo library access to save pictures there</string>
</edit-config>
</platform>
但是当用户点击"拍摄视频"时,应用程序崩溃,因为没有使用麦克风的许可(NSMicrophoneUsageDescription)。
我认为这个问题可以通过添加这个权限到PList.info(通过config.xml)来解决,但是…没有"上传视频"功能功能在我的应用…
我的问题是:是否有可能阻止"拍摄视频",或者我应该简单地添加麦克风权限?
我已经解决了这个问题,通过使用input "accept"属性:
<input type="file" accept="image/*" id="my_file" />
结果,iOS没有显示"拍摄视频"。选择。
完整参考可在:https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/accept