我在我的flutter应用程序中添加了permission_handler 11.1.0包。 打包链接 根据他们的文档,我在安装程序的 PodFile 中添加了这些代码:
post_install do |installer|
installer.pods_project.targets.each do |target|
target.build_configurations.each do |config|
config.build_settings['GCC_PREPROCESSOR_DEFINITIONS'] ||= [
'$(inherited)',
## dart: PermissionGroup.camera
'PERMISSION_CAMERA=1',
## dart: PermissionGroup.photos
'PERMISSION_PHOTOS=1',
## dart: PermissionGroup.mediaLibrary
# 'PERMISSION_MEDIA_LIBRARY=1',
]
end
end
end
#Default installer commented
# post_install do |installer|
# installer.pods_project.targets.each do |target|
# flutter_additional_ios_build_settings(target)
# end
# end
我还在 Info.plist 文件中添加了这些键:
<key>PHPhotoLibraryPreventAutomaticLimitedAccessAlert</key>
<true/>
<key>NSCameraUsageDescription</key>
<string>This App requires access to your phone’s camera</string>
<key>NSPhotoLibraryUsageDescription</key>
<string>This App requires Photo permission.</string>
但是,当我在 IOS 模拟器中运行我的应用程序时,图库权限和从图库中选取图像工作得很好,但相机权限根本不显示,相机无法打开!我错过了什么?
注意:我的flutter版本3.16.3 •通道稳定,Dart 3.2.3,DevTools 2.28.4
我尝试使用permission_handler包运行我的flutter应用程序的相机权限。我希望像 Android 一样在应用程序中显示相机权限。但实际上结果是,当我想要获取相机权限时,它总是显示“永远被拒绝”并且没有相机权限显示
解决了!更新了 PodFile 的 post_install:
post_install do |installer|
installer.pods_project.targets.each do |target|
target.build_configurations.each do |config|
config.build_settings['GCC_PREPROCESSOR_DEFINITIONS'] ||= [
'$(inherited)',
## dart: PermissionGroup.camera
'PERMISSION_CAMERA=1',
## dart: PermissionGroup.photos
'PERMISSION_PHOTOS=1',
## dart: PermissionGroup.mediaLibrary
# 'PERMISSION_MEDIA_LIBRARY=1',
]
end
flutter_additional_ios_build_settings(target)
end
end
#Default installer commented
# post_install do |installer|
# installer.pods_project.targets.each do |target|
# flutter_additional_ios_build_settings(target)
# end
# end
现在工作正常