Подтвердить что ты не робот

Ошибка приложения Mac OS X с кодовой подписью Неверная ошибка

Я пишу приложение для OS X, и когда я архивирую приложение и экспортирую его в качестве приложения, и пытаюсь открыть его, он сбой с недостоверностью кода.

Я создал дистрибутив приложений для Mac, дистрибутив установщика Mac, приложение для идентификатора разработчика, сертификаты установщика удостоверения разработчика и профиль распределения распределения. Приложение изолировано, и я проверил его на Mavericks.

Exception Type:  EXC_CRASH (Code Signature Invalid)
Exception Codes: 0x0000000000000000, 0x0000000000000000

VM Regions Near 0x7fff71ce90a8 (cr2):
    __LINKEDIT             00007fff67043000-00007fff67057000 [   80K] r--/rwx SM=COW  /usr/lib/dyld
--> Submap                 00007fff70000000-00007fff80000000 [256.0M] r--/rwx SM=PRV   process-only VM submap
unused shlib __DATA    00007fff708d3000-00007fff730dc000 [ 40.0M] rw-/rw- SM=COW  system shared lib __DATA not used by this process

Thread 0 Crashed:
0   dyld                            0x00007fff66fd1028 _dyld_start + 0

Thread 0 crashed with X86 Thread State (64-bit):
  rax: 0x000000000000000d  rbx: 0x0000000000000000  rcx: 0x0000000000000000  rdx: 0x0000000000000000
  rdi: 0x0000000000000000  rsi: 0x0000000000000000  rbp: 0x0000000000000000  rsp: 0x00007fff5eda9d30
  r8: 0x0000000000000000   r9: 0x0000000000000000  r10: 0x0000000000000000  r11: 0x0000000000000000
  r12: 0x0000000000000000  r13: 0x0000000000000000  r14: 0x0000000000000000  r15: 0x0000000000000000
  rip: 0x00007fff66fd1028  rfl: 0x0000000000000201  cr2: 0x00007fff71ce90a8

Logical CPU:     0
Error Code:      0x020000f4
Trap Number:     133


Binary Images:
0x7fff66fd0000 -     0x7fff67003817  dyld (???) <D1DFCF3F-0B0C-332A-BCC0-87A851B570FF> /usr/lib/dyld

External Modification Summary:
Calls made by other processes targeting this process:
task_for_pid: 0
thread_create: 0
thread_set_state: 0
Calls made by this process:
task_for_pid: 0
thread_create: 0
thread_set_state: 0
Calls made by all processes on this machine:
task_for_pid: 47204
thread_create: 0
thread_set_state: 1299

Что-то не так с профилем распределения распределения. Когда я не настроил ни одного профиля подготовки команды mac для выпуска, он работает. Я использую iCloud и In-App Purchase.

Проблема началась, когда я включил iCloud или In-App Purchase. Если я отключу их, тогда все будет работать. Если я включу один из них, тогда мой профиль подготовки настроен на none, и он будет работать, но когда я изменю его на свой профиль распределения, перестанет работать.

Может кто-нибудь сказать мне, что не так?

4b9b3361

Ответ 1

У вас может не быть проблемы вообще. Читать: Технический Q & A QA1884 Тестирование дистрибутивов сборки приложений Mac.

В соответствии с этим вы не должны создавать собственные пакеты установщика. Вы должны сделать пакет и проверить его через терминал, но он НЕ РАБОТАЕТ.

Кстати, в этом техническом отчете есть ошибка. Возможно, вам придется включить путь к приложению в установщик sudo -store -pkg Sample.pkg -target/ должен быть:  sudo installer -store -pkg/user/yourname/desktop/Sample.pkg -target

В этом примере предполагается, что ваш installer.pkg находится на рабочем столе

Если вы получите все проходы, тогда вы добры.

Я тоже сумасшедший, поскольку последнее приложение, которое я загрузил в июне, просто установил pkg без проблем, и приложение, в котором оно было установлено, работало.

Ответ 2

Вы строите это как бета-версию, которая может работать только на определенных устройствах? Я столкнулся с этой точной ошибкой, когда получил новый Mac и забыл установить мои сертификаты бета-тестера.

У меня также возникли проблемы при настройке моих профилей. Когда я нашел конфигурацию, которая сработала, я создал этот снимок экрана, так что я не забуду. Может быть, это помогает:

Screenshot of developer profiles

Изменить: также убедитесь, что для кодов используются все фреймворки, которые вы компилируете самостоятельно. Каждая структура должна быть подписана отдельно.

Ответ 3

У меня была эта проблема, но, к счастью, у меня было два приложения - одно, что сработало, а другое - нет. В конце концов, это одно изменение изменило это для меня:

ПЛОХО:

Provisioning Profile: MacTeam Provisioning Profile: <the app bundle id>

ХОРОШО:

Provisioning Profile: Automatic

Я думаю, что профиль недействителен при отправке приложения напрямую. Автоматически работает отлично для отправки людям и для отправки в магазин приложений.