🌟 실제 디바이스가 없을 경우 개발 환경
iOS 앱을 개발 할 때, 모바일 기기로 테스트를 하곤 하지만 실제 디바이스가 없을 경우
Xcode의 Simulator를 활용하여 테스트를 진행 할 수 있다.
하지만 simulator의 경우 실제 디바이스 시스템의 동작을 흉내내는 것이고 하드웨어 동작은 정확하게
구현할 수 없기 때문에 테스트를 진행 할 때 실제 디바이스와 simulator에 차이가 있다.
🔥 Simulator 로 활용 가능한 것
- 가벼운 동작들을 미리 테스트 및 디버깅 해볼 수 있다.
- 화면 방향 회전 및 Shake Motion 테스트
- 소프트웨어/하드웨어 키보드
- Face ID, Apple Pay
(단, Face ID는 센서가 없기 때문에 상황을 직접 지정하여 테스트 할 수 있다.)
- Audio Input for Siri
- 핀치 줌 확대
🔥 Simulator 로 활용 불가능한 것
- Mac의 성능을 빌려 테스트 하는것이기 때문에, 정확한 앱의 성능이나 메모리 사용량, 네트워크 속도 체크 확인 불가능.
(Metal을 사용할 경우 GPU 성능에도 차이가 발생할 수 있다.)
- 해상도 및 색상에 차이가 발생 할 수 있음.
- 마우스를 통해 동작하기 때문에 실제 디바이스와 터치감에 차이가 생길 수 있음.
- 백그라운드 처리 불가능.
- simulator는 HFS+ 및 APFS 포맷 볼륨에서 파일 시스템을 대소문자를 구분하여 처리.
(HFS+/APFS는 애플이 개발한 파일 시스템의 종류)
하드웨어
- 주변 조도 센서, 기압계, 가속계 및 자이로스코프, 근접 센서
- 블루투스, 카메라, 전화 기능
API
- APNS 수신 및 전송
(단, JSON 파일로 수신 테스트 가능)
- UIBackgroundModes 키와, UIKit의 UIVideoEditorController 클래스, Handoff 기능
Reference