正确设置应用程序/库以将隐私设置从 iOS Info.plist 继承到库依赖项

问题描述

我编写了一个用于发现 ssdp 设备的小型 swift 库,并为此创建了一个 swift 包。此库使用另一个库 (BlueSocket) 作为依赖项。

https://github.com/devmkdd/TinySSDP

用于简单服务发现协议的简单而基本的 swift 库 现在我想在我的 iOS 应用程序中使用这个库并将它添加为 SPM 依赖项。对于模拟器,一切都很好,在真正的 iOS14 设备上,我遇到了一些问题,这些问题导致(对我而言)出现了奇怪的行为(由于在本地网络中使用了 ssdp,我已将 NSLocalNetworkUsageDescription 属性添加到我的 info.plist)。

我希望在用户授予此权限后一切正常。但是BlueSocket库(我自己的库使用的依赖)好像不能访问本地网络。

对我来说真正奇怪的行为现在从以下几点开始。为了排除我的代码中的问题,我移动了我所有的库代码并将其直接包含在 Xcode 项目中。 BlueSocket 库现在通过 SPM 从我的 Xcode 项目中引用(而不是仅由我的库引用)。现在一切都按预期运行,在设备上也是如此。

据我所知,info.plist 中的隐私设置应该适用于应用程序,而不是适用于所有依赖项和集成框架和库。但在这种情况下,它似乎不起作用。

所以我的问题是,如果我必须在我的 Swift 包中设置任何必须以这种方式工作的内容,那么这个库的依赖项是否也具有有效权限?

感谢任何提示或帮助。

编辑: 我已经用 CocoaPods 而不是 SPM 重试了设置。错误行为是相同的。如果我将 BlueSocket 集成为我的应用程序的直接引用,则一切正常。如果我将其作为依赖项(我的库)的依赖项引用,则它不起作用。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)