0
试图建立简单的函数来获取互联网的地位,但越来越泄漏我每次调用这个函数:互联网连接状态泄漏
+ (BOOL) connectionStatus { BOOL retVal = NO; const char *hostName = [@"google.com" cStringUsingEncoding:NSASCIIStringEncoding]; SCNetworkReachabilityRef reach = SCNetworkReachabilityCreateWithName(kCFAllocatorDefault, hostName); // Attempt to ping google.com SCNetworkConnectionFlags flags; SCNetworkReachabilityGetFlags(reach, &flags); // Store reachability flags in the variable, flags. if(kSCNetworkReachabilityFlagsReachable & flags) { // Can be reached using current connection. } if(kSCNetworkReachabilityFlagsConnectionAutomatic & flags) { // Can be reached using current connection, but a connection must be established. (Any traffic to the specific node will initiate the connection) } if(kSCNetworkReachabilityFlagsIsWWAN & flags) { // Can be reached via the carrier network } else { // Cannot be reached using the carrier network } if((kSCNetworkReachabilityFlagsReachable & flags) && !(kSCNetworkReachabilityFlagsIsWWAN & flags)) { // Cannot be reached using the carrier network, but it can be reached. (Therefore the device is using wifi) retVal = YES; } else if (kSCNetworkReachabilityFlagsIsWWAN & flags) { // Using the carrier network retVal = YES; } else { // No connection available. } return retVal; }
仪器显示的泄漏,并始终指向从作为负责任的框架SCNetworkReachabilityGetFlags和SCNetworkReachabilityGetFlags系统配置 。 有什么想法?
凉爽,无泄漏,谢谢! – Vanya