macos - Mac OS X 应用程序崩溃并出现代码签名无效错误

标签 macos sandbox

我为 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/

相关文章:

macos - 如何在 Cocoa 中构建 NxN Boggle 游戏板

升级后的西类牙语 Git

macos - 设置 NSUserAutomatorTask 变量,而不需要 Automator 工作流声明该变量

xcode - 测试人员能够在没有 UDID 的情况下安装沙盒 Mac 应用程序

macos - AppleEvents/sandbox : Returning errAEPrivilegeError, 无权向进程发送 AppleEvent

paypal - 我如何在 Paypal 沙箱中获取身份 token ?

javascript - 安全沙箱并执行用户提交的 JavaScript?

objective-c - OS X Cocoa - 如何检测触控板缩放手势?

macos - 在osx的沙盒中创建文件夹

objective-c - 如何在 Mac App Store 上的 os x 应用程序中捆绑命令行实用程序(使用沙盒授权)