【发布时间】:2014-01-26 11:25:57
【问题描述】:
我为 OS X 编写了一个应用程序,当我将应用程序存档并将其导出为应用程序并尝试打开时,它会因代码签名无效错误而崩溃。
我创建了 Mac App Distribution、Mac Installer Distribution、Developer ID Application、Developer ID Installer 证书和分发配置文件。该应用是沙盒的,我在 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
分发配置文件有问题。当我为发布设置 none 或 mac team 配置文件时,它就可以工作了。我使用 iCloud 和应用内购买。
当我启用 iCloud 或应用内购买时,问题就开始了。如果我禁用它们,那么一切正常。如果我启用其中一个,那么我的配置文件设置为无并且它可以工作,但是当我将其更改为我的分发配置文件时,就会停止工作。
谁能告诉我怎么回事?
【问题讨论】:
-
显示您收到的错误的副本。此外,请仔细检查 Xcode 项目中的
Code Signing设置,以确保签名正确应用于每种构建类型。 -
我检查过,我认为一切正常。我已将代码签名身份设置为第 3 方 Mac 开发人员应用程序和配置文件,并将其设置为我创建的分发配置文件。
-
我还将其他代码签名标志设置为 --deep,也许这是个问题?
-
很抱歉碰到这个老问题。但是你最终成功了吗?我和你有类似的问题