로그인 해주세요.

미니기기 / 음향 게시판 *스마트폰과 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년뒤 

 

애플 천하통일

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

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

[Lime]님의 댓글을 신고합니다. 취소 신고
취소
번호 분류 제목 글쓴이 날짜 조회 수
공지 공지 사이트 이용 수칙 240809 수정 file admin 18.08.04 117865 13
핫글 미니 폴드6는 너무 아재아재 하네요 [11] file 카더 24.08.14 1251 18
핫글 미니 아이폰 SE4 500달러 정도부터 시작한다는 말도 나오던데 [18] KIKIRAKA 24.08.14 904 17
핫글 미니 미코에서는 픽셀 인기가 거의 없는거 같아 영상 올려요. [21] update niotree 24.08.14 1027 9
116729 미니 노트20은 A라인업에 적합한 제품이 맞네요 [5] 폴리니 20.08.04 429 1
116728 미니 내년 S21/S21+에도 뭔가 장난질을 칠까봐 걱정이네요... [12] 흡혈귀왕 20.08.04 528 1
116727 미니 언팩 전 대강 N20U / N20 스펙 [5] 보거 20.08.04 678 1
116726 미니 이제는 정말 의심의 여지 없이 당당히 외칠 수 있어요 [8] 거기만만지지마요 20.08.04 490 1
116725 미니 어쩜좋아요... 처음올리신분 박제당하심... [17] Bloger 20.08.04 906 1
116724 미니 안녕하세요, 갤럭시 노트 20입니다. [6] file 보거 20.08.04 737 1
116723 미니 진짜 노태문 사장은... [1] 소나기 20.08.04 405 1
116722 미니 여러모로 역대급 언팩이네요 ㅋㅋㅋㅋㅋ [4] 팝카드있으세요 20.08.04 787 1
116721 미니 올해 노트라인업은 단일기종이네요ㅋㅋ [5] 존버합니다 20.08.04 345 1
116720 미니 루머) 삼성, 노트10 One UI 2.5 테스트 중? [6] file S20울트라짱 20.08.04 646 1
116719 미니 LG V20 신규 업데이트 배포 [6] file Tac 20.08.04 350 1
116718 미니 버즈라 흰색이 인기네요. [6] 아기건달_보노보노 20.08.04 530 1
116717 미니 원모어띵?! [2] Thomasp5675 20.08.04 350 1
116716 미니 사실 다 예전이 좋았죠 [2] S.C 20.08.04 387 1
116715 미니 이것이 모바일 라이젠의 성능입니까... [21] file 방구석지름병환자 20.08.04 681 1
116714 미니 삼성노트도 루머가 있군요 [12] file Terrapin 20.08.04 782 1
116713 미니 갤럭시에 조리개조절이 다시 들어간다면 폴리니 20.08.04 361 1
116712 미니 샀슈 [4] file 수리매 20.08.04 419 1
116711 미니 고동진 사장 언팩에 돌아왔음 좋겠네요. [17] 츄츄바 20.08.04 610 1
116710 미니 어제 언팩 역대급이었네요 [4] file 한겹 20.08.04 1087 1
116709 미니 갤럭시 워치보다 더 사고 싶은 시계 [4] 걸리면하이킥 20.08.04 414 1
116708 미니 선생님들 이틀만 참으시면 되는데. [6] 아기건달_보노보노 20.08.04 554 1
116707 미니 액티브2 업데이트 file windmill 20.08.04 345 1
116706 미니 워치3 펑 ㅜㅜ [10] file S20울트라짱 20.08.04 719 1
116705 미니 리시버 플랫한 거 선호하시나요 아님 V자 선호하시나요. [41] WayBack 20.08.04 468 1

추천 IT 소식 [1/]

스킨 기본정보

colorize02 board
2017-03-02
colorize02 게시판

사용자 정의

1. 게시판 기본 설정

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

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

2. 글 목록

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

썸네일 게시판만 해당

썸네일 게시판만 해당

썸네일 게시판만 해당

썸네일 게시판만 해당

3. 갤러리 설정

4. 글 읽기 화면

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

5. 댓글 설정

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

6. 글 쓰기 화면 설정

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

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