无效的反应本机权限 ios.PERMISSION.CAMERA

Posted

技术标签:

【中文标题】无效的反应本机权限 ios.PERMISSION.CAMERA【英文标题】:Inavlid react Native permission ios.PERMISSION.CAMERA 【发布时间】:2020-03-24 04:28:47 【问题描述】:

我正在使用react-native-qr-code-scanner 在我的应用程序中添加 QR 扫描仪功能。我遵循了所有的指令,并且在 android 上一切正常,但是当我在 ios 上构建我的应用程序时,应用程序无法找到 RNPermissions 库,所以我按照自述文件中的建议手动链接它。链接错误现在消失了,我收到了 Invali RMPermission ios.PERMISSION.CAMERA should be one of()。该错误在react-native-permissions README PAGE 的 github 页面和解决它的步骤上进行了描述。 它说

检查您是否链接了至少一个权限处理程序。

我无法将其中所述的权限处理程序添加到 Podfile,因为它还会自动安装 React(0.11.0) 版本(但这不是必需的),因为我已经有了最新的反应。有什么办法解决这个问题?

[!]

当我添加后运行pod install

  permissions_path = '../node_modules/react-native-permissions/ios'
  pod 'Permission-Camera', :path => "#permissions_path/Camera.podspec"

我明白了

Unable to find a specification for `RNPermissions` depended upon by `Permission-Camera`

You have either:
 * out-of-date source repos which you can update with `pod repo update` or with `pod install --repo-update`.
 * mistyped the name or version.
 * not added the source repo that hosts the Podspec to your Podfile.

【问题讨论】:

【参考方案1】:

我也遇到了ios.PERMISSION.CAMERA should be one of() 的问题,在 podfile 中使用以下命令将解决您的问题。

  pod 'RNPermissions', :path => '../node_modules/react-native-permissions'
  permissions_path = '../node_modules/react-native-permissions/ios'
  pod 'Permission-Camera', :path => "#permissions_path/Camera.podspec"

【讨论】:

无法解析 ios.PERMISSION.CAMERA 应该是上述代码的 of() 错误之一【参考方案2】:

我的解决方案是在 podfile 中进行以下更改:

添加 :modular_header => false

pod 'glog', :podspec => '../node_modules/react-native/third-party-podspecs/glog.podspec', :modular_headers => false
pod 'Folly', :podspec => '../node_modules/react-native/third-party-podspecs/Folly.podspec', :modular_headers => false

添加使用相机进行二维码扫描的权限:

  pod 'Permission-Camera', :path => "../node_modules/react-native-permissions/ios/Camera.podspec"

希望这会有所帮助!

【讨论】:

编辑完podfile后需要安装pod还是正常运行?【参考方案3】:

仔细检查文件路径,它应该类似于“/Camera/Permission-Camera.podspec”。

  permissions_path = '../node_modules/react-native-permissions/ios'
  pod 'RNPermissions', :path => '../node_modules/react-native-permissions'
  pod 'Permission-Microphone', :path => "#permissions_path/Microphone/Permission-Microphone.podspec"
  pod 'Permission-Camera', :path => "#permissions_path/Camera/Permission-Camera.podspec"

【讨论】:

以上是关于无效的反应本机权限 ios.PERMISSION.CAMERA的主要内容,如果未能解决你的问题,请参考以下文章

反应本机位置权限对话框在Android中不显示

在应用程序请求位置权限之前在本机反应中创建弹出警报的问题

如何在反应本机博览会应用程序(android)中授予相机权限

世博会弹出反应本机项目上传的apk(由android studio构建)具有比清单文件更多的权限

无法在本机反应中选择任何文档/图像(ANDROID 11)

如何在本机反应中验证 TextInput 值?