2010-05-30 4 views

답변

13

작은 실행 파일은 앱 스토어에서 더 빠르게 다운로드 할 수 있습니다. 그러나, 당신은 non-armv7 devices를 잘라냅니다.

+0

현재 라인업 중에서 armv7이 아닌 장치는 무엇입니까? – coneybeare

+4

아마 iPhone, iPhone 3G, iPod Touch 1st and 2nd gen. –

+0

@Alex iPhone 3G 사용자는 앱 스토어에있을 때 어떤 일이 발생합니까? 앱을 다운로드 할 수 없거나 앱을 시작하면 앱이 다운되는 경우? – CedricSoubrie

19

프로그램이 (만하는 ARMv7-지원하는 장치에서 지원되는) OpenGLES 2.0을 필요로하지 않는 한, 당신은 표준 지방 (ARMv6에 /하는 ARMv7) 바이너리를 컴파일해야한다. fat 바이너리는 기본적으로 두 개 (또는 그 이상)의 Mach-O 바이너리가 함께 붙어 있으며 시작 부분에 단일 헤더 페이지가 붙어 있습니다. 성능 비용은 미미합니다. 동적 로더는로드 할 아키텍처를 결정하기 위해 헤더 페이지에 대한 추가 페이지 오류를 가져와야합니다. 그것은 당신의 실행 파일이 처음부터 모든 것을 큰 가능성 비록하는 ARMv7에 대한

건물은, 실행 파일의 크기를 반으로 줄일 본질적으로합니다. 호스트에서 '크기'및 'otool'명령을 사용하여 앱의 바이너리에있는 다양한 섹션에 대한 자세한 정보를 얻을 수 있습니다 (예 : "size -arch armv6 build/Release/MyApp.app/MyApp"는 armv6 버전의 여러 섹션의 크기를 "size -arch armv7 build/Release/MyApp.app/MyApp"크기로 가져옵니다. armv7 버전의 바이너리에서 다양한 섹션을 제공하고 분명히 "ls -l build/Release/MyApp.app/MyApp"는 바이너리의 실제 파일 크기를 가져옵니다.