Сбой подписания (кодового знака) в одном из наших приложений с malformed object (unknown load command 9)
. Проведя некоторые исследования в Интернете, я обнаружил, что команды загрузки - это специальные команды в заголовке исполняемого файла, которые используются ядром для загрузки сегмента (http://0xfe.blogspot.in/2006/03/how-os-x-executes-applications.html). Итак, я запустил команду otool -l
в своем приложении. Где я нашел это и команда 30 была коррумпирована. Но запуск приложения работает абсолютно нормально.
Как я могу решить эту проблему? Я понятия не имею, как другая команда создала это приложение.
Фрагмент команды otool -l
.
.
.
.
Load command 8
cmd LC_UUID
cmdsize 24
uuid F892472C-7463-3549-8FA0-A93F4501FB40
Load command 9
cmd ?(0x00000024) Unknown load command
cmdsize 16
000a0600 00000000
Load command 10
cmd LC_UNIXTHREAD
cmdsize 184
flavor x86_THREAD_STATE64
count x86_THREAD_STATE64_COUNT
rax 0x0000000000000000 rbx 0x0000000000000000 rcx 0x0000000000000000
rdx 0x0000000000000000 rdi 0x0000000000000000 rsi 0x0000000000000000
rbp 0x0000000000000000 rsp 0x0000000000000000 r8 0x0000000000000000
r9 0x0000000000000000 r10 0x0000000000000000 r11 0x0000000000000000
r12 0x0000000000000000 r13 0x0000000000000000 r14 0x0000000000000000
r15 0x0000000000000000 rip 0x0000000100001970
rflags 0x0000000000000000 cs 0x0000000000000000 fs 0x0000000000000000
gs 0x0000000000000000
.
.
.
.
.
.
Load command 29
cmd LC_LOAD_DYLIB
cmdsize 88
name /System/Library/Frameworks/AppKit.framework/Versions/C/AppKit (offset 24)
time stamp 2 Thu Jan 1 05:30:02 1970
current version 1038.36.0
compatibility version 45.0.0
Load command 30
cmd ?(0x00000026) Unknown load command
cmdsize 16
001bd748 00000ef8