로그인 해주세요.

미니기기 / 음향 게시판 *스마트폰과 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 117782 13
핫글 미니 정지당할 각오하고 삼성 아쉬운점 적어봅니다 [9] updatefile 털고양이 03:37 834 38
핫글 미니 스파이더 엘리트가 집에 왔습니다 [12] file 우리애는물어요 24.08.08 655 12
핫글 미니 버즈3프로 크래들 진짜 뭐죠....? [18] updatefile ′Ultra′ 24.08.08 1105 8
58800 미니 애플이 에어팟 스튜디오라는 ANC 헤드폰을 만들고 있단 루머가 있읍니다. [4] file 비온날흙비린내 20.05.10 455 0
58799 미니 아이패드 종류가 엄청 많은데요.. [12] znrznr 20.05.10 545 1
58798 미니 ㅋㅋㅋㅋㅋㅋㅋㅋㅋ 벨벳 광고 진짜... [15] Tac 20.05.10 764 1
58797 미니 결국 박았읍니다.. [9] file 서녘마리 20.05.10 1455 10
58796 미니 UDC 빨리 나오면 좋겠네요 [1] 갤폴드(2세대)살예정 20.05.10 364 0
58795 미니 아마도 Q4분기 삼성a시리즈에UDC기술 탑재할거같아요 [7] nanyong110 20.05.10 556 0
58794 미니 아이패드용 오피스 가을에 마우스와 트랙패드 지원 예정 기변증 20.05.10 227 0
58793 미니 음원업체 바이브 한달500원에 굴복했네요 [6] 가시멜로관 20.05.10 768 0
58792 미니 2 in 1 랩탑 생각해보니 큰 단점이 있군요 [7] 비온날흙비린내 20.05.10 458 0
58791 미니 RDP 정식 마우스 지원 압데이트 [1] file Futuristics 20.05.10 327 0
58790 미니 라이젠 1700 해킨 완료 [1] file 프리즘스톤 20.05.10 498 0
58789 미니 내년 갤북 플렉스는 4K 달려나요 [2] [성공]함께크는성장 20.05.10 248 1
58788 미니 음원 서비스 어디가 제일 낫읍니까 [13] [성공]함께크는성장 20.05.10 635 0
58787 미니 키보드 잘 아시는 분 계신가요? 실례지만.. [19] AlieNaTiZ 20.05.10 539 0
58786 미니 MS 신형 Edge 이제 깔아봤는데 같은 크로미움이라고 신박하네요 [3] 갤럭시S2 20.05.10 517 0
58785 미니 5G자급제 단말기 LTE 데함유심인식 불가 [4] 몽구스 20.05.10 985 0
58784 미니 980 상태보니 내년 엑시노스 기대되네요 [8] 흡혈귀왕 20.05.10 760 0
58783 미니 꿈꾸는 스마트워치 [12] 긴닉네임2002250504 20.05.10 431 0
58782 미니 oneui 배터리 표기 방식이 바뀐 이유 중 하나 [6] file 감자 20.05.10 814 0
58781 미니 흐음 레이저AF..... [9] 흡혈귀왕 20.05.10 569 0
58780 미니 갤럭시s10e로 바꿨는데 화면켜짐 시간이 아이폰스럽게 바뀌었네요... [8] 실바누스 20.05.10 1024 0
58779 미니 A51 5G 궁금증 [12] 간다르바 20.05.09 598 0
58778 미니 SE2 들뜨는건 서서히 진행되는건가요? [7] 아기건달_보노보노 20.05.09 671 0
58777 미니 갤워치 42mm 1년정도 사용후기 [2] 긴닉네임2002250504 20.05.09 425 0
58776 미니 갤버즈 8개월후기 긴닉네임2002250504 20.05.09 441 0

추천 IT 소식 [1/]

스킨 기본정보

colorize02 board
2017-03-02
colorize02 게시판

사용자 정의

1. 게시판 기본 설정

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

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

2. 글 목록

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

썸네일 게시판만 해당

썸네일 게시판만 해당

썸네일 게시판만 해당

썸네일 게시판만 해당

3. 갤러리 설정

4. 글 읽기 화면

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

5. 댓글 설정

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

6. 글 쓰기 화면 설정

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

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