提交我的最新版本时,Apple会对此警告做出回应。
ITMS-90809:不推荐使用的API-Apple将停止接受使用UIWebView API的应用程序的提交。有关更多信息,请参见https://developer.apple.com/documentation/uikit/uiwebview。
仅供参考,我已经根据Apple的建议将所有UIWebView组件迁移到了我项目中的WKWebView组件,但是Apple仍然以相同的警告进行响应。
除了使用Xcode内的搜索功能之外,是否有任何方法可以搜索仍附加到我的项目的UIWebView元素?
答案 0 :(得分:6)
您可以在项目中使用以下命令行进行查找。
<ngx-codemirror *ngIf="opened$ | async else loading"
....
<ng-template #loading>Loading...</ng-template>
答案 1 :(得分:2)
grep -r UIWebView
适用于源,但部分适用于第三方二进制文件,因为它们一方面可以使用UIWebView包含引用,注释或字符串数据,而无需实际使用API;另一方面,它们可以使用它,但不能使用API有任何参考。
要检查二进制文件(应用程序,静态库或动态框架),应使用nm
(llvm符号表转储程序)获取符号表,例如:
nm staticlib.a | grep UIWebView
0000000100117c38 t +[UIWebView(SCORVCE) load]
0000000100117c30 t +[UIWebView_SCORVCE_Importer import]
0000000100117ea4 t -[UIWebView(SCORVCE) vce_delegate]
0000000100117d54 t -[UIWebView(SCORVCE) vce_setDelegate:]
000000010012880c t -[VCETrack setUsingUIWebView:]
00000001001287fc t -[VCETrack usingUIWebView]
U _OBJC_CLASS_$_UIWebView
0000000100640668 s _OBJC_CLASS_$_UIWebView_SCORVCE_Importer
0000000100639f88 s _OBJC_IVAR_$_VCETrack._usingUIWebView
0000000100640640 s _OBJC_METACLASS_$_UIWebView_SCORVCE_Importer
0000000100117ca0 t ___26+[UIWebView(SCORVCE) load]_block_invoke
对于框架,您应该对其二进制文件执行相同的操作:
nm MyFramework.framework/MyFramework | grep UIWebView
最后要确保该应用程序不使用UIWebView,您应该进行存档,然后找到您的应用程序文件(YourApp.app)并在其中运行下一个脚本:
# Check the app with static libraries
echo "YourApp"
nm YourApp | grep UIWebView
# Check dynamic frameworks
for framework in Frameworks/*.framework; do
fname=$(basename $framework .framework)
echo $fname".framework"
nm $framework/$fname | grep UIWebView
done
答案 2 :(得分:0)
嘿,我尝试在Xcode中搜索。 几个第三方库都使用了它。 (例如FBSDK) 我更新了这些库,但这还不够。
在下一次上传时,可怕的电子邮件再次到达。
在评论中有人提到grep
是药物。
所以我尝试了grep -r UIWebView /Path/To/Project/*
它发现了两个也使用UIWebView的二进制框架。 (GoogleSignin,Crashlytics ...) 我也更新了。
在下一次上传时,没有可怕的电子邮件:D