2011-10-27 3 views
0

나는 응용 프로그램의 코드를 가지고 있지만 내부에는 ".m"파일이 없지만 응용 프로그램은 잘 작동하고 장치에서 실행됩니다. 그것은 가능한가? 나는이 사실을 이해하지 못한다.이 사건을 설명해 줄 수 있니?이상한 구조의 iOS 앱

+1

자세한 내용을 제공해 주시겠습니까? 응용 프로그램 폴더 안에 무엇이 있습니까? – Phlibbo

+0

프로젝트 대상의 컴파일 소스 빌드 단계에 어떤 파일이 나열되어 있습니까? 응용 프로그램을 빌드 할 때 빌드 로그는 무엇을 표시합니까? –

답변

1

.a 접미사가 하나있는 파일로 앱을 호출하는 경우 이미 컴파일 된 라이브러리이고 원래 소스 코드는 원래 작성자의 컴퓨터에 있음을 의미합니다.

오픈 소스가 아니라면 .a 라이브러리의 소스 코드를 잘 부탁 할 수 있지만, 제공하지 않을 확률은 높습니다.

"nm"도구를 사용하여 내 보낸 심볼을 가져 오는 것은 하나의 트릭이지만 라이브러리에서 사용하기로되어있는 API는 .h 파일에 표시되고 문서화됩니다.

0

@interface와 @implementation 코드를 1 개의 .h- 파일에 넣어도 문제가 없습니다. 여전히 작동 할 것이며, 그렇게한다면 .m- 파일이 필요 없습니다.

.h와 .m 사이의 구분은 xcode에서 기본값으로 사용되지만 사용자가 볼 수있는대로 달라 붙지 않아도됩니다.

+0

괜찮지 만 .h에는 메소드의 명령어가 없으므로, 메인 번들 내부에는 파일 exec가 있지만 명령어는 없다고 말해야합니다. 예를 들어 버튼을 사용하면보기를 닫을 수 있지만 코드는 – CrazyDev

+0

이 아닙니다. 그런 다음 유틸리티 클래스 였을 수 있습니다. 유틸리티 클래스는 일반적으로 자주 사용되는 함수를 수행하는 메서드 집합을 정의하는 클래스입니다. 대부분의 유틸리티 클래스는 정적 범위에서 이러한 일반적인 메서드를 정의합니다. –

+0

이 파일은 파일 실행 파일이며 이름은 customlib.a입니다. 어떻게 열 수 있습니까? – CrazyDev