There were some pretty substantial changes made to the way SCNetworkReachability works under the covers in 10.11 to address issues like this. The solution that Jens provided is a pretty good approximation for older systems. If you do add smarts to handle proxies with reachability, it may be wise to only use it prior to 10.11. -josh
On May 23, 2016, at 5:12 AM, Yulia Bensman <ybensman@interwise.com> wrote:
Thanks for everyone, But maybe – if it works correct in 10.11, maybe there is any means to make it working in other versions of Mac OS?
From: Jens Alfke [mailto:jens@mooseyard.com] Sent: Sunday, May 22, 2016 6:51 PM To: Yulia Bensman Cc: macnetworkprog@lists.apple.com Subject: Re: How SCNetworkReachability works with proxy and no DNS resolving?
In my code, I check whether the server’s address requires a proxy. If so, I use the reachability API only to check whether an Internet connection is available, and then try to connect.
Here’s the code I use to check for a proxy:
+ (BOOL) usingProxyForURL: (NSURL*)url { NSDictionary* settings = CFBridgingRelease(CFNetworkCopySystemProxySettings()); NSArray* proxies = CFBridgingRelease(CFNetworkCopyProxiesForURL((__bridge CFURLRef)url, (__bridge CFDictionaryRef)settings)); for (NSDictionary* proxy in proxies) { if (![proxy[(id)kCFProxyTypeKey] isEqual: (id)kCFProxyTypeNone]) return YES; } return NO; }
—Jens
************************************************************************************ This footnote confirms that this email message has been scanned by PineApp Mail-SeCure for the presence of malicious code, vandals & computer viruses. ************************************************************************************
= _______________________________________________ Do not post admin requests to the list. They will be ignored. Macnetworkprog mailing list (Macnetworkprog@lists.apple.com) Help/Unsubscribe/Update your Subscription: https://lists.apple.com/mailman/options/macnetworkprog/jgraessley%40apple.co...
This email sent to jgraessley@apple.com
_______________________________________________ Do not post admin requests to the list. They will be ignored. Macnetworkprog mailing list (Macnetworkprog@lists.apple.com) Help/Unsubscribe/Update your Subscription: https://lists.apple.com/mailman/options/macnetworkprog/site_archiver%40lists... This email sent to site_archiver@lists.apple.com