集成Firebase/Core后App上架被拒:缺少NSLocationWhenInUseUsageDescription
解决App Store因Firebase Analytics导致的位置权限描述缺失拒信问题
嘿,这个问题其实挺常见的——虽然你没主动在代码里调用任何位置相关的API,但Firebase Analytics默认会尝试收集设备的位置信息(用来做地域维度的使用数据分析),App Store的审核系统检测到了这个权限访问行为,所以要求你必须在Info.plist里添加对应的权限描述。
给你两个解决方向,选一个适合你的就行:
方案1:添加位置权限描述(最直接)
这是最快通过审核的方法,步骤如下:
- 打开Xcode里的
Info.plist文件(可以切换到"Property List"可视化视图,或者直接编辑源码) - 添加键
NSLocationWhenInUseUsageDescription,对应的字符串值要明确说明用途,比如:"为了优化应用体验,我们会收集您的位置信息以提供更精准的使用数据分析"注意:描述要真实,不能随便写,要符合你实际的使用场景,避免后续再次被拒
方案2:禁用Firebase Analytics的位置收集(如果不需要地域数据)
如果你完全不需要基于位置的分析数据,可以在初始化Firebase的时候关闭位置收集:
- 在AppDelegate或者你初始化Firebase的代码里,添加以下配置:
// Swift示例 FirebaseApp.configure() Analytics.setAnalyticsCollectionEnabled(true) // 确保分析开启(如果需要的话) // 关键:禁用位置收集 let settings = Analytics.settings settings.setLocationCollectionEnabled(false)// Objective-C示例 [FIRApp configure]; [[FIRAnalytics analytics] setAnalyticsCollectionEnabled:YES]; FIRAnalyticsSettings *settings = [FIRAnalytics settings]; [settings setLocationCollectionEnabled:NO]; - 做完这个配置后,重新打包上传,审核系统就不会检测到位置权限的调用了
不管选哪个方案,记得重新打包后再提交审核,应该就能顺利通过啦!
内容的提问来源于stack exchange,提问作者Владимир Широков
相关产品推荐
相关产品推荐

