답변:
시뮬레이터가 OS가 사용하는 네트워크 연결을 공유합니다. 네트워크 상태 시뮬레이션에 관한 레이더 버그 보고서를 제출했습니다 . 같은 일을 고려할 수도 있습니다.
간단한 패러데이 케이지 를 사용 하여 외부 RF 신호 레벨을 차단하거나 제한하십시오.
알루미늄 호일로 직접 만들 수 있습니다. 차단하려는 경우 개구부가 데이터 서비스 의 파장 보다 작아야합니다 .
800MHz는 37cm (14 ") 파장, 1900MHz는 16cm (6") 파장을 갖습니다.
패러데이 케이지 내부에서 Mac이 작동하기 어렵 기 때문에 시뮬레이터보다 실제 장치에서 더 잘 작동합니다. ;-)
예. Xcode에서는 Xcode
메뉴 항목-> Open Developer Tools
-> 로 이동할 수 있습니다.More Developer Tools
" Xcode 용 추가 도구 "를 다운로드 하면 Network Link Conditioner가 표시됩니다.
이 도구를 사용하면 다양한 네트워크 시나리오 (예 : 100 % 손실, 3G, 대기 시간이 긴 DNS 등)를 시뮬레이션하고 고유 한 사용자 지정 시나리오를 만들 수도 있습니다.
내가 아는 iOS 시뮬레이터에서 네트워크를 비활성화하는 유일한 방법은 Little Snitch 또는 Hands Off 와 같은 도구를 사용하는 것 입니다. 그들과 함께 당신은 나가고 나가는 네트워크 연결을 거부 / 차단할 수 있습니다. 시뮬레이터 앱의 연결 만 차단하도록 설정할 수 있습니다. 방화벽처럼 작동합니다.
현재 날짜로 답변을 업데이트하기 만하면됩니다. Xcode 4 (?)부터 /Applications/Utilities
라는 환경 설정 창이 Network Link Conditioner
있습니다. 기존 프로필 중 하나를 사용하거나 0Kbps Up / Downlink 및 100 % Drop 된 사용자 지정 프로필을 만듭니다.
Network Link Conditioner
공식 Apple 도구 이기 때문에 이것이 가장 좋은 대답 이며, Little Snitch
또는에 비해 완전히 무료 Hands Off
입니다.
다음과 같은 타사 앱을 사용하여 인터넷 연결을 조절할 수 있습니다.
찰스 : http://www.charlesproxy.com/
스로틀 링을 설정하려면 Mac에서 command + shift + T를 누르십시오.
아마도 하나의 미친 아이디어 또는 패치 :
네트워크 연결성 플래그를 토글하기 만하면됩니다.
이것은 '시뮬레이터 메모리 경고' 와 완전히 안전 을 트리거하여 플래그 런타임을 전환하는 데 사용하는 코드입니다. 코드가 디버그 모드 에만 있어야합니다.
- (void)applicationDidReceiveMemoryWarning:(UIApplication *)application
{
#ifdef DEBUG
isInternetAvailable = !isInternetAvailable;
#endif
}
false
은 좋은 생각입니다. 설치가 없으며 원격 작업을 계속할 수 있습니다! 감사합니다.
isInternetAvailable
정의되어 있습니까 ?!
Little Snitch 를 사용 하여 iOS 시뮬레이터에서 실행되는 프로세스를 포함하여 모든 개별 프로세스에 대한 네트워크 트래픽을 차단할 수 있습니다 . 이렇게하면 인터넷 연결을 유지하고 실행중인 앱의 연결을 끊을 수 있습니다.
Xcode 8.3 및 iOS 10.3 :
XCUIDevice.shared().siriService.activate(voiceRecognitionText: "Turn off wifi")
XCUIDevice.shared().press(XCUIDeviceButton.home)
포함 시키십시오 @available(iOS 10.3, *)
테스트 스위트 파일의 맨 위에 시키십시오.
원하는 경우 "비행기 모드 켜기"를 선택할 수도 있습니다.
Siri가 Wi-Fi를 끄거나 비행기 모드를 켜면 Siri에 인터넷이 필요하다는 Siri 대화 상자를 해제해야합니다. 홈 버튼을 누르면 대화가 사라지고 앱으로 돌아갑니다.
OHHTTPStub을 사용 하여 네트워크 요청을 특정 URL로 스텁하여 실패 할 수 있습니다.
간단한 해결책은 Mac 용 비행기 모드를 만드는 것입니다. 이를 수행하는 방법은 다음과 같습니다.
네트워킹을 다시 켜려면 위치 드롭 다운 메뉴에서 자동을 선택하고 적용을 클릭하십시오.
Mac에서 Charles Proxy 앱을 사용하는 것이 좋습니다.
Bandwidth Throttle
네트워크 연결을 조정하기 위해 만들어진 기능을 사용할 수 있습니다
스타 / 스톱 스로틀 ⌘ command+ T
스로틀 설정 ... ⌘ command+ T+⇧ shift
대신 호스트 네트워크를 비활성화 할 수 있습니다!
경우 당신이 연결할 수있는 적어도 2 개 와이파이 네트워크가 매우 간단한 방법은 아이폰 OS 시뮬레이터의 버그를 사용하는 것입니다 :
버그는 시뮬레이터가 아직 연결되지 않은 네트워크 (IP?)를 사용하려고한다는 것입니다.
시뮬레이터를 다시 시작할 때까지 인터넷에 연결되어 있지 않습니다 (연결 한 첫 번째 wifi 네트워크에 인터넷 연결이 있더라도). 따라서 연결없이 시뮬레이터를 사용하기 위해 (cmd-R) 및 중지 (cmd-.) 프로젝트를 실행할 수 있습니다. 그러나 당신의 Mac은 연결될 것입니다.
그런 다음 시뮬레이터 연결을 실행 해야하는 경우 종료하고 시작하십시오.