【发布时间】:2010-05-28 03:16:55
【问题描述】:
我知道有一种读取波段切换的方法。
【问题讨论】:
标签: cocoa
我知道有一种读取波段切换的方法。
【问题讨论】:
标签: cocoa
iPhone SDK 中没有记录的方式来执行此操作。我很确定他们使用的是标准 BSD 调用 sysctl(),因此它也必须存在于 iPhone OSX 上。
看到这个答案: How to get network adapter stats in linux/Mac OSX?
一个很好的问题是他们是如何通过 Appstore 程序的。我认为 sysctl() 大约是从记录 API 到未记录 API 的“一半”:SDK 文档中没有提到它,但它存在于所有 BSD 系统上。因此,Apple 可能没有(或没有)过滤标准 BSD 调用,这就是他们让 sysctl() 通过的原因。
更新:我在 iPhone 模拟器上成功运行了这个 netstat 代码(我目前没有 iPhone 设备)。我所要做的就是注释掉#include <net/route.h>,因为它在 iPhone SDK 中不存在,并从此标头复制以下定义:
#define RTM_IFINFO2 0x12
所以它比我想象的要简单。因为在这段代码中基本上没有不在 SDK 头文件中的函数调用,所以如果你使用这段代码,Apple 可能会批准你的应用程序(它们不能过滤简单的常量......)。
【讨论】: