Cordova/Ionic 2 相机权限问题 iOS 10.2.1
Posted
技术标签:
【中文标题】Cordova/Ionic 2 相机权限问题 iOS 10.2.1【英文标题】:Cordova/Ionic 2 camera permissions issues iOS 10.2.1 【发布时间】:2017-04-04 10:29:20 【问题描述】:在 ios 上,我的应用检查使用相机的权限,然后如果一切正常,继续使用相机。
问题在于:
iOS 8:一切正常, iOS 10.2.1:我收到错误警报。然而,该应用程序仍然允许我之后使用相机。
我在 iOS 上做错了什么?
为简洁起见,这是我简化的方法:
checkPermissionsForCamera()
this._Diagnostic.isCameraAuthorized().then(cameraIsAuthorised =>
if (cameraIsAuthorised)
getPhoto(); // etc....
else
this._Diagnostic.requestCameraAuthorization().then(cameraAuthorisationGranted =>
if (cameraAuthorisationGranted.toLowerCase() == 'granted')
getPhoto(); // etc....
else
alert('Please go to your device settings and enable camera permissions.');
);
);
仅供参考 - 我的 plist 文件中有这些键:
<key>NSCameraUsageDescription</key>
<string>This app requires camera access to function properly.</string>
<key>NSPhotoLibraryUsageDescription</key>
<string>This app requires photo library access to function properly</string>
【问题讨论】:
你用的是什么插件?能否提供本机代码获取权限? 我正在使用 Ionic Native Diagnostic 包装器,它使用 Cordova 诊断插件:ionicframework.com/docs/native/diagnostic 这些 cmets 都没有帮助,如果您有实际答案,请添加示例代码作为答案。 【参考方案1】:事实证明,iOS 上的权限是一堆球,它们的行为并不明智。如果您之前拒绝访问某个权限,那么再次请求它实际上不会执行任何操作。所以你必须告诉用户手动去改变它。跛脚。
您可以将它们发送到设置屏幕:diagnostic.switchToSettings()
通过以下方式重置权限:
Settings -> General -> Reset -> Reset Location & Privacy
... 使应用请求新权限。
【讨论】:
以上是关于Cordova/Ionic 2 相机权限问题 iOS 10.2.1的主要内容,如果未能解决你的问题,请参考以下文章
Cordova / Ionic iOS 应用程序在加载插件时挂在启动屏幕上
在应用程序重新启动时,inappbrowser iOS 10 中的缓存 Cookie(clearcache=no;)不起作用 - Cordova/Ionic
任务执行失败:processDebugResources [ Cordova / Ionic ]
为啥 Google Maps Cordova ionic angular 仅在 Android 中工作而在 IOS 中为空白?