You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
相信很多人都收到了 UIWebView 的 API 的警告邮件了,
Apple 正打算强制开发者弃用 UIWebView 的 API , 继续用可能会审核被拒.
自己是否用了该 API 只需要在 Xcode 中全局搜索即可, 那么如何查询自己的项目中哪个 sdk 使用了 UIWebView 的 API 呢?
echo"------------<🔎 search in *.framework & *.a & *.h & *.m & *.swift>-------------"echo"------------------------<I>------------------------"
find .\( -name "*.framework" -o -name "*.a"\) -exec sh -c 'usefullArray=();uselessArray=();for file doif nm "$file"/`basename "$file" | sed -e s/\\.framework$//g` 2>/dev/null | grep -rl UIWebView > /dev/null ; thenusefullArray+=("$file")elif grep -rl "UIWebView" "$file" > /dev/null; thenusefullArray+=("$file")elif nm "$file" 2>/dev/null | grep -rl UIWebView > /dev/null; thenusefullArray+=("$file")#[EN🇺🇸] Uncomment this line for more log information[CN🇨🇳]打开本行注释可以看到扫描日志#else uselessArray+=("$file")fidonefor i in "${uselessArray[@]}"doecho "✅ UIWebView does not appear in "$file"";donefor i in "${usefullArray[@]}"doecho "⚠️ UIWebView appears in "$i"";done' sh {} + ;
sh -c 'echo "------------------------<I>------------------------";echo "🎉 Done!";'
打印效果
查询 .framework .a .h .m .swift文件
echo"------------<🔎 search in *.framework & *.a & *.h & *.m & *.swift>-------------"echo"------------------------<I>------------------------"
find .\( -name "*.framework" -o -name "*.a" -o -name "*.h" -o -name "*.m" -o -name "*.swift"\) -exec sh -c 'usefullArray=();uselessArray=();for file doif nm "$file"/`basename "$file" | sed -e s/\\.framework$//g` 2>/dev/null | grep -rl UIWebView > /dev/null ; thenusefullArray+=("$file")elif grep -rl "UIWebView" "$file" > /dev/null; thenusefullArray+=("$file")elif nm "$file" 2>/dev/null | grep -rl UIWebView > /dev/null; thenusefullArray+=("$file")#[EN🇺🇸] Uncomment this line for more log information[CN🇨🇳]打开本行注释可以看到扫描日志#else uselessArray+=("$file")fidonefor i in "${uselessArray[@]}"doecho "✅ UIWebView does not appear in "$file"";donefor i in "${usefullArray[@]}"doecho "⚠️ UIWebView appears in "$i"";done' sh {} + ;
sh -c 'echo "------------------------<I>------------------------";echo "🎉 Done!";'
打印效果:
注意上面修改文件类型,只需要修改第一行即可.
注意情况
有人检测出 Google SDK 包含了相关关键词,这是 Google 的回复:
Hi there
Thank you for reporting this
As mentioned by my colleague Deepika, grep -r “UIWebView" . does not necessarily mean that an SDK is calling UIWebview Some of the strings shown in the Google Mobile Ads SDK are part of log messages. Also, we’ve tested the latest version of the SDK and we didn’t get warnings about UIWebView usage
Could you double-check the other binaries in your app to verify whether they are using Webview? we also recommending our publishers to run multiple tests with a subset of their binaries (e. G. A test without any mediation adapter/SDKs binaries if you use mediation) to verify the offending binary.
Please let us know how it goes so I could raise this to the team once more.
Regards
Mobile Ads SDK Team
怎么查哪个 SDK 使用了 UIWebView 的 API ?
相信很多人都收到了 UIWebView 的 API 的警告邮件了,
Apple 正打算强制开发者弃用 UIWebView 的 API , 继续用可能会审核被拒.
自己是否用了该 API 只需要在 Xcode 中全局搜索即可, 那么如何查询自己的项目中哪个 sdk 使用了 UIWebView 的 API 呢?
以下步骤, 首先要进入到工程的根目录,然后使用终端输入如下命令:
这里介绍两种方式.
两种方式查 API 的方式
第一种
Grep
打印效果:
输出结果为:
第二种
指定文件名
只查询 .framework .a 文件
打印效果
查询 .framework .a .h .m .swift文件
打印效果:
注意上面修改文件类型,只需要修改第一行即可.
注意情况
有人检测出 Google SDK 包含了相关关键词,这是 Google 的回复:
翻一下就是:
上面我提到的两种情况, 均与 Google 团队回复的情况一致, 上面的命令只是文本查找, 并不代表该文件一定使用了该API谷歌的回复内容可以忽略,如果abi能找出来,就说明他编译到里面了,苹果的机审可不会管你有没有用。 请尽快与SDK提供商沟通,要求其提供升级版本, 避免被拒的风险.相关代码可点击原文查看.
觉得有用的话,点击“在看”吧👇
The text was updated successfully, but these errors were encountered: