【发布时间】:2015-11-03 12:16:28
【问题描述】:
在我们目前正在进行的项目中,我们需要依赖预编译的 3rd 方框架。 有什么方法可以确保它无法打开网络连接并发送机密数据?
编辑:
为了更清楚一点:它不必在运行时。静态检查没问题。我更多地在想一些事情:是否有一个图书馆,每个想要使用网络的人都必须链接到?
【问题讨论】:
-
只有当您可以访问.m 文件时才能检查它。没有其他选择。
标签: ios objective-c frameworks
在我们目前正在进行的项目中,我们需要依赖预编译的 3rd 方框架。 有什么方法可以确保它无法打开网络连接并发送机密数据?
编辑:
为了更清楚一点:它不必在运行时。静态检查没问题。我更多地在想一些事情:是否有一个图书馆,每个想要使用网络的人都必须链接到?
【问题讨论】:
标签: ios objective-c frameworks
【讨论】:
我不确定是否可以确保应用从不进行网络调用。
正如 Fahri Azimov 建议的那样,您可以通过代理汇集来自测试设备的所有流量来测试 3rd 方框架是否进行网络调用。您可以在 Mac 上使用 iOS 模拟器和 Little Snitch. 在本地执行此操作,但这不能确保框架永远不会进行网络调用。
确保您的应用不执行网络的解决方法是使用NSURLProtocol 拦截任何网络调用并返回错误。您可以查看OHHTTPStubs framework 以获得灵感。但是,同样,这是有限的,因为它只会捕获 NSURLConnection / NSURLSession 网络调用,它不会拦截框架可以进行的低级网络操作。
【讨论】: