首先让我强调一个事实,即我说的是 Mac OS X SDK,而不是iPhone。
为了确定“连通性”并获得标志,我做了类似的事情:
#import <SystemConfiguration/SystemConfiguration.h>
const char *hostName = [@"google.com" cStringUsingEncoding:NSASCIIStringEncoding];
SCNetworkReachabilityRef target = SCNetworkReachabilityCreateWithName(NULL, hostName);
SCNetworkConnectionFlags flags = 0;
SCNetworkReachabilityGetFlags(target, &flags);
这很好——获取关于谷歌可达性的信息(这正是我想知道的)。
有没有办法在更改中添加观察者?我一直在研究SCDynamicStore
,但我发现 Apple 的单个示例和文档有点压倒性。
理想情况下,我希望能够为标志更改设置一个功能,但这就足够了:注意 IP 何时“丢弃”/释放,以及何时获得。(然后我可以在获得 IP 时触发的函数中硬编码可达性)。
请不要犹豫,要求详细说明。