如何确定哪些框架触发了对隐私敏感的 .plist 问题

Posted

技术标签:

【中文标题】如何确定哪些框架触发了对隐私敏感的 .plist 问题【英文标题】:How to work out which frameworks are triggering privacy-sensitive .plist issues 【发布时间】:2017-11-13 03:49:40 【问题描述】:

我遇到了 iTunes 拒绝我的 .ipa 的经典问题,因为它缺少一堆“隐私敏感数据”(在我的情况下是日历、联系人、麦克风、Apple Music 和 Siri!)的 .plist 条目,尽管我的应用与这些框架无关。

我想弄清楚我的应用程序中的哪些 3rd 方框架触发了这个问题,而不是采取简单的方法,只添加 .plist 条目。

有没有办法分析您的 .ipa 或其中包含的文件,以找出导致此问题的第 3 方依赖项?

为了清楚起见,我知道我可以添加所需的 .plist 条目,这个问题就会消失 - 我的问题具体是如何确定哪些依赖项触发了这个问题。

【问题讨论】:

您的发布配置中的Link Behavior 是否设置为Don't Link 好问题@SushiHangover - 答案是在我的发布配置中它设置为Don't Link 【参考方案1】:

尽管我的应用与这些框架无关。

您的发布配置中的Link Behavior 是否设置为Don't Link

如果是这样,未剥离的 Xamarin.ios.dll 引用了所有内容,并且会导致各种隐私/权利问题,因为您的应用程序链接到它们但实际上从未使用它们。

默认的发布配置曾经是 Link Framework SDKs Only (-linksdk),但在最近的版本中似乎并非如此,即使文档说明它是这样。

将行为更改为Link Framework SDKs Only,创建另一个存档和ipa,看看Apple 是否喜欢那个版本;-)

【讨论】:

以上是关于如何确定哪些框架触发了对隐私敏感的 .plist 问题的主要内容,如果未能解决你的问题,请参考以下文章

info.plist 中的隐私摄像头描述问题

iOS 10 应用程序因试图访问隐私敏感数据而崩溃

应用程序被拒绝:查找访问隐私敏感数据的 (cocoapod) 库的系统方法

应用的 Info.plist 必须包含一个 NSContactsUsageDescription 键

识别 iOS 10 中的隐私侵犯

通过Hadoop安全部署经验总结,开发出以下十大建议,以确保大型和复杂多样环境下的数据信息安全。