나는 도달 가능성에 대해 이야기하지 않습니다.NSURLSession 연결에 특정 네트워크 인터페이스를 선택하는 방법은 무엇입니까?
내가 말하는 것은 셀룰러 인터페이스를 통해 iOS 기기에서 네트워크 연결을 만드는 방법을 알아내는 것입니다.
왜? 장치가 WiFi 액세스 포인트에 연결되어 WiFi를 선택하는 조건이 있기 때문에 ... 그러나 액세스 포인트는 인터넷에 연결되어 있지 않으며 아무데도 가지 않습니다. 나는 전달하기 위해 모든 노력을 기울여야하는 데이터가 있으며, 일부 경우에는 Wi-Fi 게이트웨이에서 연옥으로 길을 잃어 가고 있습니다. Reachability를 사용하고 MPTCP에 의존하는 두 가지 경우에서, Apple은 이미 스택에서 WiFi를 우선시했습니다.
나는NSURLSessionConfiguration
이 세포에 대한 액세스를 허용
allowsCellularAccess
에 설정할 수 있습니다 알고있다 - 나는 을 찾고 있어요 필요한 라우팅을위한 세포. 는 심지어 CFNetwork
수준에서 나는 kCFStreamPropertyNoCellular
해제 휴대
에, 상태 kCFStreamPropertyConnectionIsCellular
찾고 있어요. 어쨌든 휴대 전화 라디오를 선호하지 않습니다. 필자는 애플이 와이파이를 선호하는 방향으로 나아 갔다는 것을 알고 있으며, 필자는이 문제에 대한 답을 찾는 데 어려움을 겪고있다.
저는 이것을 코코아 수준으로 유지하고 싶습니다.하지만 기초 수준이나 더 깊은 수준으로 들어가는 것에 반대하지는 않습니다. 나는 셀룰러 인터페이스가 무엇인지 알아 내기 위해 인터페이스 테이블 (심지어 액세스 할 수있는 경우)을 구문 분석하지 않으려합니다.
Wi-Fi에도 불구하고 누구나 셀룰러 링크를 통해 네트워크 연결을 만들었습니까?
일부 구성은 Multipath TCP입니까?
좋은 정보 - 나쁜 소식에도 불구하고. 내 특별한 경우에 WiFi 신호가 강하고 SSID를 알리는 데 필요합니다. 또한이 대역폭을 생성하는 액세스 포인트의 아웃 바운드 측을 차단해야하는 조건이 있습니다. 이러한 조건이 제거되면 액세스 포인트가 인터넷에 다시 열립니다. "WiFi Assist"가 도움이된다고 들었습니다. 아마도 타임 아웃 임계 값을 낮추기 위해 조정 된 NSURLSessionConfiguration이 셀룰러 "보조"로 롤오버 할 수 있습니다. – Thompsonian