실제 디바이스가 없을 경우 개발 환경에서 할 수 있는 것과 없는 것을 설명하시오.

2022. 5. 19. 00:38Swift/기술 면접

'실제 디바이스가 없을 경우 개발 환경에서 할 수 있는 것과 없는 것을 설명하라'는 다른 말로 '시뮬레이터만으로 할 수 있는 것과 할 수 없는 것을 설명하라'는 말이다. 

 

 

Apple 시뮬레이터 사용자 가이드

 

공식 문서의 내용을 요약하자면,

시뮬레이터는 Mac 기반에서 돌아가기 때문에 컴퓨터의 자원을 활용한다. 이 때, 컴퓨터의 자원이라 함은 CPU, memory 그리고 network connection 등이 될 수 있다. 그렇기 때문에 시뮬레이터 상에서 테스트되는 앱들은 실제 디바이스에서 구동 될 때 보다 빠르고, 부드럽게 동작할 수 있으며, 시뮬레이터에서 테스트 했을 때 보여주는 퍼포먼스 또한 정확한 앱의 성능을 나타내지 않는다는 것을 유의해야 한다.

 

대부분은 시뮬레이터에서도 테스트가 가능하지만 하드웨어적인 변화가 필요한 요소들 및 몇몇 API와 Framework등은 시뮬레이터에서 테스트가 불가하다.

 


 

하드웨어

대부분은 테스트가 가능하지만 하드웨어적인 요소가 필요한 것들은 테스트가 불가하다.
  • 가속도 센서, 가압계 센서, 주변광 센서, GPS 센서 기능을 이용할 수 없다.
  • 마우스로 시뮬레이터를 터치하기 때문에 두 손가락으로 하는 줌인 줌아웃 등의 기능을 테스트 할 수 없다.
  • 카메라, 전화기능을사용할 수 없다.
  • 마이크를 지원하지 않는다.

 

API

  • 푸시 알림 받기와 보내기를 지원하지 않는다.
  • 사진, 연락처, 캘린더에 액세스하기 위한 개인 정보 보호 알림을 지원하지 않는다.
  • Handoff 기능을 지원하지 않는다.
  • MessageUI 기능을 지원하지 않는다.

 

그 외

시뮬레이터는 모든 iOS, watchOS의 버전들의 하위호환을 포함하지 않는다.
  • Mac의 성능이 아이폰의 성능보다 훨씬 뛰어나 CPU나 메모리 부담이 얼마나 되는지 알 수 없다.
  • 네트워크 속도를 테스트 할 수 없다.
  • Face ID를 할 때에, 직접 얼굴 인식을 하는 것은 안되지만 인식됨, 안됨 처리는 해볼 수 있다.

 


 

참고

 

Testing and Debugging in Simulator

Retired Document Important: The information in this document is deprecated in Xcode 9. For Xcode 9 and later, see Simulator Help by choosing Help > Simulator Help in Simulator. Testing and Debugging in Simulator Simulator is a great tool for rapid prototyp

developer.apple.com