로그인 해주세요.

미니기기 / 음향 게시판 *스마트폰과 PC, 카메라, 스피커 등 IT 미니기기와 음향기기에 관해 교류하는 게시판입니다.

긴닉네임2003291156

미니 ARM iOS 앱을 x86 Mac 앱으로 포팅하기(부제: 애플의 ARM맥 빌드업)

Bitcode와 LLVM IR에 대해서는 예전에 잠깐 다룬 적이 있는데, 여기에 적기는 너무 방대한 개념이라 패스하겠습니다. 대충 바이너리인데 소스코드인 뭐 그런 개념입니다.

 

준비물: Bitcode 기능이 활성화 된 채로 컴파일 된 iOS용 앱

 

1. ebctool 명령어를 이용해 앱 패키지에서 Bitcode를 추출합니다.

clang -arch x86_64 -mios-version-min=12.0 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator.sdk *.o -o path/to/MyApp.app/MyApp

2. 추출한 bitcode를 이용해 x86용 바이너리를 빌드합니다.

for f in *; do clang -arch x86_64 -c -Xclang -disable-llvm-passes -emit-llvm -x ir -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator.sdk $f -o $f.o; done

 

3. 빌드한 바이너리를 패키지에 집어넣습니다.

clang -arch x86_64 -mios-version-min=12.0 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator.sdk *.o -o path/to/MyApp.app/MyApp

끝입니다. 물론 이대로 실행되는 건 아니고 스토리보드를 다시 짜는 등의 작업이 필요하겠지만 그것마저 작년 WWDC때 발표한 Marzipan 기술을 이용하면 순식간에 끝납니다(macOS의 미리 알림과 주식 등의 앱이 Marzipan을 이용해 설계되었죠).

참고로 이 Bitcode 기술은 15년에 발표되었고, iOS 스토어의 앱은 탑재 권장, tvOS/watchOS 앱은 탑재가 의무화 되어 있습니다. 대충 애플이 빌드업을 몇년전부터 해왔는지가 보여지는 부분이죠.

긴닉네임2003291156
2141 / 1260 / 2217 / 1864 / 2014 / 2093 / 1842 / 2190 / 2093 / 2094 / 1998
댓글
2
오토카모
1등 오토카모
2020.04.30. 19:39

5년뒤 

 

애플 천하통일

[오토카모]님의 댓글을 신고합니다. 취소 신고
Lime
2등 Lime
2020.04.30. 20:18

소프트웨어 기술의 중요성... 대단하긴 합니다,,

[Lime]님의 댓글을 신고합니다. 취소 신고
취소
번호 분류 제목 글쓴이 날짜 조회 수
공지 공지 사이트 이용 수칙 230228 수정 file admin 18.08.04 117702 13
핫글 미니 버즈3프로 한국 출시 근황.. [8] file Stellist 24.08.01 1442 13
핫글 미니 구매했습니다 [16] file 샐리 24.08.01 867 13
핫글 미니 DC Rainmaker 갤럭시 워치 울트라 리뷰 file Mint 24.08.01 679 9
58615 미니 윈도우 노트북에 갤럭시 블투로 붙인 분들께 질문 [4] file [성공]함께크는성장 20.05.08 266 0
58614 미니 20년 1분기 기준 가장 많이 팔린 스마트폰 [15] file 하렌쿠우 20.05.08 717 0
58613 미니 벨벳 광고 넘 잘 뽑... [23] 헤페바이쎄 20.05.08 574 0
58612 미니 기어아이콘 연결성 진짜 스트레스네요 [10] 인헤리턴스 20.05.08 296 0
58611 미니 빅스비는 왜쓸려고하면 업뎃하라고 할까요 [6] F9F 20.05.08 288 0
58610 미니 북미판 갤S10 플러스 테스커 안되네요. 큐트포니 20.05.08 198 0
58609 미니 갤워치 이쁘네요 [11] file sweat 20.05.08 992 7
58608 미니 흑.. AMD A320M메인보드를 계속 갈구고 있었는데 ㅎ [1] 스퀴니 20.05.08 243 0
58607 미니 스마일데이가 기다려집니다 [10] 바인더5CM 20.05.08 525 0
58606 미니 일단 AMD Zen3는 500보드 더 나아가 600보드까정만 지원인가보군요 [8] 흡혈귀왕 20.05.08 270 0
58605 미니 Microsoft Surface AS는 조선족이라도 친절합니다. [12] Futuristics 20.05.08 561 0
58604 미니 .....갤S20 노말 사용은 7일 남았네요.jpg [37] file 스퀴니 20.05.08 1369 8
58603 미니 50만원대 내에서 SE2의 A13이 워낙 [3] ATNT 20.05.08 712 0
58602 미니 윈도우10 사용자 휴대폰 앱 오디오 컨트롤 기능 사용 후기 [1] [성공]함께크는성장 20.05.08 1724 0
58601 미니 므시의 스피커 좋습니다 [7] 감자 20.05.08 331 0
58600 미니 섹시노스의 멋짐을 모르는 그들이 안타깝습니다 [40] file 몽구스 20.05.08 1023 0
58599 미니 10만원 밑으로 살만한 공유기 쓸만한거 있을까요? [4] 불쌍한기아맨 20.05.08 376 0
58598 미니 벨벳 딴건 몰라도 밧데리는 오래가겟네요 Mersin.IY 20.05.08 379 0
58597 미니 S10 네비 제스쳐 사용하시는 분들요 [5] 브니엘 20.05.08 333 0
58596 미니 유튜브 앱 업뎃후 [5] 감자 20.05.08 541 0
58595 미니 선셋이나 그린에 설레 하시면 안되여. [1] Tofubob 20.05.08 389 0
58594 미니 고화소 카메라 AF의 대안이 될것으로 생각되는 iToF [6] file 흡혈귀왕 20.05.08 746 4
58593 미니 아이폰7 128기가 지금 중고로 얼마정도 넘기면 적당할까요? MrHS 20.05.08 166 0
58592 미니 프리디 65W GaN 어댑터 + 케이블 도착했습니다. [5] file AlieNaTiZ 20.05.08 386 0
58591 미니 젠하이저 모멘텀 트루 와이어리스2 [2] file [커플]GeeKs 20.05.08 400 1

추천 IT 소식 [1/]

스킨 기본정보

colorize02 board
2017-03-02
colorize02 게시판

사용자 정의

1. 게시판 기본 설정

게시판 타이틀 하단에 출력 됩니다.

일반 게시판, 리스트 게시판, 갤러리 게시판에만 해당

2. 글 목록

기본 게시판, 일반 게시판, 썸네일 게시판만 해당

썸네일 게시판만 해당

썸네일 게시판만 해당

썸네일 게시판만 해당

썸네일 게시판만 해당

3. 갤러리 설정

4. 글 읽기 화면

기본 10명 (11명 일 경우, XXXXX 외 1명으로 표시)

5. 댓글 설정

일정 수 이상의 추천을 받은 댓글에 표시를 합니다.

6. 글 쓰기 화면 설정

글 쓰기 폼에 미리 입력해 놓을 문구를 설정합니다.

서버에 요청 중입니다. 잠시만 기다려 주십시오...