Hackintosh를 사용하여 Windows에서 React Native iOS 앱을 개발하는 방법

안녕하세요 중간! 이것이 나의 첫 이야기이지만, 나는 곧바로 게임에 들어가고 싶습니다.

iOS React Native 개발을 수행하려면 실제 Mac과 iPhone이 필요합니다.

나는 맥북과 아이폰을 가지고있다. 그리고 내 저장소를 MacBook과 공유 한 다음 React Native Builder와 React Native Packager를 실행해야했습니다. 우우.

게다가, 워크 스테이션에서 일하고 싶고, Xeon 워크 스테이션이 있는데 키보드와 마우스에 작별을 고하여 생산성에 작별을 표하는 것이 슬프습니다.

Xamarin조차도 원격 iOS 시뮬레이터 및 빌드 에이전트를 제공하여 기본 PC에서 개발을 즐기고 원격 Mac 환경에서 빌드를 진행할 수있었습니다. 그리고 RN 팀이 그런 바람을 피울 수 있을지 의심됩니다.

그래서 나는 내 뇌의 힘을 finally 고 마침내 매우 엉뚱하고 미친 게으른 해결책에서 나왔습니다. 그리고 내가 생각한 포인트는 다음과 같습니다.

장점 1 : 가상화가 활성화 된 x86_64 비트 PC에서 단계를 명확하게 수행 한 경우 보편적으로 작동합니다.

장점 2 : 환경을 쉽게 폐기 할 수 있습니다. 환경을 복제하여 다른 곳으로 이동할 수도 있습니다.

나쁜 1 : 그것은, 그냥 작동합니다!

나쁜 점 2 : XCode 이외의 다른 Mac 프로그램은 실행하지 않는 것이 좋습니다.

나쁜 점 3 : AMD CPU가 이것보다 많이 실행되는 것을 기대하지 마십시오.

추악한 1 : 실제 Mac에서 성능의 일부만 얻으려면 매우 강력하고 괴물 같은 PC가 필요합니다.

Ugly 2 : 하드웨어 가속이 없으므로 OpenGL ES 컨텍스트를 실행하고 디버깅하지 않아도됩니다.

당신이 진짜 사람이라면 Mac을 구입하십시오. 그렇지 않으면 이제 우리는 Hack-in-to-sh 로의 여정을 발견 할 것입니다!

(경고 : Hackintosh 연습은 Apple 소프트웨어 및 하드웨어의 EULA를 위반하는 것이며, 지난 10 년 동안 아무도 없었지만 회사가 있지만 사실은 아니지만, 청구 및 소송에 직면 할 수 있습니다. 다양한 운영 체제 설치를 포함하여 컴퓨터와 관련된 모든 사항에주의를 기울이고 법적 그레이 존을 계속 진행할 것인지 결정하십시오.)

전제 조건

앞에서 언급했듯이 실제로는 강력하고 강력한 PC가 필요합니다! 나는 Xeon 워크 스테이션을 가지고 있지만 간신히 잘 돌아 간다. 그것이 어떤 종류의 악몽인지 상상해 보자.

또한 HDD를 사용하여 Mac VM에 들어가기 위해 5 분 이상 기다리지 않는 한 SSD가 필요합니다.

잠깐만! VM. 흠… 가상 머신? 당신은 나중에 아닌 것 같아요? 맞습니다.이를 위해서는 VMWare가 필요합니다.

1 단계 : Mac 설치 이미지 가져 오기

이것 없이는 아무것도 할 수 없을 것입니다…

Mac을 가지고있는 친구가 있다면 기계를 빌려주십시오…

App Store에서 macOS Sierra를 다운로드하십시오…

온라인으로 가서 설치 이미지를 휴대용 DMG / ISO 형식으로 추출하는 의식을 찾으십시오.

그런 방법을 공개하지 않겠습니다. 문제를 일으키고 싶지 않습니다. ~ ¯ \ _ (ツ) _ / ¯

최종 DMG / ISO 파일을 기본 PC로 전송하십시오. 물론 우리는 그것을 필요로 할 것입니다.

2 단계 : VMWare Player 다운로드

우리 대부분이 아닌 VMWare Workstation이 없다면 VMWare Player 다운로드를 계속 진행해야합니다.

설치 만하면됩니다. 전혀 문제 없어야합니다.

3 단계 : Unlocker 다운로드

자, 이것은 우리의 첫 번째 핵입니다.

기본적으로 VMWare는 필수 옵션을 잠 가서 OSX와 EFI가 실행되고 VMWare 하이퍼 바이저가 아닌 모든 VMWare 하이퍼 바이저의 모든 가상 머신 인스턴스에서 실행되는 협력 (하드 코드, 직렬, SMB 등)을 방지합니다.

그래서 우리는 Hackintosh가 작동하도록하기 위해 몇 가지를 패치하여 '잠금 해제'해야합니다.

'복제 또는 다운로드'를 클릭하여 파일을 다운로드 한 후 압축을 풀고 'win-install.cmd'및 'win-update-tools.cmd'라는 파일을 찾으십시오.

‘win-install.cmd’를 마우스 오른쪽 버튼으로 클릭하고‘관리자 권한으로 실행’을 선택하면‘win-update-tools.cmd’도 마찬가지입니다. 패치를 수행하려면 Windows 레지스트리에 액세스하고 VMWare 서비스를 중지해야합니다.

4 단계 : 새 가상 머신 생성

VMWare Player를 열고 메뉴에서 바로 새 가상 머신 작성을 선택하십시오.

그런 다음 방금 전송 한 설치 프로그램 디스크 이미지 파일을 선택하십시오.

그런 다음 'Apple Mac OS X'를 선택하고 적절한 버전을 선택해야합니다. 예를 들어, 저는 macOS Sierra를 사용하고 있으므로 'macOS 10.12'였습니다. El Capitan 또는 Yosemite를 사용하는 경우 올바른 버전을 받으십시오.

모든 옵션을 통과하십시오. VM을 구성해야합니다. 코어 수를 변경했지만 대부분은 괜찮 았습니다.

5 단계 : .vmx 파일 모딩

3 단계에서 언급 한 VMWare의 제한을 극복해야합니다. 가상 머신 구성 파일에 항목을 추가해야합니다. 또는 VM을 시작하는 동안 코어 덤프에 직면하게됩니다.

위치를 변경하지 않은 경우 기본적으로‘~ / Documents / Virtual Machine / / .vmx '에 있습니다.

파일을 열고 파일 맨 끝에 다음 텍스트를 추가하십시오.

smc.version =“0”

6 단계 : 시작

휴, 여기 얼마나 힘든 일입니까. 이제 설치 작업을 시작할 차례입니다.

♫ 날 시작하면 절대 멈추지 않을거야 ♫

전혀 문제가 없어야합니다. 멋진 Apple 로고를 볼 수 있어야합니다.

(YMMV)

그리고 언어 선택 화면.

언어 선택 화면

자신의 언어를 선택하십시오. 그런 다음 유틸리티-> 디스크 유틸리티를 클릭해야합니다. 가상 디스크를 HFS로 포맷하십시오.

https://puu.sh/w46Pj/a5a7f8ff5d.webm의 비디오를 참조하십시오.

그런 다음 설치를 진행할 수 있습니다. 일반적으로 20 분 정도 걸립니다. 오래 기다릴 때 컵 커피를 준비하고 끝까지 기다리십시오. 종료 후 자동 재부팅이 예약되며 시작 화면이 표시됩니다.

실제 참조 : https://puu.sh/w46Pw/519687fc0d.webm

7 단계 : 설정

시작 화면

일반적으로 새 Mac으로하는 것처럼 마무리하십시오. 위치 서비스를 활성화하지 말고 아직 Apple ID에 로그인하지 마십시오. Hackintosh 설정을 은폐하기 위해 Apple에 데이터를 보내지 마십시오.

VMWare 도구도 설치해야합니다. 파인더에서 OSX 기본 시스템 드라이브를 마운트 해제하십시오. 그런 다음 플레이어-> 관리-> VMWare 도구 설치를 클릭하십시오. 이것을 설치하면 성능이 크게 향상되지만 여전히 눈에 거의 띄지 않습니다.

이것을보십시오 : https://puu.sh/w4a2m/314480bc99.webm

축하합니다! 당신은 지금 당신의 손에 모든 기능을 갖춘 Hackintosh 가상 머신을 가지고 있습니다! 이제 개발자 섹션으로 넘어갑니다.

Hackintosh 측에 필수 소프트웨어를 설치하려고합니다…

우리는…

꾸미다. 당연하지. NodeJS 및 NPM 및 React Native의 경우

나처럼 공유하지 않으면 패키지 설치 시간을 단축 할 수 있습니다.

React Native Host를 컴파일하는 Xcode

1 단계 : Xcode 설치

이를 위해서는 Apple ID가 필요합니다. 개발자가 아니라 평범한 것이 좋습니다.

비디오를보십시오 :

https://puu.sh/w4b8y/665e3fa868.webm

https://puu.sh/w4b8t/07ceee8b38.webm

완료 될 때까지 기다리십시오. 너무 오래 걸리지 않아도 NAT 유선 인터넷에 액세스 할 수 있습니다. Safari 또는 다른 앱을 재생 하시겠습니까? (끔찍한 성능에도 불구하고)

2 단계 : Brew 및 Node (및 Yarn 및 RN) 설치

명령을 먼저 받으려면 위의 링크를 클릭하십시오.

글쎄, 이것은 쉬워야한다. VMWare 도구를 설치 한 경우 클립 보드는 기본적으로 양방향이므로 Windows 측에서 복사하여 Mac 측으로 덤프 할 수 있습니다.

터미널을 열고 Brew가 제공 한 명령을 붙여 넣습니다. 설치를 허용하려면 비밀번호를 입력하십시오. 모두 자동화되며 10 분 이내에 완료되어야합니다.

이것을 예로 들어보십시오 : https://puu.sh/w4atb/acbf000b84.webm

(WinKey + Space를 눌러 Spotlight 검색을 열고 WinKey + V를 눌러 붙여 넣기)

노드 및 NPM 설치 :

brew 설치 nodejs

https://puu.sh/w4aOv/f6b6e35234.webm

원사 설치 :

양조 설치 원사

https://puu.sh/w4aOb/0eb124b1d5.webm

RN 설치 :

$ npm -g react-native-cli 설치

https://puu.sh/w4aSC/5524d0705b.webm

3 단계 : 프로젝트 시작

당분간은 원래 리포지토리를 복사하지 않았지만 대신 새로운 RN 프로젝트를 만들었습니다. 프로젝트를 이동하면 모든 것이 완벽하게 설정됩니다.

두 가지 방법으로 프로젝트를 실행할 수 있습니다. 방법 1 : 프로젝트 폴더로 이동하여 ios를 클릭하고 xcodeproj를 열고 Xcode IDE에서 실행 버튼을 클릭하십시오. 방법 2 : 터미널의 프로젝트 폴더로 이동하여``원시 실행 리오 ''를 입력하면 완료됩니다.

마지막 단계 : 시뮬레이터 실행

성공! 완벽하게 달리고 있습니다! 예이!

핫 리로드를 활성화하고 일부 코드를 수정하여 변경되는지 확인할 수 있습니다.

그 후 모든 것이 매력처럼 작동해야합니다!

만세! (명령 키 == Windows 키 기억)

실제 기기에서 실행하려고 시도하지는 않았지만 이론 상으로는 USB 패스 스루 만 있으면 Xcode 또는 iTunes에서 기기를 인식 할 수 있습니다.

따라서이 합법성뿐만 아니라이 Hackintosh는 비싼 Mac Pro / MacBook Pro를 구입하지 않고도 Windows에서 iOS 개발을 할 수있는 멋진 해킹이라고 생각합니다.

일부는 심지어 같은 방법으로 얻을 수있는 울트라 북, Dell XPS 15 또는 ZenBook과 같은 베어 메탈 하드웨어에 실제 Hackintosh 배포를 설치할 수 있지만 더 위험하고 Windows 환경을 잃어 버립니다 (듀얼 부팅을 활성화하지 않은 경우). 우리 대부분은 그렇지 않습니다).

RN 팀이 Mac / Windows 개발자를위한 새로운 툴킷을 출시하여 더 나은 개발 경험을 얻으면서도 가장 편리한 도구를 계속 사용하기를 기대합니다. 그들은 흥미로운 아이디어라고 말하고 PR을 기다립니다.

나는 이것이 이것에 대한 나의 대답인지 의심한다. 어쨌든이 기사를 읽어 주셔서 감사합니다 (자습서와 유사 함). 어쨌든 더 쉬울 것입니다. 아이디어를 나눌 수있는 관대함이 있다면 의견 섹션에서 그렇게하십시오. 나는 당신의 반응을 기대합니다. 내 핵으로 즐거운 하루 보내세요!

(13/1에서 편집)

인사말! 나는 이것을 쓴 이래 오랜 시간이 걸렸다 고 생각한다. 이제 Hackintosh VM에서 모바일 앱을 개발하는 것과 관련된 완전히 새로운 세계를 발견했습니다. 최근 React Native의 발전과 Expo 및 호스트 전용 연결을 활용하여 더욱 개발 환경을 개선하여 최종적으로 Windows에서 호스팅되는 IDE 및 번들 서버를 선택할 수 있습니다.

위에서 언급 한 자습서의 3 단계를 재정의합니다. 또한 VM을 iOS 개발에 완전히 몰입시킬 수있는 트릭을 하나 더 소개하겠습니다.

기본적으로 CRNA와 최신 버전의 Expo / React Native (작성 당시 0.52로 말하기) 만 있으면됩니다. CRNA로 부트 스트랩 된 기존 앱이있는 경우에도 완벽하게 작동 할 수 있습니다.

매우 간단합니다. (Yarn을 사용한다고 가정하고 NPM과 비슷해야 함) PowerShell 또는 CMD를 사용하여 Windows에서 CRNA 패키지 프로그램을 시작하십시오.

Windows $ 원사 실행 시작
...
실시간 재로드로 앱을 보려면 Expo 앱이이 QR 코드를 가리 키도록하십시오.
앱의 프로젝트 탭에서 QR 스캐너를 찾을 수 있습니다.

또는 Expo 앱의 검색 창에이 주소를 입력하십시오 :
exp : // <편집 됨> : 19000
전화는이 컴퓨터와 동일한 로컬 네트워크에 있어야합니다.
Expo 앱 설치 링크는 https://expo.io를 방문하십시오.
앱을 제공 한 로그가 여기에 나타납니다. 언제든지 Ctrl + C를 눌러 중지하십시오.
›a를 눌러 Android 장치 또는 에뮬레이터를 엽니 다.
 ›q를 눌러 QR 코드를 표시하십시오.
 ›r을 눌러 패키지를 다시 시작하거나 R을 눌러 패키지를 다시 시작하고 캐시를 지우십시오.
 ›d를 눌러 개발 모드를 전환합니다. (현재 모드 : 개발)

이것은 우리가 사용하는 포트가 될 것입니다.

그런 다음 호스트 주소를 찾아보십시오. (다른 기계는 IP, YMMV가 다릅니다)

OSXVM $ ifconfig
...
en0 : flags = 8863 <업, 방송, 스마트, 런닝, 심플, 멀티 캐스트> mtu 1500
옵션 = b 
에테르 00 : 0c : 29 : a1 : d7 : 8e
inet6 fe80 :: cfe : e149 : 421e : 601a % en0 접두사 64 보안 범위 0x4
inet 192.168.67.128 넷 마스크 0xffffff00 브로드 캐스트 192.168.67.255
nd6 옵션 = 201 
미디어 : 자동 선택 (1000baseT <전이중>)
상태 : 활성

저에게는 이것이 호스트 주소입니다. 그러나 마지막 바이트를 버리고 1을 추가해야합니다.

여기서 호스트 IP는 192.168.67.1입니다. 먼저 기록해 두십시오.

그런 다음 Apple 엔지니어가 만든 비밀 소스를 활성화합니다.

XCode 9부터는 Mac HD 루트에 간단한 디렉토리를 생성하여 iOS 시뮬레이터의 내부 메뉴에 액세스 할 수 있습니다. 이전 버전에는이 기능이 AFAIK가 없습니다.

먼저 모든 시뮬레이터를 닫으십시오. 그런 다음 터미널에 간단히 입력하십시오.

OSXVM $ sudo mkdir / AppleInternal
(너의 비밀번호)

그게 다야! 이제 시뮬레이터를 시작하여 내부 메뉴가 있는지 확인하고 이것을 찾으십시오.

실제로 이것은 실제 Mac에서도 보편적입니다! 이 내부 메뉴에 대한 정보는이 중간 기사를 확인하십시오. 그러나 우리는 전체 화면 모드에 더 중점을두고 있습니다. 실제로 Xcode를 시뮬레이터와 함께 새로운 가상 데스크톱에 가져올 수있는 이유입니다.

권한 문제, 특히 High Sierra 사용자가있는 경우 복구 모드에서이 폴더를 만들어야합니다. 유틸리티 및 터미널을 클릭하기 만하면 Main Mac HD를 재배치해야합니다.

이제 시뮬레이터 환경 중 하나에 Expo Client를 설치합니다.

이 단계는 매우 사소하므로 Expo 공식 문서에서 이것을 읽는 것이 좋습니다.

Expo 앱을 설치 한 후에는 시뮬레이터에서 엽니 다.

그런 다음 '플러스'를 클릭하고 호스트 주소를 입력하십시오. 그러나 먼저 엑스포가 인식 할 수있는 형식으로 형식을 지정해야합니다.

형식은 다음과 같습니다.

exp : // <호스트 IP 주소> : <호스트 포트>

나에게 그것은“exp : //192.168.67.1 : 19000”입니다.

열기를 클릭하면 Windows Dev PC 측에 번들이 빌드 된 다음 축하 메시지가 표시되면 앱 시뮬레이터 환경을 얻을 수 있습니다. 그러나 HMR은 기본적으로 켜져 있지 않지만 Live Reload입니다. 필요한 경우 하드웨어-> 흔들기 제스처로 이동하여 변경하십시오.

마지막 단계는 전체 화면 모드를 활성화하여 몰입도를 높이는 것입니다. 내부 메뉴에서 항목을 쉽고 간단하게 클릭 한 다음 녹색 전체 화면 버튼을 클릭하면됩니다.

https://giant.gfycat.com/AncientPepperyAdamsstaghornedbeetle.mp4

그리고 그게 다야! Genymotion도 함께 사용할 수 있습니다! 이것은 생산성을 크게 향상시킵니다!

https://giant.gfycat.com/EnergeticUltimateAntlion.mp4

업데이트가 끝났습니다. 당신이 여행에 행복 바랍니다! 엑스포는 실제로 강력한 도구이므로이를 소중히 간직해야합니다. 무료 점심 식사는 없습니다. 엑스포 프로젝트에 기부를 고려하십시오. 그들은 프로젝트를 유지하고 (빌드) 서버를 지불하기 위해 열심입니다! (슬프게도 그들은 아직이 방법을 제공하지 않았습니다)

그리고 제발, 애플, 변호사에게 연락해서 법적인 문제에 빠지게하지 말아주세요.