TestFlight提交遇ITMS-90809错误:无UIWebView代码却被检测匹配求解决
解决ITMS-90809 UIWebView废弃API错误的步骤
1. 清理Xcode用户状态缓存文件
你终端里匹配到的UserInterfaceState.xcuserstate是Xcode生成的本地界面状态缓存文件,记录了你的编辑器操作痕迹(比如打开过的文件、窗口布局等),里面的UIWebView引用属于缓存残留,不会影响APP实际运行,但可能被苹果的检测脚本误判。处理方式:
- 完全关闭Xcode
- 找到路径
./MyList.xcworkspace/xcuserdata/bbaran.xcuserdatad/UserInterfaceState.xcuserstate,删除该文件 - 重新打开Xcode,执行
Command + Shift + K清理项目,再重新归档提交
2. 排查第三方依赖
自身代码无UIWebView的情况下,第三方库可能暗藏引用,需进一步验证:
- 在项目根目录执行命令:
grep -r UIWebView --include="*.a" --include="*.framework",扫描所有静态库和框架文件 - 若发现有依赖使用了UIWebView,优先更新到该库的最新版本(多数主流库已替换为WKWebView);无法更新的话,考虑替换为功能相近的替代库
3. 归档后再做一次验证
- 在Xcode的Organizer中,右键已归档的包,选择「Show in Finder」
- 右键
.xcarchive文件,选择「Show Package Contents」,进入Products/Applications目录 - 右键你的APP文件,选择「Show Package Contents」,在该目录下执行
grep -r UIWebView .,确认APP包内无实际的UIWebView引用
内容的提问来源于stack exchange,提问作者Batuhan Baran
相关产品推荐
相关产品推荐

