flutter IOS权限审核不通过问题

815 阅读1分钟

因为项目中用到了permission_handler这个插件,可以获取相机、通讯录、定位、蓝牙等信息,在上传到appstoreconnect时被驳回并发送邮件告知Missing Purpose String in Info.plist……。在info.plist文件中没有相关权限说明,那么这时可以在podfile文件里添加代码,禁止插件将所有的可获取的权限打包到ipa。

亲测可用

post_install do |installer|
  installer.pods_project.targets.each do |target|
    flutter_additional_ios_build_settings(target)
    target.build_configurations.each do |config|
              config.build_settings['GCC_PREPROCESSOR_DEFINITIONS'] ||= [
                '$(inherited)',

                ## dart: PermissionGroup.calendar
                'PERMISSION_EVENTS=0',

                ## dart: PermissionGroup.reminders
                'PERMISSION_REMINDERS=0',

                ## dart: PermissionGroup.contacts
                'PERMISSION_CONTACTS=0',

                ## dart: PermissionGroup.speech
                'PERMISSION_SPEECH_RECOGNIZER=0',

                ## dart: [PermissionGroup.location, PermissionGroup.locationAlways, PermissionGroup.locationWhenInUse]
                'PERMISSION_LOCATION=0',

                ## dart: PermissionGroup.notification
                'PERMISSION_NOTIFICATIONS=0',

                ## dart: PermissionGroup.mediaLibrary
                'PERMISSION_MEDIA_LIBRARY=0',

                ## dart: PermissionGroup.sensors
                'PERMISSION_SENSORS=0',

                ## dart: PermissionGroup.bluetooth
                'PERMISSION_BLUETOOTH=0'
              ]

            end
  end
end

参考文档: github.com/Baseflow/fl…

pub.flutter-io.cn/documentati…