로그인 해주세요.

미니기기 / 음향 게시판 *스마트폰과 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 114446 13
핫글 미니 아이폰16, 음성통화 녹음·요약 서비스 제공…애플 이용자 숙원 해결되나 [21] 요트맨 14:54 1290 18
핫글 미니 아이폰 통녹 되었으면 합니다 [5] AurA 16:41 717 18
핫글 미니 잇섭 갤럭시 선명한 화면으로 쓰네요 [31] update 가나다라마법사 18:43 1299 14
57354 미니 애플도 올해 신제품 많겠죠? [9] sands 20.04.30 260 0
57353 미니 일반인에게 맥북이 별로일까요? [38] 딸기따알기 20.04.30 1079 0
57352 미니 곧 2주년입니다. [8] file Aimer 20.04.30 361 0
57351 미니 버바팀 150W 충전기 구매하셨던분들 교환받으세요 [10] file 배붕이 20.04.30 820 0
57350 미니 갓성님 이번에는 내주십셔 제발 [1] [성공]함께크는성장 20.04.30 265 0
57349 미니 이제 그냥 언팩은 항상 갤럭시로 찍는게 좋을거같네요 [3] AGRS 20.04.30 294 0
57348 미니 삼성은 8월 언팩 때 대체 몇 개의 제품을 공개하려는 건지 [9] Eidio 20.04.30 522 0
57347 미니 알뜰폰 유심을 여기저기 사용해도 괜찮나요? [3] 갤폴드를쓰는겁니다 20.04.30 183 0
57346 미니 드론특구라는걸 지정한다는데... [3] 팝카드있으세요 20.04.30 190 0
57345 미니 MS 호환성 하니까 갤럭시S 스냅앤고 생각나네요 MrHS 20.04.30 161 1
57344 미니 엑시노스 1000 AMD 루머의 이동...? [4] 스퀴니 20.04.30 508 0
57343 미니 픽셀4a 출시일자 [15] file Aimer 20.04.30 391 0
57342 미니 갤워치도 슬슬 얘기가 나오고있나보군요 [6] 똥또로똥 20.04.30 307 0
57341 미니 엑시노스1000에 amd꺼 쓴다는 루머 [5] 치즈스콘 20.04.30 899 0
미니 ARM iOS 앱을 x86 Mac 앱으로 포팅하기(부제: 애플의 ARM맥 빌드업) [2] 긴닉네임2003291156 20.04.30 497 0
57339 미니 킹성뮤직 셔플버턴 왜 이렇게 됐읍니까 [5] file aleji 20.04.30 336 0
57338 미니 Mac에 전방위적으로 ARM이 탑재되진 않겠죠. [15] Aimer 20.04.30 239 0
57337 미니 혹시 리뷰 등에서 화면 색온도와 밝기 측정하는 장비는 뭐라고 부를까요? [13] 불쌍한기아맨 20.04.30 224 0
57336 미니 사용자 휴대폰 앱 딱 하나 아쉬운거라면 [9] [성공]함께크는성장 20.04.30 253 0
57335 미니 5nm 관련한 삼성한테 가장 좋은 그림은 [15] sands 20.04.30 417 0
57334 미니 MS의 친안드 협력 정책은 정말 좋은 결정한거죠 [7] 프리즘스톤 20.04.30 281 0
57333 미니 <아이폰 SE 2세대 구매목적 설문조사> JamesBlake 20.04.30 177 0
57332 미니 맥이 ARM으로 이주를 한다면 [6] Terrapin 20.04.30 214 0
57331 미니 MS가 계속 안드 진영과 협력한다면 [4] [성공]함께크는성장 20.04.30 213 0
57330 미니 MS가 안드로이드 호환성에 공들이고 있네요 [10] [성공]함께크는성장 20.04.30 447 0

추천 IT 소식 [1/]

스킨 기본정보

colorize02 board
2017-03-02
colorize02 게시판

사용자 정의

1. 게시판 기본 설정

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

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

2. 글 목록

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

썸네일 게시판만 해당

썸네일 게시판만 해당

썸네일 게시판만 해당

썸네일 게시판만 해당

3. 갤러리 설정

4. 글 읽기 화면

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

5. 댓글 설정

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

6. 글 쓰기 화면 설정

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

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