네트워크 제어
툴바의 네트워크 제어 버튼을 누르면 시뮬레이터·에뮬레이터의 네트워크가 오프라인이 되고, 다시 누르면 온라인이 됩니다. 오프라인 배너나 재시도 처리처럼 네트워크가 끊겼을 때만 나오는 동작을 브라우저에서 확인할 수 있습니다.
버튼은 시뮬레이터·에뮬레이터 단위로 동작합니다. 동일한 에이전트 맥에서 실행되는 다른 기기나 에이전트 맥 자체의 네트워크는 영향을 받지 않습니다.
로컬호스트는 끊기지 않습니다
Metro 같은 개발 서버는 에이전트 맥의 루프백으로 연결되기 때문에 기기를 오프라인으로 둬도 계속 붙어 있습니다. 디버그 빌드를 연결한 채로 오프라인 동작을 확인할 수 있습니다.
iOS는 네트워크 확장이 필요합니다
iOS 시뮬레이터에서 네트워크 제어를 하려면 tapflow 네트워크 확장이 에이전트 맥에 한 번 설치돼 있어야 합니다. 시뮬레이터가 아니라 맥에 설치합니다. 시뮬레이터에는 끌 수 있는 무선 장치가 없고 맥의 네트워크를 함께 쓰기 때문입니다.
tapflow는 아직 이 확장을 배포하지 않습니다. 지금 받는 방법과 설치·승인 절차는 문제 해결에 있습니다. 모두 에이전트 맥에서 관리자 권한으로 합니다.
하이브리드 앱의 WebView는 오프라인 배너를 그리지 않습니다
WebView 안에서 도는 화면에는 오프라인 통지가 닿지 않아 배너가 뜨지 않습니다. 알려진 제약입니다. WebView의 네트워크 요청 자체는 다른 요청과 똑같이 실패합니다. 그 화면의 오프라인 동작은 배너가 아니라 요청 실패로 확인하세요.
오류 코드가 실기기와 다릅니다
iOS 시뮬레이터에서는 NSURLErrorNetworkConnectionLost(-1005)가 납니다. 실기기를 기내 모드로 두었을 때 나오는 NSURLErrorNotConnectedToInternet(-1009)와 다른 값이므로 오류 코드로 분기하는 앱이라면 두 값을 모두 처리하는지 확인하세요.