我知道有一种方法可以阅读bandwitch。
答案 0 :(得分:1)
iPhone SDK中没有记录方法可以执行此操作。我很确定他们使用的是sysctl(),这是一个标准的BSD调用,所以它也必须出现在iPhone OSX上。
看到这个答案: How to get network adapter stats in linux/Mac OSX?
一个很好的问题是他们如何通过Appstore程序。我认为sysctl()是从记录到未记录的API的“中途”:SDK文档中没有提到它,但它存在于所有BSD系统中。因此Apple可能没有(或没有)过滤标准BSD调用,这就是他们让sysctl()通过的原因。
更新:我在iPhone模拟器上成功运行了这个netstat代码(目前我没有iPhone设备)。我所要做的就是注释掉#include <net/route.h>
,因为它不存在于iPhone SDK中,并从此标题中复制以下定义:
#define RTM_IFINFO2 0x12
所以它比我想象的要简单。因为此代码中基本上没有函数调用不在SDK标题中,所以如果您使用此代码,Apple可能会批准您的应用程序(它们无法过滤简单常量......)。