上传TestFlight遇ITMS-90683错误,排查调用定位API的插件
排查调用定位API的插件方法
1. 检查已安装插件的清单与源码
- 先把项目里所有依赖的插件列出来(比如CocoaPods看
Podfile.lock,Flutter看pubspec.lock),挨个查插件的官方文档或源码:- 看插件的
Info.plist里有没有NSLocation*UsageDescription这类权限字段; - 搜插件代码里的
CLLocationManager、定位权限请求相关代码,确认是否调用了定位API。
- 看插件的
2. 全局搜索项目里的定位API调用
- 打开终端,进入项目根目录,执行对应平台的搜索命令:
- iOS原生/混合项目:
grep -r "CLLocationManager\|requestWhenInUseAuthorization\|requestAlwaysAuthorization" . --include="*.h" --include="*.m" --include="*.swift" - 这个命令会遍历所有代码文件,找出调用定位API的位置,从文件路径就能对应到具体插件。
- iOS原生/混合项目:
3. 用Xcode链接报告找关联库
- 打开Xcode项目设置,找到Build Settings,搜索
Write Link Map File并设为YES; - 重新打包后,在
Build/Products目录下找到.linkmap文件,打开搜索CLLocation相关符号,符号旁边标注的库名就是包含定位API的插件。
4. 逐步移除插件排查
- 如果前面的方法都没找到,就逐个移除插件,每次移除后重新打包并通过Xcode验证归档,直到不再触发ITMS-90683错误,最后移除的那个就是问题插件。
内容的提问来源于stack exchange,提问作者Pavel
相关产品推荐
相关产品推荐

