我为 OS X 编写了一个应用程序,当我存档该应用程序并将其导出为应用程序并尝试打开时,它崩溃并出现代码签名无效错误。
我已经创建了 Mac 应用程序分发、Mac 安装程序分发、开发人员 ID 应用程序、开发人员 ID 安装程序证书和分发配置文件。该应用程序是沙盒的,我在 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 和应用内购买。
当我启用 iCloud 或应用内购买时,问题就开始了。如果我禁用它们,那么一切都会正常。如果我启用其中之一,那么我的配置文件将设置为“无”并且它可以工作,但是当我将其更改为我的分发配置文件时,就会停止工作。
谁能告诉我出了什么问题吗?
最佳答案
您可能根本没有问题。读: Technical Q&A QA1884 测试 Mac 应用程序的分发版本
据此,您不应该能够自己创建安装程序包。您要创建一个包并通过终端检查它,但它不会运行。
顺便说一下,上述技术报告中有一个错误。您可能必须包含应用程序的完整路径,因此命令:
sudo installer -store -pkg Sample.pkg -target /
应该是这样的:
sudo installer -store -pkg /user/yourname/desktop/Sample.pkg -target /
Above example assumes your
installer.pkg
is on the desktop.
如果你获得了所有通行证,那么你就很好了。
也让我发疯,因为我上传的最后一个应用程序(六月)刚刚安装了 pkg,没有出现任何问题,并且它安装的应用程序可以正常工作。
关于macos - Mac OS X 应用程序崩溃并出现代码签名无效错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20994343/