iPhone 시뮬레이터에서 비행기 모드 시뮬레이션


답변:


114

Mac에서 네트워크 연결을 끕니다.


14
너무나도 나는 내 자신을 차 버렸다. 그러나 동시에 더 나은 솔루션을 만들 수있었습니다!
— benlumley

37
Google 팀이 Apple에 유사한 기능을 요청했지만 소리보다 어렵습니다. 문제는 시뮬레이터에서 실행되는 앱이 실제로 Mac 앱이라는 것입니다. iPhone 시뮬레이터는 iPhone을 에뮬레이트하지 않습니다. Mac 응용 프로그램이 iPhone 과 연결 되어 iPhone처럼 보이는 환경 일뿐 입니다. 따라서 시스템 계층에서 앱이 네트워크와 통신하는 것을 제한하는 방법이 필요합니다. 유닉스는이를 제공하지 않습니다. 그것을 얻기 위해서는 거의 확실히 커널 지원이 필요합니다. NSURLConnection과 그 친척에 대해 더 쉽게 할 수 있지만 일부 호출이 작동하고 일부는 작동하지 않으면 더 혼란 스러울 수 있습니다.
— Rob Napier

13
GPS 시뮬레이터는 여전히 작동하지만 값을 반환하지 않기 때문에 비행기 모드를 시뮬레이션하지 않습니다.
— Jann

18
일부 상황에서는 네트워크 연결을 해제하는 것만으로는 유용하지 않습니다. 예를 들어 도달 가능성과 인터넷 가용성을 테스트 할 때 비행기 모드가 필요할 수 있습니다. 작동하는 네트워킹 연결이없는 시뮬레이터는 실제로 동일하지 않습니다. 또한 일부 직장에는 실제 인증 문제가있는 컴퓨터가 있습니다. 즉, 네트워크 연결을 끊는 것이 항상 선택 사항이 아님을 의미합니다 (모든 것이 무모하게 진행됨).
— occulus

9
나는 occuulus에 동의합니다. 사무실에서 작업 할 때 전체 시스템의 네트워크를 끄면 작업 환경의 통신에 심각한 해를 끼칩니다. 이것이 수용 가능한 해결책이 아닌 많은 상황이 있습니다.
— Krejko

59

Apple의 네트워크 링크 컨디셔너를 설치할 수 있습니다

요세미티에서 :

네트워크 링크 컨디셔너는 "Xcode 용 하드웨어 IO 도구"패키지에서 찾을 수 있습니다. Apple 개발자 다운로드 페이지 에서 다운로드 할 수 있습니다 . 다운로드가 완료되면 DMG를 열고 "Network Link Condition.prefPane"을 두 번 클릭하여 설치하십시오 ( source ).

이 환경 설정 패널을 사용하면 0kbps 속도의 프로파일을 작성할 수 있습니다.

네트워크 링크 컨디셔너

이전 버전의 OSX :

마운틴 라이온 / 매버릭스 : Xcode > Open Developer Tool > More Developer Tools
라이온 :/Developer/Applications/Utilities/Network Link Conditioner


11
네트워크 링크 컨디셔너를 사용할 때 도달 가능성에 아무런 변화가 없습니다. 사실, 그것을 0kbps와 100 % 패킷 손실로 설정했을 때, 여전히 Wi-Fi를 통해 모든 것을 가동하고 도달 가능한 것으로보고합니다. 비행기 모드를 테스트하려는 경우에는 작동하지 않습니다.
— E.Freitas

1
왼쪽의 큰 스위치를 "ON"으로 전환 하시겠습니까?
— Tieme

여기서 동일한 문제, 컨디셔너를 0kbps up / down 및 100 % 패킷 손실 up / down으로 연결해도 도움이되지 않습니다. 잠시 후 iOS 시뮬레이터가 시간 초과됩니다. 0kbps는 대역폭 MAX로 가정합니다.
— Adrian 님이 Design by

17

Little Snitch 를 사용 하여 온도를 조절할 수도 있습니다 . 이 앱의 인터넷 연결을 차단하십시오.


아이디어 버디 덕분에 호스트 파일을 편집하여 동일한 결과를 얻을 수 있습니다.
— panchicore

-1

더 쉬운 해킹 : 연결을 확인하는 기능 만들기

import NetInfo from '@react-native-community/netinfo';

export const ckeckIsConnected = async () => {
  const isConnected = NetInfo.fetch().then((state) => {
    return state.isConnected;
  });
  return isConnected;
};

연결이있는 경우에만 데이터 가져 오기를 수행하십시오. 연결을 시뮬레이션하지 않으려면 false 실제 연결이 무엇이든이 기능으로 돌아가십시오 .

당사 사이트를 사용함과 동시에 당사의 쿠키 정책과 개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.