ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [iOS] #실기기와 시뮬레이터 개발의 차이점
    iOS/iOS 2022. 9. 5. 20:52
    728x90
    반응형

    개발을 하다보니 간단한 프로그램은 xcode의 시뮬레이터를 많이 사용했다. 그러나 실기기와 시뮬레이터를 번갈아 가면서 개발을 하다보니 둘의 차이점도 느꼈고, 당연히 우리가 만드는 어플은 실기기에서 사용을 할것이기 때문에 실기기로 테스트 하는게 맞다고 생각을 했다. 그래서 오늘은 정확히 그 둘 사이의 무슨 차이가 있는지 포스팅을 해보겠다.

     

    시뮬레이터와 에뮬레이터의 차이

     

    iOS에서는 시뮬레이터를 사용하고 Android에서는 에뮬레이터를 사용한다. 그 둘의 차이를 먼저 알고 넘어가는 편이 좋을 것 같아서 설명한다.

    에뮬레이터 : 다른 프로그램이나 장치를 모방하는 컴퓨터 프로그램 또는 전자기기 (host기기에서 target 아키텍쳐로 빌드)
    시뮬레이터 : 실존하는 현상이나 계(시스템)의 작동을 모식화한(흉내낸) 프로그램 (host 기기에서 host 아키텍처로 빌드)

    여기서 PC로 닌텐도 에뮬을 사용해 본사람들은 에뮬레이터에 더 친숙할 것이다. 외냐하면 그것이 바로 에뮬레이터의 대표적인 예라고 할수 있기 때문이다. 기본적으로 에뮬레이터는 HW/SW기반 모두 가능하여 대부분 특정 소프트웨어가 지원되지 않는 하드웨어에서 그것을 실행시키는 목적으로 많이 사용한다.

     

    시뮬레이션이라는 말을 많이 들어봣을 것이다. 실제로 하는 일을 프로그램으로 구현하는 것인데, 여기서 차이를 극명하게 알 수 있다. 시뮬레이터는 실제와 흡사하게 만들어 구현한 것이기 때문에, 실 동작과 비슷하게 동작을 하고, 에뮬레이터는 모방하는 컴퓨터 프로그램으로 사용하기 때문에 동일하게 동작한다. 

     

    시뮬레이터와 실기기의 차이점

     

    xcode는 시뮬레이터를 지원하기 때문에 mac만의 고유 아키텍쳐로 빌드를 하게 되는데, 당연히 완전 동일 할 수 없는 특징을 가지고 있기 때문에 차이는 존재할 수 밖에 없다. 그러기에 우리는 실기기로 테스트하는 습관을 들일 필요가 있다.

     

    기능적인 차이

    1) xcode를 사용해보면 알겠지만 실기기로 빌드 시 프로세싱,그래픽,메모리까지 실시간으로 확인할 수 있다. Mac에서 기기의 자원을 사용하여 성능을 확인 할 수 있게 된다.
    2) 당연히도 mac과 아이폰은 컴퓨터 구조가 다르기 때문에 사용자 편의가 필수적인 어플 개발함에 있어서 아이폰에서 직접 어플을 사용해야 그 느낌을 알수 있게 된다.
    3) 개인적으로 가장 큰 차이라고 느낀 부분으로 Mac 시뮬레이터에서는 백그라운드모드가 지원이 되지만, 원래 실기기에서는 애플에서 자체적으로 백그라운드를 철저히 막고 있다.
    4) 시뮬레이터에서는 기압계, 블루투스,카메라 등 여러 하드웨어 구조를 지원하지 않는다.
    5) 여러 프레임워크(ARKit,HomeKit,Meadia Player 등)를 지원하지 않는다

    시각적인 차이

    1) 아이폰과 Mac에 보여지는 화면 자체의 픽셀수와 규격이 다르게 보일 수가 있다.
    2) 색상 영역에 차이가 있을 수 있다.

     

    그래서 결론은 개인적으로 무조건적으로 실기기에서 테스를 하려고 한다. 차이를 완전히 배재할 수 있기 때문이다!

    'iOS > iOS' 카테고리의 다른 글

    [iOS] - Swift에 대하여(Feat. UIkit,SwiftUI)  (0) 2024.01.09
    [iOS] - URLSession VS Alamofire  (1) 2023.12.07
    [iOS] - Swift Package Manager 생성 및 배포  (0) 2023.11.28
    [iOS] - AdHoc 배포 (github버전)  (1) 2023.11.03
    [iOS] CGFloat이란?  (1) 2023.04.18
Designed by Tistory.