로그인 해주세요.

미니기기 / 음향 게시판 *스마트폰과 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 119247 13
핫글 미니 EU의 iOS 추가 개방 요구는 소비자가 손해볼 게 없습니다. [9] Stellist 24.09.22 1112 35
핫글 미니 아이폰 벤치마크 게시글 보니 저렇게 생각하는 사람들은.... [25] 바보중 24.09.22 749 24
핫글 미니 K-eSIM, 정책 개선이 시급하다고 생각합니다 [18] IRIVER 24.09.22 1075 20
220457 미니 파란하늘~ 에쁜카페~ gcam newfile pietoro 01:59 34 0
220456 미니 갤럭시 S24 FE 미국 출고가 노다 00:35 280 2
220455 미니 ios18 너무 불안정하네요. file ZAMIBOYAK 00:34 218 1
220454 미니 아이폰은 애플워치 없음 반시체라고 생각해서... [9] updatefile 품귀문란 24.09.22 438 4
220453 미니 아이폰 16플러스 핫핑크 구매 직전입니다 [5] KIKIRAKA 24.09.22 231 6
220452 미니 플립6의 배터리는 생각보다 [1] file 빅코 24.09.22 429 3
220451 미니 스마트 셀렉트 gif 복구되는군요. [6] file 엔당이희망입니다 24.09.22 439 7
220450 미니 아이폰 원핸드처럼 뒤로가기 제스처되는 브라우저 있을까요 [5] 심플리 24.09.22 361 1
220449 미니 샤오미 무선공유기 [10] file Stellist 24.09.22 496 7
220448 미니 애플펜슬 프로 제가 찾은 가장 저렴한곳 fin 24.09.22 227 3
220447 미니 16시리즈 카메라 버튼 정말 애매하네요 [2] 고슴도치 24.09.22 307 0
220446 미니 갤럭시 생태계 다시 처분했읍니다,, [4] 인헤리턴스 24.09.22 682 5
220445 미니 Esim은 들어올 때부터 이럴 줄 알았어요. [3] AurA 24.09.22 456 8
220444 미니 아이폰 벤치마크 게시글 보니 저렇게 생각하는 사람들은.... [25] 바보중 24.09.22 749 24
220443 미니 아이폰 재고가 아예 없네요 KIKIRAKA 24.09.22 383 5
220442 미니 재미로보는 15PM 16PM proraw 1컷📷 [5] file 개구리 24.09.22 336 6
220441 미니 아이폰 카메라 버튼은 솔직히 불편하네요.. [1] 빼꼼 24.09.22 439 9
220440 미니 아이폰 업무용으로 쓰기엔 힘드네요 [1] F9F 24.09.22 529 7
220439 미니 최근 아이폰 신제품들에 대한 이미지는 개인적으로 [5] 도저히못참겠다 24.09.22 608 7
220438 미니 ios18 벤치점수 떨어진게 그냥 버그성이어니였군요 [10] file 알몬드오일 24.09.22 833 5
220437 미니 과연하반기는어떤폰들이나올지 S27울트라존버 24.09.22 90 0
220436 미니 잡담: 아이폰16 시리즈, 스냅 X75 아닌 X71 모뎀 탑재 [1] Section31 24.09.22 399 5
220435 미니 오늘따라 픽셀이 땡기는 날이었습니다. [6] file 스퀴니 24.09.22 309 10
220434 미니 아이폰 카톡알람 aod에 안뜨나요? [1] 심플리 24.09.22 292 2
220433 미니 갤럭시 + 애플워치 가능하게 해준다는게 아니었군요... [1] 닉포토 24.09.22 438 2

추천 IT 소식 [1/]

스킨 기본정보

colorize02 board
2017-03-02
colorize02 게시판

확장 변수

1. 게시판 기본 설정

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

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

2. 글 목록

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

썸네일 게시판만 해당

썸네일 게시판만 해당

썸네일 게시판만 해당

썸네일 게시판만 해당

3. 갤러리 설정

4. 글 읽기 화면

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

5. 댓글 설정

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

6. 글 쓰기 화면 설정

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