Mac OS X应用程序崩溃,出现代码签名无效错误 [英] Mac OS X app crash with Code Signature Invalid error

查看:1418
本文介绍了Mac OS X应用程序崩溃,出现代码签名无效错误的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我为OS X编写了一个应用程序,当我存档该应用程序并将其导出为应用程序并尝试打开时,它由于代码签名无效错误而崩溃.

我已经创建了Mac App Distribution,Mac Installer发行版,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

分发配置概要文件有问题.当我不设置任何版本或Mac Team Provisioning Profile进行发布时,它就可以工作.我使用iCloud和应用内购买.

启用iCloud或应用内购买后,问题开始了.如果我禁用它们,则一切正常.如果启用其中之一,则我的供应配置文件将设置为无,并且可以使用,但是当我将其更改为我的分发配置文件后,它将停止工作.

有人可以告诉我怎么了吗?

解决方案

您可能根本没有问题.读: 技术问答QA1884 测试Mac Apps的发行版本

因此,您不能自行创建安装程序包.您要制作一个包装,并通过终端对其进行检查,但它将无法正常工作.

顺便说一句,此技术报告中有错误.您可能必须在sudo安装程序-store -pkg Sample.pkg -target/中包含应用程序的路径 它应该是: sudo安装程序-store -pkg/user/您的名字/desktop/Sample.pkg -target

此示例假定您的installer.pkg在桌面上

如果您获得所有通过,那么您就很好.

也让我发疯了,因为我6月份上传的最后一个应用程序pkg刚安装就没有问题,并且安装的应用程序正常工作.

I write an app for OS X and when I archive the app and export it as an application and try to open then it crashes with Code Signature Invalid error.

I have created Mac App Distribution, Mac Installer Distribution, Developer ID Application, Developer ID Installer certificates and distribution provisiong profile. The app is sandboxed and I tested it on 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

There is something wrong with the distribution provisioning profile. When I set none or mac team provisioning profile for release then it works. I use iCloud and In-App Purchase.

The problem started when I enabled iCloud or In-App Purchase. If I disable them, then everything works. If I enable one of them, then my provisioning profile is set to none and it works, but when I change it to my distribution profile then stop working.

Can someone tell me what is wrong?

解决方案

You may not have a problem at all. Read: Technical Q&A QA1884 Testing Distribution Builds of Mac Apps

According to this you are not supposed to be able to create installer packages on your own. You are to make a package and check it via the terminal but it WILL NOT WORK.

By the way there is an error in this tech report. You may have to include the path to the app in the sudo installer -store -pkg Sample.pkg -target / it should be: sudo installer -store -pkg /user/yourname/desktop/Sample.pkg -target

this example assumes your installer.pkg is on the desktop

If you get all passes then you are good.

Drove me crazy too as the last app I uploaded in June the pkg just installed without a problem and the app it installed worked.

这篇关于Mac OS X应用程序崩溃,出现代码签名无效错误的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆