Сбой органайзера XCode 4.3

Я установил XCode 4.3. Я видел, что в общей вкладке настроек есть вкладка "Обнаружение устройств iOS". Может быть, это было и раньше, но я только сейчас заметил. Итак, я проверил это, после этого я могу сделать что угодно, но XCode постоянно падает, когда я пытаюсь получить доступ к вкладке устройства организатора.

Любые подсказки для решения?


Обновление: я удалил его и переустановил из Mac App Store, но это не помогло


Обновление: я отправил сообщение об ошибке в Apple, они пометили его как дубликат и после этого закрыли оба. Итак, я надеюсь, что у нас будет решение от Apple.

13 ответов

Решение

Та же проблема здесь. Я только что создал нового пользователя в моей системе. С этим у меня нет проблем открыть устройства в окне органайзера.... странно...

Изменить: я удалил один сертификат в моей связке ключей, которые решают проблему для меня. Это был сертификат, который не был доверчивым. Может быть, это поможет вам.

Обратите внимание, что "вредоносный" сертификат может не быть сертификатом разработки или вообще не связан с разработкой / предоставлением. Обязательно проверяйте "Сертификаты", а не только "Мои сертификаты" в связке ключей. Виновником может быть любой сертификат, например, подписанный компанией сертификат SSL и т. Д.

Я не могу взять полный кредит на это. Я нашел это здесь и добавил немного в конец, что мне нужно в моем случае.

Создайте 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 снова все стало замечательно.

Я решил проблему. Я не знаю, является ли это лучшим решением, но через пять дней я рад, что Xcode снова работает.

Я решил проблему, выполнив две вещи. Сброс моей связки ключей под Lion и отзыв существующих профилей.

Итак, сначала перезагрузите брелок под Lion (http://support.apple.com/kb/TS1544). Это сделает запуск Организатора без сбоев.

К сожалению, теперь вы не можете развернуть свое программное обеспечение, потому что вы убили все сертификаты в цепочке для ключей. Поэтому теперь вам нужно отозвать все сертификаты разработчика (developer.apple.com/membercenter) и удалить профили обеспечения из вашего Организатора. Затем скажите Организатору обновить.

Это восстановит все ваши больные профили, но также создаст по крайней мере один здоровый.

Новая версия XCode пытается быть полезной, и хочет обработать все ваши потребности сертификата для вас. Так что запустите проект Xcode и установите подпись кода для нового профиля обеспечения. Скомпилируйте, и все снова будет работать.

Как я уже сказал, возможно, это не лучшее решение, но удаление старых сертификатов из цепочки для ключей и дополнительных файлов prefs не помогло мне. Если ничего не помогает, попробуйте этот рецепт, и он, вероятно, поможет.

Та же проблема. Не счастлив. Мне трудно поверить, что яблоко выпустило это в таком состоянии. XCode потерпел крах по крайней мере 25 раз сегодня на мне.

Наконец-то понял это. Проблема для меня была с моим устройством dev, а не с XCode. Я восстановил свое устройство до заводских настроек. Теперь XCode не будет зависать при подключении устройства.

Прежде чем перезагрузить устройство, я попытался просто удалить все сертификаты на устройстве. Тем не менее, XCode по-прежнему разбился. Это единственный шаг, который я предпринял для устройства перед его перезагрузкой.

22.03.12 ОБНОВЛЕНИЕ: Apple выпустила новую версию XCode сегодня. Из примечаний к выпуску:

Дополнительные исправления ошибок и улучшения стабильности

Надеюсь, это решит проблему для большинства людей.

4/11/12 ОБНОВЛЕНИЕ

У меня снова начались проблемы с XCode. Коллега предложил очистить кэш XCode для моего проекта, который был здесь для меня:

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

В этой папке запустите:

rm -r *

XCode больше не падает при подключении к моему устройству разработчика.

Это ненастоящее решение, но если вы откроете Activity Monitor, отфильтруете bash и продолжите закрывать / принудительно закрывать этот процесс, xCode придет в сознание.

Я удалил все старые сертификаты, которые не были доверенными. Даже после этого мой Xcode 4.5 завис при открытии органайзера.

Жесткий сброс Xcode решил мою проблему.

  1. Запустите свой терминал.

  2. Введите "по умолчанию удалить com.apple.Xcode" и нажмите "Enter". Это удаляет настроенные пользовательские настройки.

    Иногда, если у вас установлено более одной версии Xcode, идентификатор пакета по умолчанию может отличаться. Вы можете проверить списки идентификаторов пакетов, позволив терминалу показывать возможности, нажав кнопку Tab.

  3. Введите "rm -rf ~/Library/Application\ Support/Xcode" и нажмите "Enter". Это также удаляет папки конфигурации.

Теперь откройте Xcode, и он покажет вам страницу соглашения. Таким образом, мой Xcode работал как положено.

Я надеюсь, что это может помочь кому-то.

Я попробовал все вышеперечисленное и не смог, решение, которое я нашел, было действительно простым:

Идти к ~/Library/Developer/ внутри этой папки есть папка Xcodeвсе, что я сделал, это переименовал существующий и снова открыл Xcode, затем Xcode создал новое имя папки Xcode и все снова заработало.

Надеюсь, это поможет.

Я попытался удалить сертификаты, как предлагали другие, и даже сбросил свой брелок. Однако это никак не повлияло, и открытие органайзера всегда вызывает сбой / зависание.

Мое исправление состояло в том, чтобы удалить некоторые файлы настроек XCode. В частности, я удалил следующее:

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

Решение этой проблемы XCode, кажется, изменяется, но я не видел, чтобы кто-нибудь еще отправил это решение, таким образом, я надеюсь, что это поможет другим. Помните, что я выполнил сброс цепочки для ключей, прежде чем перейти к этому, поэтому я не исключаю сброса цепочки для ключей с этим решением.

Тоже самое. Проверьте ваши системные журналы. Для меня это кажется поддельным USB-соединением. Я вижу такие вещи в журналах (консольное приложение):

27.02.12 13: 34: 16,537 com.apple.usbmuxd: _SendAttachNotification (поток 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: Xcode (2099,0x114d85000) malloc: * ошибка для объекта 0x7fef55278cb0: освобожденный указатель не выделен

Интересно, что сразу после этого происходит процесс резервного копирования, который пытается запустить резервное копирование машины времени. Может быть связано - я буду следить за этим.

И снова здесь.. Я заметил, что мой iphone проснулся после этих сбоев - он синхронизируется через Wi-Fi.

Я думал, что это решило проблему вчера, пока я не начал работать сегодня.. Я не могу так работать.. Я уже ищу альтернативу.

Я могу заставить его рухнуть Сегодня (для чего-то отличного от Apple) Файл> Открыть> И выберите папку для программирования, где вся работа.. Увеличение! Каждый раз..

Итог: сегодня не ожидается релиз Apple App...

Если вышеуказанные решения не работают, попробуйте установить предыдущую версию вашего xcode, используя машину времени. Действительно, сработало, обновления Apple создают проблему.

У меня была такая же ошибка в Xcode 5.0 всякий раз, когда я переходил на вкладку Устройства Решение было найдено, посмотрев на Applications->Utilities->Console, Он пытался записать в базу данных журналов устройства только для чтения, что означало, что он не может создать экземпляр объектной модели (ORM) и контекста для этой базы данных. Описание сбоя было "Невозможно выполнить операцию без контекста управляемого объекта".

Удаление ~/Library/Developer/Xcode/iOS Device Logs/* а также ~/Library/Developer/Xcode/iOS Device Logs*.db означало, что он воссоздает (теперь пустой) файл.db при запуске с правами доступа, и теперь все работает нормально.

Другие вопросы по тегам