问题描述
TL;DR:将最新的 Facebook iOS SDK 添加到新的空项目会将 AdSupport
放在链接表中。 AdSupport
提供 ASIdentifierManager
,后者提供 IDFA。对于儿童应用,这意味着自动拒绝。我的问题是:是否有可能停止这种跟踪的传递性使用?
详情
可以在“[T]he Facebook SDK 不需要包含 AdSupport.framework”这句话的 lots 中找到 copies。但是他们没有说明如何阻止编译器将其添加到链接表中。看起来 Facebook 正试图强迫我们进行跟踪,无论我们是否愿意。 “ASIdentifierManager
”的出现次数越来越多:
- SDK 7: 13 appearances
- SDK 9: 30
- SDK 11: 66
复制
(短)
Load command 18
cmd LC_LOAD_DYLIB
cmdsize 88
name /System/Library/Frameworks/AdSupport.framework/AdSupport
(长)
- 从一页空白应用开始,将其命名为
TestFBSDK
- 使用 Swift 包管理器向
https://github.com/facebook/facebook-ios-sdk.git
添加依赖项 - 请勿导入或使用 SDK
- 为“任何 iOS 设备”构建应用存档
- 在“管理器”窗口的“档案”窗格中查找新档案。
- 右键单击存档条目并选择
Show in Finder
。 - 右键单击存档文件并选择
Show Package Contents
。 - 导航到
Products/Applications/
文件夹。- 它包含
.app
文件。
- 它包含
- 打开终端,输入
cd
并将应用图标拖到终端窗口。- 你会得到类似的东西
cd /.../Library/Developer/Xcode/.../TestFBSDK.app
- 你会得到类似的东西
- 按 Enter 键更改目录
- 运行命令
otool -l TestFBSDK | grep AdSupport -A 3 -B 3
- 运行命令
nm TestFBSDK | grep ASIdentifierManager
另见
十年前有很多关于这个的帖子,但我看不到最新的。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)