XCode 4.3组织者崩溃

时间:2012-02-17 09:31:58

标签: xcode organizer xcode4.3

我安装了XCode 4.3。我已经在首选项常规选项卡中看到,有“iOS设备发现”选项卡。也许之前也有,但我现在才注意到。 所以我已经检查过了,之后我可以做任何事情,但当我尝试访问组织者的设备标签时,XCode会不断崩溃。

解决方案的任何线索?


更新:我已将其删除并从Mac App Store重新安装,但它没有帮助


更新:我已将错误提交给Apple,他们将其标记为重复,之后他们关闭了这两个错误。所以,我希望我们能有一个Apple的解决方案。

13 个答案:

答案 0 :(得分:16)

我不能完全相信这一点。我发现它here并在我的案例中添加了一些我需要的结果。

使用以下内容创建readcert.m:

#import <Security/Security.h>
#import <Foundation/Foundation.h>

void checkCerts () {
    OSStatus status;

    const void *keys[] = {
        kSecClass,
        kSecReturnRef,
        kSecMatchLimit
    };
    const void *values[] = {
        kSecClassCertificate,
        kCFBooleanTrue,
        kSecMatchLimitAll
    };
    CFDictionaryRef query = CFDictionaryCreate(NULL, keys, values, 3, &kCFTypeDictionaryKeyCallBacks, &kCFTypeDictionaryValueCallBacks);

    CFArrayRef results;
    if ((status = SecItemCopyMatching((CFDictionaryRef) query, (CFTypeRef *)&results)) != noErr) {
        NSLog(@"Failed to copy certificates: %d", status);
        return;
    }

    CFIndex count = CFArrayGetCount(results);
    CFIndex i;
    for (i = 0; i < count; i++) {
        SecCertificateRef cert = (SecCertificateRef) CFArrayGetValueAtIndex(results, i);
        CFErrorRef error;
        CFDictionaryRef vals = SecCertificateCopyValues(cert, NULL, &error);
         if (vals == NULL) {
            CFStringRef subjectSummary = SecCertificateCopySubjectSummary(cert);
              NSLog(@"Found a triggering certificate: %@", subjectSummary);
         }
    }

    CFRelease(results);
}

int main (int argc, char *argv[]) {
    NSAutoreleasePool *p = [[NSAutoreleasePool alloc] init];
    checkCerts();
    [p release];

    return 0;
}

然后,用:

编译它
clang -o readcert readcert.m -framework Security -framework Foundation

然后运行它:

./readcert

应该输出错误证书的名称。就我而言,它是来自Linksys路由器的证书。我从我的钥匙串中删除了证书,但是Xcode仍在崩溃,而且readcert仍然说它在那里,所以我最终执行了这个命令。

sudo security delete-certificate -c Linksys_WRVS4400Nv2

我不确定证书来自哪里,我没有在登录或系统密钥链中看到它,但是在从命令行删除它之后,Xcode中的所有内容都再次出现了。

答案 1 :(得分:11)

这里也有同样的问题。我刚刚在我的系统上创建了一个新用户。有了它我在组织者窗口中打开设备没有问题....奇怪......

编辑:我在我的钥匙串中删除了一个证书,可以解决我的问题。这是一张不值得信赖的证书。也许这会对你有所帮助。

请注意,“有害”证书可能根本不是开发证书或与开发/配置相关。确保检查“证书”,而不仅仅是钥匙串中的“我的证书”。罪魁祸首可能是任何证书,如公司签署的SSL证书等。

答案 2 :(得分:2)

同样的问题。不开心。我很难相信苹果在这样的状态下发布了这个。 XCode今天至少撞了25x。

答案 3 :(得分:2)

我解决了这个问题。我不知道它是否是最佳解决方案,但五天之后我很高兴让Xcode再次运作。

我通过做两件事解决了这个问题。重置我在Lion下的钥匙串并撤销我现有的配置文件。

首先,在Lion下重置您的Keychain(http://support.apple.com/kb/TS1544)。这将使组织者启动而不会崩溃。

不幸的是,现在你无法部署你的软件,因为你杀死了钥匙串中的所有证书。因此,现在您需要撤销所有开发人员证书(developer.apple.com/membercenter)并从管理器中删除配置文件。然后告诉组织者刷新。

它会恢复所有生病的个人资料,但也会创建至少一个健康的个人资料。

Xcode的新版本试图提供帮助,并希望为您处理所有的证书需求。因此,启动一个Xcode项目,并将代码签名设置为新的配置文件。编译,一切都会再次运作。

正如我所说,可能不是最好的解决方案,但删除Keychain中的旧证书和额外的prefs文件对我没什么帮助。如果一切都失败了,试试这个食谱,它可能会有所帮助。

答案 4 :(得分:1)

终于弄明白了。对我来说问题是我的开发设备而不是XCode。我将设备恢复为出厂默认设置。现在,当插入设备时,XCode不会崩溃。

在重置设备之前,我尝试删除设备上的所有证书。但是,XCode仍然崩溃了。这是我在重置之前在设备上采取的唯一其他步骤。

3/22/12更新:Apple今天发布了新版本的XCode。从发行说明:

  

其他错误修复和稳定性改进

希望这可以解决大多数人的问题。

4/11/12更新

我开始使用XCode再次遇到问题。一位同事建议我为我的项目清除XCode缓存,该项目位于此处:

~/Library/Developer/Xcode/DerivedData/your_app_name-abunchofletters

在该文件夹中运行:

rm -r *

插入我的开发设备时,XCode不再崩溃。

答案 5 :(得分:0)

再次来到这里..我注意到我的iphone会在这些崩溃后醒来 - 它通过wifi同步。

我认为它解决了问题,直到我今天开始工作..我不能这样工作..我已经在寻找替代方案。

我可以强制它今天崩溃(对于与Apple不同的东西)文件&gt;打开&gt;并选择所有工作的编程文件夹..Boom!每次......

结论:今天没有Apple App发布......

答案 6 :(得分:0)

同样在这里。查看您的系统日志。对我来说,这似乎是一个虚假的USB连接。我在日志(控制台应用程序)中看到类似的东西:

27.02.12 13:34:16,537 com.apple.usbmuxd:_SendAttachNotification(thread 0x7fff756c7960):为设备xxx._apple-mobdev._tcp.local发送附件:_GetAddrInfoReplyReceivedCallback匹配。

然后 27.02.12 13:34:20,407 [0x0-0x6b06b] .com.apple.dt.Xcode:垃圾指针存储在可达内存中,中断auto_zone_resurrection_error调试 27.02.12 13:34:20,425 [0x0-0x6b06b] .com.apple.dt.Xcode:对象0x7fef55278cb0的Xcode(2099,0x114d85000)malloc: * 错误:未分配的指针被释放< / p>

有趣的是,在此之后,tere是一个尝试启动时间机器备份的备份进程。也许相关 - 我会留意它。

答案 7 :(得分:0)

我尝试删除其他人建议的证书,甚至重置了我的钥匙串。然而,这没有任何影响,打开组织者总是导致崩溃/挂起。

我的修复是删除一些Xcode设置文件。具体来说,我删除了以下内容:

~/Library/Developer/Xcode/UserData/IDEOrganizerWindowController.xcuserstate
~/Library/Developer/Xcode/UserData/IDEPreferencesController.xcuserstate
~/Library/Developer/Xcode/UserData/KeyBindings

这个Xcode问题的解决方案似乎有所不同,但我没有看到其他人发布此解决方案,所以我希望它能帮助其他人。请记住,我在完成此操作之前已经完成了Keychain重置,因此我不排除使用此解决方案重置钥匙串。

答案 8 :(得分:0)

这不是一个真正的修复,但如果你打开Activity Monitor,过滤bash,并继续关闭/强制关闭该过程,xCode将恢复意识。

答案 9 :(得分:0)

我删除了所有不信任的旧证书。即便这样,我的Xcode 4.5在打开组织者时崩溃了。

硬重置Xcode解决了我的问题。

  1. 启动终端。

  2. 键入“defaults delete com.apple.Xcode”并按“Enter”。这将删除设置的自定义设置。

    有时,如果您安装了多个版本的Xcode,则默认捆绑包标识符可能会有所不同。您可以通过按Tab键来终端显示可能性来检查包标识符列表。

  3. 键入“rm -rf~ / Library / Application \ Support / Xcode”并按“Enter”。这也会删除配置文件夹。

  4. 现在打开一个Xcode,它会显示协议页面。通过这种方式,我的Xcode按预期工作。

    我希望对某人有所帮助。

答案 10 :(得分:0)

如果以上解决方案无效,请尝试使用时间机器安装以前版本的xcode。 真的很有用,苹果更新正在制造问题。

答案 11 :(得分:0)

我尝试了以上所有但不能,我找到的解决方案非常简单:

转到~/Library/Developer/,此文件夹中有一个文件夹Xcode,我所做的就是重命名现有文件夹并重新打开Xcode,然后Xcode创建了一个新的文件夹名称Xcode,一切都恢复了。

希望有所帮助。

答案 12 :(得分:0)

每当我进入Devices选项卡时,我在Xcode 5.0上都有同样的错误。通过查看Applications->Utilities->Console找到了解决方案。它试图写入只读设备日志数据库,这意味着它无法实例化该数据库的对象模型(ORM)和上下文。崩溃描述是“无法在没有托管对象上下文的情况下执行操作”。

删除~/Library/Developer/Xcode/iOS Device Logs/*~/Library/Developer/Xcode/iOS Device Logs*.db意味着它在启动时使用正确的权限重新创建(现在为空).db文件,现在一切正常。