The socket option to set that restriction is not public. If you are trying to 
avoid any cellular traffic, you would also need a way to avoid sending DNS over 
cellular. That functionality is also not public.

I did notice the following documentation on developer.apple.com:
https://developer.apple.com/library/ios/documentation/CoreFoundation/Reference/CFSocketStreamRef/index.html

If you can use a CFSocketStream to establish the connection, you could use 
kCFStreamPropertySocketNativeHandle to fetch the file descriptor out. POSIX/BSD 
socket APIs won’t trigger cellular to dial or VPNs to come up among other 
problems.

-josh

> On Dec 8, 2014, at 1:33 PM, Jens Alfke <j...@mooseyard.com> wrote:
> 
> I need to (optionally) prevent a TCP socket from being opened over a cellular 
> connection. The Apple docs describe how to do this when using NSURLConnection 
> or CFStream APIs, but the code in question uses the POSIX/BSD socket API. 
> (Not my choice; I'm using GCDAsyncSocket and that's how it works.)
> 
> Is there some setsockopt mode, equivalent to kCFStreamPropertyNoCellular, to 
> disable cellular networking? I couldn't find it in the man page.
> 
> —Jens
> _______________________________________________
> 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.com
> 
> This email sent to jgraess...@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/archive%40mail-archive.com

This email sent to arch...@mail-archive.com

Reply via email to