2012-10-04 6 views
1

main 바이너리에 loader.h의 이전 버전에 "LC_DATA_IN_CODE"로 지정된 load 명령이 포함 된 IPA 파일이 있습니다.IOS 바이너리의 LC_DATA_IN_CODE

그러나 파일 (otool 또는 codesign 사용)을 사용하여 작업을 수행하려고하면 "unknown load command"에 대한 오류 메시지가 표시됩니다.

필자에게 IPA 파일을 준 사람과 이야기하려고하지만 그 전에는이 명령에 대한 몇 가지 기록을 원합니다. 더 이상 지원되지 않습니까? 그렇다면 어떤 버전이 남았습니까? 아니면 최신 버전의 OS에 다시 추가 되었습니까? 그것을 제거하면 아무것도 해칠까요?

감사합니다.

+1

이 명령을 제거하려고했지만 심볼 테이블이 잘못되었다는 오류가 표시됩니다. – Locksleyu

답변

1

이 메시지가 표시되는 이유는 otool의 버전이 오래 되었기 때문입니다. 대부분의 Apple 툴은 모르는로드 명령을 무시하고 DATA_IN_CODE (실제로는 그렇게 오래되지 않은 버전)가 최근의 바이너리에서 사용되었습니다. 같은 이유로 LC_SOURCE_VERSION 또는 LC_MAIN을 사용하는 OS X 바이너리에서도 실패 할 수 있습니다. Mountain Lion의 otool이 더 좋을 수도 있고, 대신 jtool을 사용할 수도 있습니다.