Flutter应用安卓端运行正常,iOS真机出现异常问题求助
Flutter iOS真机运行异常(权限配置相关)解决办法
补全权限使用描述
iOS要求所有申请的权限必须附带明确的使用描述(NS*UsageDescription字段),仅添加权限键但缺少描述会直接导致真机运行异常。打开项目ios/Runner/Info.plist文件,逐一检查每个权限对应的描述内容,确保每个权限都有清晰的用途说明,比如给NSCameraUsageDescription设置值为“用于拍摄并上传商品图片”。清理冗余权限
第三方包自动添加的权限可能包含你项目实际未用到的项,这类冗余权限可能引发运行冲突或审核问题。对照代码逻辑,删除info.plist中未实际使用的权限配置,比如项目没用到通讯录功能,就删掉NSContactsUsageDescription相关条目。校验权限配置格式
检查info.plist里的权限键名拼写是否完全正确(苹果对键名大小写、拼写要求严格,比如NSLocationAlwaysAndWhenInUseUsageDescription不能写错),同时排查是否存在重复的权限配置项,重复配置也会导致异常。重置依赖与缓存
- 进入项目
ios目录,删除Pods文件夹和Podfile.lock文件 - 执行
pod install重新安装iOS依赖 - 回到项目根目录执行
flutter clean清理缓存,之后重新运行项目到iOS真机
- 进入项目
定位异常权限项
如果以上步骤无效,可尝试临时注释info.plist中的部分权限配置,逐个测试运行,找到引发异常的具体权限项后,针对性调整该权限的配置或检查对应第三方包的使用逻辑。
内容的提问来源于stack exchange,提问作者Nehil Viradiya
相关产品推荐
相关产品推荐

