스폰서로그인제출

← 모든 도구

유니버설 바이너리 검사기

내 앱에 대해 lipo나 file이 출력한 내용을 붙여 넣으세요. 바로 이 페이지에서 읽히고, 어디로도 전송되지 않아요.

유니버설 바이너리 검사기

예시로 해 보기:

하는 일

Mac 앱의 코드에는 하나 이상의 아키텍처가 들어 있을 수 있어요. Apple silicon용은 arm64, Intel용은 x86_64예요. 둘 다 있는 파일이 유니버설 바이너리예요. 이 도구는 lipo 또는 file이 출력하는 텍스트를 읽고, 그 안의 아키텍처 이름을 찾아서, 각 부분이 어떤 Mac에서 실행되는지 알려 줘요. 한 앱의 여러 부분을 붙여 넣으면 앱 전체가 유니버설인지도 알려 줘요. 헬퍼나 프레임워크 하나만 단일 아키텍처로 빌드돼도 유니버설이 깨지기 때문이에요.

실행할 명령

lipo -archs YourApp.app/Contents/MacOS/YourApp
file YourApp.app/Contents/MacOS/YourApp

프레임워크와 헬퍼를 포함해 번들의 모든 실행 부분을 한 번에 확인하려면:

find YourApp.app/Contents -type f -perm +111 -exec file {} +

배포하는 정확한 빌드에서 실행하세요. 디버그 빌드는 빌드한 Mac의 아키텍처만 담고 있을 수 있어요.

결과별 의미

결과의미
유니버설arm64와 x86_64가 모두 있어요. Apple silicon과 Intel Mac에서 네이티브로 실행돼요.
Apple silicon 전용arm64만 있어요. Intel Mac에서는 열리지 않으니 사이트에 그렇게 적어 두세요.
Intel 전용x86_64만 있어요. Apple silicon에서는 Rosetta 2가 필요하고, Apple은 macOS 27 이후에는 앱에 대한 일반적인 Rosetta 2 지원이 끝난다고 밝혔어요.
실행 안 됨i386 또는 PowerPC 코드만 있어요. macOS는 Catalina 이후로 32비트 앱을 실행하지 않아요.

출처: Apple Developer, Building a universal macOS binary, MacRumors의 Rosetta 2 지원 종료 기사. 둘 다 2026년 11월 3일에 읽었어요.

작동 방식

이 페이지에서 돌아가는 몇 가지 단순한 텍스트 규칙이에요. lipo -archs, lipo -info, lipo -detailed_info, file의 출력과 arm64, arm64e, x86_64, x86_64h, i386, PowerPC라는 이름을 알아요. 이 중 아무것도 찾지 못하면 추측하지 않고 텍스트를 인식하지 못했다고 말해요. 텍스트만 읽기 때문에 안의 코드가 실제로 동작하는지는 알 수 없어요.

질문

Mac 앱이 유니버설인지 어떻게 알 수 있나요?

앱 안의 Contents/MacOS에 있는 바이너리에 lipo -archs를 실행하세요. arm64와 x86_64가 모두 나오면 유니버설이에요. Finder에서 앱을 선택하고 Get Info를 선택해 종류를 읽어도 돼요.

메인 바이너리는 유니버설이에요. 제 앱도 그런가요?

항상 그렇지는 않아요. 번들 안의 모든 프레임워크, 헬퍼, 플러그인이 같은 아키텍처를 갖춰야 해요. 모두의 file 출력을 붙여 넣어 확인하세요.

Intel 전용 앱도 Apple silicon에서 계속 동작하나요?

지금은 Rosetta 2를 통해서예요. Apple은 일부 오래된 게임에 대한 좁은 예외를 제외하고, macOS 27 이후에는 앱에 대한 일반적인 Rosetta 2 지원이 끝난다고 밝혔어요.

붙여넣은 내용이 어딘가로 전송되나요?

아니요. 텍스트는 이 페이지에서만 읽히고 아무것도 전송되지 않아요.

관련 글