swift 언어를 배우기 위해 Mac book이나 Mac mini가 없다고 swift 언어의 개발이나 iOS개발 학습을 못하는건 아닙니다.  

물론 iOS 디바이스 없이는 정확한 iOS 동작 테스트도 안되고,  애플 앱 스토어 (app store)에 앱을 올리기전 코드 사이닝을 위해는 Mac book이나 Mac mini등의 Mac 장비 구매는 반드시 필요합니다.

다만 swift 언어를 배우기 위해서 Mac Book에 투자하기  어려운 개발자라면 이 방법을 적절하게 이용하기바랍니다. swift 언어를 배우고 iOS 앱 개발을 연습하다가  마지막 앱 퍼블리싱전에 중고 Mac Mini등을 구입해도 좋습니다.


준비물은 세 개, vmdk 가상머신과 unlocker S/W,  VMware가 있으면 됩니다.

먼저 MacOS mojave  vmdk 가상머신을 다운로드 받아 압축을 풉니다.

Mojave 다운로드 (드롭박스) https://drive.google.com/drive/folders/1gpWiB7uWiNgsTcbKhuYhLaPReYPmjcfN?usp=sharing

unlocker 3.0.4 https://github.com/DrDonk/unlocker

VMware player 15.X :  https://my.vmware.com/en/web/vmware/free#desktop_end_user_computing/vmware_workstation_player/15_0




포맷은 VMware workstation 14.X를 적용했습니다. 

unlocker 3.0.4를  VMWare 에 적용하려면  명령프롬프트(cmd)를 오른쪽 마우스를 눌러 <관리자 권한>으로 실행합니다. Unlocker 폴더에서 압축이 풀린 파일중 win-install.cmd를 역시 <관리자 권한>으로 실행합니다.




unlocker 3.0.4를  VMWare 에 적용하기전에는  그림처럼  Apple 관련 항목이 아예 없습니다. 


 

unlocker 3.0.4를  VMWare에 적용하면 VMware의 가상머신을 고르는 화면에  Apple Mac OS X 가 추가됩니다.  다만  VMWare의 버전이 15.X  정도로 높아야 10.14 버전이 나타납니다. 

VMware는 인텔 코어2듀오급  CPU로는 12.5가 한계입니다. 데비안 9나 우분투등은 12.5 정도로도 동작하는데, MacOS High Sierra 정도의 OS를 가상머신에 설치하려면 VMWare 14.X정도이상 되야 설치할 수 있다는 점 기억하세요.   



mojave는 Mac os 10.14 버전을 선택해서 적용합니다.

VMware에서 가상머신의 생성을 선택하고, Create a New Virtual Machine  > Typical 선택

Guset operating system에서 Apple Mac OS X

Version에서 macOS 10.14 (mojave)를 선택합니다.



I will install the operating system later  선택,



원하는 가상머신의 이름과 vmdk파일이 있는 위치를 적어주는데  저는  D:\VM\MacOS 이렇게 폴더를 풀어서 .vmdk 파일을 넣어놨습니다. 

MacOS 전체 디스크 크기는 79G를 유지하고,  Store virtual disk as a single file 선택합니다.


Edit Virtual Machine Setting 화면에서 Hard Disk (SATA) 79 GB 선택하고 Remove 선택합니다.
Add 클릭하고 Hard Disk, SATA, Use an Existing Virtual Disk 선택해서 아까 vmdk 파일의 압축을 풀어둔 D:\VM\MacOS 폴더에서 vmdk 파일을 선택합니다.


OS 종류를 선택하는 곳에  Apple Mac OS X가 제대로 표시되지 않는다면 Unlocker 3.0.4이하 낮은 버전을 설치했다거나, Unlocker가 비정상적으로 실행된 경우이므로 다시한번 unlocker를  관리자 권한으로 재실행합니다.

제가 쓰는 PC는 8기가 메모리에 2 CPU 8 Core의 i5 인텔머신인데 리소스의 절반인 1 CPU 4 Core를 MacOS쪽에 할당하고,  메모리도 4096MB을 MacOS에 할당해주었습니다.  

가상머신 세팅이 완료되면 일단 VMWare를 종료한 뒤, D:\VM\MacOS.vmx 파일을 메모장으로 불러서 여어줍니다. 맨 마지막 줄에 smc.version = "0"이라고 한 줄 더 추가하고 저장합니다.

이제 VMeware에서 MacOS 가상머신을 실행시키고 Power ON this virtual machine을 누릅니다.

MacOS Mojave의 설치가 시작됩니다.




키보드를 설정합니다. 한국어 2벌식 키보드입니다.



AppleID를 설정합니다. 아이디가 없으면 앱스토어에서 Xcode 개발도구를 를 설치할때 애로사항이 있을수 있습니다. 애플아이디는 appleid.apple.com에서 생성할 수 있습니다.

물론 Don't Sign 을 선택해도 나중에 Xcode를 다운로드받아서 설치할 수 있는 방법이 있습니다. 걱정마세요.




MacOS 로그인 아이디와 암호를 설정합니다.  가상머신이므로 간편하게 1234로 해도 됩니다.



타임존을 세팅힙니다.



siri를 가동하는 화면인데 pass합니다. 



MacOS High Sierra에선 MacOS를  처음 구동하면, 좌- 우측 키보드 레이아웃을  설정해줘야합니다. 2벌식 키보드이므로 이 화면에선 왼쪽 shift 옆의 <Z>키를 눌러줍니다. 다음 화면에선 우측 shift키 옆 <?>키를 누릅니다.



Korean 2벌식이므로 ANSI 선택했습니다.



드디어 MacOS Mojave 가 가동되었습니다. 




아까 설치화면에서  애플아이디가 없이 Don't Sign 을 선택했다면 현재 애플 아이디가 없기때문에 앱스토어에서 Xcode를 인스톨할 수도 없고 아이디 점검중에 바로 실패할겁니다.



그래도 Xcode를 설치할 수 있는 방법은 있습니다.

https://developer.apple.com/download/ 에서 xcode 를 검색해봅니다. 

최신버전인 xcode 10.2 beta가 있습니다.  [download] 버튼을 누르면 zip파일형태로 다운로드됩니다. 

Xcode 10.1 버전은 애플 앱스토어를 (app store)를 통해 애플아이디를 먼저 확인하고, 이용하게되어있어서 애플아이디 설정없이는 다운로드가 되지않습니다.




파인더 (finder)로 보면 Downloads 폴더에  Xcode 10.2_beta.xip  압축파일이 다운로드되었습니다.



설치를 시작전 압축을 풀어야되는데  Xcode 10.2_beta.xip를 더블클릭합니다.



Xcode-beta로 압축이 풀린 12.39GB 파일이 생깁니다. 더블클릭해서 Xcode 설치를 시작합니다.



Xcode beta를 설치시작합니다.  



Xcode를 시작한 모습입니다.  가상머신에서도  아주 잘 동작합니다



이지스퍼블리싱의 <Do iT! 스위프트로 아이폰 앱 만들기> 책의 예제를 그대로 따라서 한번 만들어보겠습니다. 






신규프로젝트에서 single view App 을 선택합니다.



기본 프로젝트 설정을 합니다.



Main.Storyboard를 선택하고,  라이브러리에서 레이블을 두개 그려넣은뒤, 아웃렛 변수 연결하는 세팅을 따라해봅니다. 



아이폰 시뮬레이터를 동작시켜봤습니다. 

가상머신에서지만 아주 잘 동작합니다.




이제 swift 언어를 배우기위해 Mac book이나 Mac Mini를 구매하지않아도  swift 언어를 활용하는 개발 공부를 해 볼 수 있게 되었습니다.

필요한건 자세한 개발 코치 선생님이 되어줄 이지스퍼블리싱의 <Do iT! 스위프트로 아이폰 앱 만들기 입문 개정3판 > 책만 한 권 더 있으면 됩니다. 


오브젝티브-C를 할땐 그렇게 생소하고, 어려웠는데 이제 swift 언어는 쉽게 개발 가능하네요? 


현재 버전은 swift 4.2 지만 곧 swift 5가 나온다고합니다. 

얼른 <Do iT! 스위프트로 아이폰 앱 만들기 입문 개정3판 > 책을 독파해야되겠네요