2016-06-14 5 views
41

Я загрузил бета-файл Xcode 8 .xip. Я не могу распаковать. Открытие файла просто сидит там в течение нескольких часов, говоря «Проверка ...»«Подпись на конец центральной директории не найдена». при установке Xcode 8 beta xip file

Если я пытаюсь из командной строки я получаю следующее ...

Downloads unzip Xcode_8_beta.xip 
Archive: Xcode_8_beta.xip 
    End-of-central-directory signature not found. Either this file 
    is not a zipfile, or it constitutes one disk of a multi-part archive.   

    In the latter case the central directory and zipfile comment will be 
    found on the last disk(s) of this archive. unzip: cannot find 
    zipfile directory in one of Xcode_8_beta.xip or Xcode_8_beta.xip.zip, 
    and cannot find Xcode_8_beta.xip.ZIP, period. 
+5

Попробуйте загрузить файл еще раз. Похоже, что это испорчено. Можете ли вы сравнить свой хэш против одного на сайте загрузки? – TylerH

+1

Проверьте версию OSX, которая должна быть последней версией версии xcode w.r.t. – kamleshwar

+0

Xcode_8_beta_6 требуется только обновление до OSX 10.11.5, у меня было 15 ГБ свободного дискового пространства. –

ответ

29

Файл XIP (выдержка на месте) просто специальный архив, который проверяет unarchive с Apple. В 2014 году MacBook Pro i7 для извлечения бинарных файлов Xcode 8 потребовалось более 30 минут. Если файл не достиг значительного прогресса после почти часа, перезагрузите архив и попробуйте извлечь его снова.

Кроме того, для бета-тестирования Xcode 8.0 требуется Mac с MacOS 10.11.4 или новее. Убедитесь, что ваша системная версия поддерживается.

Xcode 8 Beta 2 Примечание: MacOS 10.11.5 или более поздней версии требуется для установки Beta 2.

+3

Оказывается, мне не хватало обновления El Capitan, который не позволил бы мне двигаться вперед и никогда не выдавал ошибку. –

+0

@chrisP ah good call, я добавлю эту информацию в свой ответ, чтобы потенциально помочь будущим посетителям. – JAL

+0

потребовалось всего 2 минуты на MacBook Pro версии 2.9Ghz 2015 года. – sleepwalkerfx

57

Формат .xip Файл содержит архив (Xar, содержащий архив GZIP и метаданные) и подпись архива. Подпись важна, так как ранее загрузки Xcode были изменены (например, XcodeGhost), чтобы внедрить вредоносный код в приложения. Поэтому такие подходы, как пропуская проверку (xattr -d com.apple.quarantine Xcode_8_beta.xip), кажутся безответственными.

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

Если вы хотите, чтобы исследовать ли .xip валидно подписан или по каким-либо причинам вы хотите, чтобы развернуть его без архива утилиты, вы можете использовать pkgutil:

pkgutil --check-signature Xcode_8_beta.xip 

Выходной сигнал должен быть чем-то вроде этого:

Package "Xcode_8_beta.xip": 
     Status: signed Apple Software 
     Certificate Chain: 
     1. Software Update 
      SHA1 fingerprint: 1E 34 E3 91 C6 44 37 DD 24 BE 57 B1 66 7B 2F DA 09 76 E1 FD 
      ----------------------------------------------------------------------------- 
     2. Apple Software Update Certification Authority 
      SHA1 fingerprint: FA 02 79 0F CE 9D 93 00 89 C8 C2 51 0B BC 50 B4 85 8E 6F BF 
      ----------------------------------------------------------------------------- 
     3. Apple Root CA 
      SHA1 fingerprint: 61 1E 5B 66 2C 59 3A 08 FF 58 D1 4A E2 24 52 D1 98 DF 6C 60 

Если эта подпись не подписана центром сертификации Apple Root CA, находящимся в вашей брелках, вам, вероятно, следует остановиться прямо там. Если все хорошо до сих пор, вы можете выполнить следующие команды:

xar -xf Xcode_8_beta.xip 
sudo tar zxvf Content 
+1

Вы уверены, что 'xattr -d com. apple.quarantine' пропускает проверку? Я сомневаюсь, что подпись должна быть в архиве. Также я не думаю, что вам нужно вызывать tar через sudo. – Zorg

+3

Archive Util был единственным решением, которое сработало для меня. благодаря! – gutte

+0

Мне пришлось пропустить проверку, чтобы расстегнуть ее. Shrugs. (pkgutil shoed это была действительная подпись) –

5

Открыть терминал

1.cd сопротивление уроните Xcode (для пути), а затем введите

2.xattr -d com.apple.quarantine Xcode-beta.xip введите

+2

Это полностью обходит проверку подписи в файле xip, превзойдя цель этого формата архива. – sgonzalez

+7

@sgonzalez Да ... хорошо, некоторые из нас должны работать в какой-то момент. Хотелось бы, чтобы Apple могла развернуть материал таким образом, чтобы не требовать, чтобы я обрушился на 4 часа, прежде чем ЛИТЕРАТУРУ ВСЕ, что я пытаюсь сделать. Но, возможно, отказ от ответственности был бы хорош. – mpowered

+0

+1 к этому. У меня такое чувство, что я буду нуждаться в нем чаще в будущем. В чем причина ожидания 30 минут просмотра «проверки архива»? –

0

У меня была такая же проблема, хотя я работал с последним el capitan (10.11.5). Основываясь на комментарии Chris P, я переустановил OS X из Recovery (https://support.apple.com/en-us/HT204904), а затем все сработало. Очевидно, что что-то не было установлено правильно в одном из моих предыдущих обновлений из App Store.

2

Перезагрузка моей системы - это то, что сработало для меня.

0

Я получаю эту ошибку, и я сделал следующее:

Простой способ обновить Mac OS X версии 10.11.5 и попытаться распаковать файл, используя архиватор, и он будет извлечь файл «XIP» ,

Я обновил свой mac os, и это помогло мне. Я смог избавиться от разархивированной ошибки.

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

+0

Точно! Конфигурация - для бета-версии Xcode 8 требуется Mac с MacOS Sierra beta 3 или новее или OS X El Capitan 10.11.5 или новее. –

2

Я также получаю эту ошибку

  1. я обновить Mac OS X версии до 10.11.6. я думаю, что 10.11.4 - это минимальная версия OS x , на которой будет запускаться Xcode 8.

  2. Убедитесь, что 40 Гб минимальное пространство для распаковки Xcode_8_beta_5.xip или Xcode_8_beta_2.xip

затем разархивировать его. Эта версия Xcode займет больше места, чем остальные.

0

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

30

Я не уверен, почему у Archive Utility столько проблем с этими архивами, но до тех пор, пока ваша загрузка не повреждена, извлечение пакета приложения вручную работает для меня последовательно. Кстати, я на семена 10.12 GM (16A320).

Xcode.app расслоение внутри архива CPIO, который xz «д, а затем набивали в v2 (т.е. Йосемитская) PBZX поток (как полезных нагрузок в Йосемитской/Sierra установки пакетов). Этот результирующий поток - это то, что связано с некоторыми метаданными, а затем подписано для распространения. Вытащить из этого беспорядка не сложно, но это требует немного усилий.

(Если вы хотите, чтобы увидеть, как это выглядит, here's a recording меня делать это только сейчас, в комплекте с размерами файлов и сертификатов SHA1 хэшей.)

  1. Проверка подписи и цепочки сертификатов, выдавшую архив.

    pkgutil --verbose --check-signature ./Xcode_8_GM_seed.xip 
    
  2. Извлеките поток PBZX из архива.

    xar -xf ./Xcode_8_GM_seed.xip 
    
  3. получить PBZX v2 распаковщик и ... распаковать упакованный материал.

    curl -O https://gist.githubusercontent.com/pudquick/ff412bcb29c9c1fa4b8d/raw/24b25538ea8df8d0634a2a6189aa581ccc6a5b4b/parse_pbzx2.py 
    python parse_pbzx2.py Content 
    
  4. Распакуйте архив (там должен быть только один кусок, "part00").

    xz -d Content.part00.cpio.xz 
    
  5. Распакуйте архив CPIO как привилегированный пользователь (так как рамки устройства имеют странные символические ссылки, которые делают cpio жалуются иначе, и он должен принадлежать корню в любом случае) и переместите полученное Xcode приложения свертки в /Applications.

    sudo cpio -idm < ./Content.part00.cpio 
    sudo mv ./Xcode.app /Applications/ 
    

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

+6

Спасибо. Также после шага 3. вы можете использовать приложение «Unarchiver» для распаковки Content.part00.cpio.xz. – krafter

+2

Если у вас нет инструмента xz в вашей системе, как это случилось со мной, вы можете заменить шаг 4 на «sudo cpio -izmdu 0 konran

+0

Я вижу кучу ошибок после выполнения «sudo cpio - izmdu 0 NinjaCoder

0

Система перезагрузки работала для меня. Пожалуйста, проверьте это.Или попробуйте закрыть все приложения, Xcode, симулятор и все. Убедитесь, что Mac OS 10.11.5 и далее.

0

Использование

Вот что я сделал:

  • Извлечен на 10.12 с использованием утилиты архива
  • Скопировано Xcode-beta.app в 10.11
  • Xcode-beta.app похоже работает нормально 10.11.

На El Capitan утилита архива зависает, когда я пытаюсь извлечь тот же загруженный .xip-файл, который извлекается на macOS Sierra с помощью утилиты архива.

4

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

enter image description here