Xcode 9 GM - сбой экспорта и загрузки в App Store

Я пытаюсь загрузить свое приложение, использующее ARKit (сборка Unity), в iTunes Connect для распространения TestFlight. При экспорте и загрузке в магазин приложений из Xcode -> Organizer я вижу сбой в разделе «Отключение расширенных атрибутов для APPNAME.app».

Я проверил все настройки биткода и символов вкл/выкл, подписывание автоматически, вручную. Целью развертывания моего проекта является iOS 10, так как 11 установить нельзя. Я также попробовал выполнить следующие шаги из аналогичной темы (https://forums.developer.apple.com/thread/83219) и добавил значок App Store 1024 в Images.xcassets.

Любые идеи, почему Xcode дает сбой?

Снимок экрана непосредственно перед сбоем: Снимок экрана непосредственно перед сбоем

Отчет о сбое:

Process:               Xcode [10862]  
Path:                  /Applications/Xcode-9b6.app/Contents/MacOS/Xcode  
Identifier:            com.apple.dt.Xcode  
Version:               9.0 (13238.4)  
Build Info:            IDEFrameworks-13238004000000000~11  
Code Type:             X86-64 (Native)  
Parent Process:        ??? [1]  
Responsible:           Xcode [10862]  
User ID:               501  


Date/Time:             2017-09-10 14:56:10.196 +0100  
OS Version:            Mac OS X 10.12.6 (16G29)  
Report Version:        12  
Anonymous UUID:        FD8390BC-9E7B-969D-15A2-22A8DBBD050D  




Time Awake Since Boot: 16000 seconds  


System Integrity Protection: enabled  


Crashed Thread:        17  Dispatch queue: ConcurrentQueue: -[IDEDistributionPackagingStepViewController viewDidInstall]_block_invoke  


Exception Type:        EXC_BAD_ACCESS (SIGSEGV)  
Exception Codes:       KERN_INVALID_ADDRESS at 0x0000000000000020  
Exception Note:        EXC_CORPSE_NOTIFY  


Termination Signal:    Segmentation fault: 11  
Termination Reason:    Namespace SIGNAL, Code 0xb  
Terminating Process:   exc handler [0]  


VM Regions Near 0x20:  
-->  
    __TEXT                 0000000103625000-0000000103627000 [    8K] r-x/rwx SM=COW  /Applications/Xcode-9b6.app/Contents/MacOS/Xcode  


Application Specific Information:  
ProductBuildVersion: 9M214v  


Thread 0:: Dispatch queue: com.apple.main-thread  
0   libsystem_kernel.dylib         0x00007fffbb90634a mach_msg_trap + 10  
1   libsystem_kernel.dylib         0x00007fffbb905797 mach_msg + 55  
2   com.apple.CoreFoundation       0x00007fffa6037434 __CFRunLoopServiceMachPort + 212  
3   com.apple.CoreFoundation       0x00007fffa60368c1 __CFRunLoopRun + 1361  
4   com.apple.CoreFoundation       0x00007fffa6036114 CFRunLoopRunSpecific + 420  
5   com.apple.HIToolbox           0x00007fffa5596ebc RunCurrentEventLoopInMode + 240  
6   com.apple.HIToolbox           0x00007fffa5596cf1 ReceiveNextEventCommon + 432  
7   com.apple.HIToolbox           0x00007fffa5596b26 _BlockUntilNextEventMatchingListInModeWithFilter + 71  
8   com.apple.AppKit               0x00007fffa3b2fa54 _DPSNextEvent + 1120  
9   com.apple.AppKit               0x00007fffa42ab7ee -[NSApplication(NSEvent) _nextEventMatchingEventMask:untilDate:inMode:dequeue:] + 2796  
10  com.apple.dt.DVTKit           0x0000000103eb58be -[DVTApplication nextEventMatchingMask:untilDate:inMode:dequeue:] + 390  
11  com.apple.AppKit               0x00007fffa3b243db -[NSApplication run] + 926  
12  com.apple.AppKit               0x00007fffa3aeee0e NSApplicationMain + 1237  
13  libdyld.dylib                 0x00007fffbb7df235 start + 1  

Изменить

Запуск xcodebuild (через тренажерный зал fastlane) дает следующее:

+ xcodebuild -exportArchive -exportOptionsPlist /var/folders/z1/m155xvnn42s7xl7hfw3_8w5w0000gn/T/gym_config20170912-61009-190kutb.plist -archivePath '/Users/wert/Library/Developer/Xcode/Archives/2017-09-12/towerar 2017-09-12 22.06.54.xcarchive' -exportPath /var/folders/z1/m155xvnn42s7xl7hfw3_8w5w0000gn/T/gym_output20170912-61009-42bo6w
2017-09-12 22:09:04.966 xcodebuild[62085:5372649] [MT] IDEDistribution: -[IDEDistributionLogging _createLoggingBundleAtPath:]: Created bundle at path '/var/folders/z1/m155xvnn42s7xl7hfw3_8w5w0000gn/T/Unity-iPhone_2017-09-12_22-09-04.966.xcdistributionlogs'.
2017-09-12 22:09:21.584 xcodebuild[62085:5372649] [MT] IDEDistribution: Step failed: <IDEDistributionPackagingStep: 0x7fc3c75f18b0>: <IDEDistributionPackagingStep: 0x7fc3c75f18b0>
2017-09-12 22:09:21.584 xcodebuild[62085:5372649] -[__NSCFString userInfo]: unrecognized selector sent to instance 0x7fc3c74d72f0
** INTERNAL ERROR: Uncaught exception **
Uncaught Exception: -[__NSCFString userInfo]: unrecognized selector sent to instance 0x7fc3c74d72f0
Stack:
0   __exceptionPreprocess (in CoreFoundation)
1   objc_exception_throw (in libobjc.A.dylib)
2   -[NSObject(NSObject) doesNotRecognizeSelector:] (in CoreFoundation)
3   ___forwarding___ (in CoreFoundation)
4   _CF_forwarding_prep_0 (in CoreFoundation)
5   __55-[Xcode3CommandLineBuildTool _distributeArchiveAndExit]_block_invoke (in Xcode3Core)
6   -[Xcode3CommandLineBuildTool _distributeArchiveAndExit] (in Xcode3Core)
7   -[Xcode3CommandLineBuildTool run] (in Xcode3Core)
8  0x0000000104d752af (in xcodebuild)
9   start (in libdyld.dylib)

person Wojciech Rutkowski    schedule 10.09.2017    source источник
comment
Обязательно отправьте отчет об ошибке в Apple.   -  person rmaddy    schedule 11.09.2017
comment
Та же проблема с Xcode 9 GM   -  person Wojciech Rutkowski    schedule 12.09.2017
comment
Если у вас установлен Xcode 8.x, попробуйте удалить его   -  person Wain    schedule 14.10.2017


Ответы (7)


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

person Karsten    schedule 17.09.2017
comment
Я пробовал это, не повезло. Проблема была с двоичным файлом xattr (согласно принятому ответу). - person Wojciech Rutkowski; 18.09.2017
comment
Я пробовал это, но это не помогло. Есть ли более подробная информация о том, как исправить xattr на python? - person Karsten; 19.09.2017
comment
Я переустановил macOS, он исправил ошибки Python и xattr. Я попытался переустановить с помощью homebrew, но он все еще не работает. - person Wojciech Rutkowski; 19.09.2017
comment
Я пытался собрать проект на нескольких компьютерах, даже со свежеустановленной ОС. Не помогло. Затем я отменил неудачную попытку включить HockeySDK, и внезапно сбои исчезли, и все заработало. Интересно, что сломанный HockeySDK также заставил Mercurial не хотеть совершать коммиты с самыми странными сообщениями об ошибках. Оба были исправлены, когда я вернулся к предыдущей фиксации. - person Karsten; 28.09.2017

Работает ли инструмент командной строки xattr? Возможно, ваша установка Python повреждена, или если вы заменили установленный модуль xattr, вам может потребоваться переустановить предоставленный системой модуль.

person itai195    schedule 13.09.2017
comment
Спасибо за помощь в Твиттере, это решило проблему! xattr был поврежден моими предыдущими установками Python. - person Wojciech Rutkowski; 13.09.2017
comment
Пожалуйста, объясните, как исправить поврежденный xattr (если это проблема). Я сталкиваюсь с той же проблемой и ничего не делаю. - person Nishant; 27.09.2017

У меня была такая же разочаровывающая проблема, и это происходит почти весь день, Xcode 9 внезапно падает в середине процесса архивирования, что приводит к тому же отчету об ошибке.

@dangercheng дал мне представление о процессе архивирования в xcode 9, то есть ему нужна команда xattr, поэтому я проверяю команду xattr на своем macbook и каким-то образом xattr не работает. Из подробного сообщения видно, что ошибка связана с правами доступа к файлам, принадлежащими папкам/файлам внутри /Library/Python/2.7 . Каким-то образом пользователь, отличный от root, не имеет права записи (w/2) в эти файлы/папки.

Из приведенных выше фактов я пришел к выводу, что мне нужно изменить разрешение файла в этом случае chmod -R 775 и применить его ко всем папкам и их содержимому в /Library/Python/2.7. После этого мой xattr работает хорошо, и мой процесс архивации в Xcode 9 работает гладко, без сбоев.

Спасибо за всех вас, ребята

person prahata    schedule 09.10.2017
comment
Были проблемы с xattr и не удалось переустановить. Я отправляю заархивированное приложение с Xcode 8.3.3 - person Vakas; 15.10.2017

В моем случае это было связано с проблемами с правами доступа к python.

При запуске xattr из терминала у меня возникла следующая ошибка:

IOError: [Errno 13] Отказано в доступе: '/Users/cb/Library/Python/2.7/lib/python/site-packages/zc.buildout-1.5.2-py2.7.egg-info/namespace_packages.txt'

Заглянув в папку /Users/cb/Library, я обнаружил, что все папки принадлежат cb:staff (мой текущий пользователь и группа, вошедшие в систему), но Папка /Users/cb/Library/Python принадлежала root:wheel

Выполнение следующего устранит ошибку:

sudo chown -R $USER:$(id -g) /Users/$USER/Library/Python

После sudo chown вы можете снова запустить xattr для проверки. Команда xattr не должна выдавать ошибок или другого вывода.

person boraski    schedule 10.10.2017
comment
или: sudo chown -R $USER:$(id -g) /Library/Python - person Andrew Romanov; 23.10.2017

Вероятно, это не ваша вина, но сообщите об ошибке в Apple. Но когда загрузчик Xcode по какой-либо причине не работает, попробуйте старый добрый загрузчик приложений:

Xcode.app/Contents/Applications/Application Loader.app

person John Scalo    schedule 11.09.2017
comment
Чтобы использовать загрузчик приложений, вам нужно сначала иметь ipa, а экспорт не работает :( - person Wojciech Rutkowski; 11.09.2017
comment
Ой. Вы пробовали обычную чистую папку сборки, перезагрузку и т.д.? - person John Scalo; 12.09.2017
comment
Я поднял ошибку с Apple. - person Wojciech Rutkowski; 13.09.2017

запустите команду «xattr» в терминале Mac, если результат будет таким, как показано ниже:

python version 2.7.10 can't run /usr/bin/xattr.  Try the alternative(s):

/usr/bin/xattr-2.6 (uses python 2.6)
/usr/bin/xattr-2.7 (uses python 2.7)

Run "man python" for more information about multiple version support in
Mac OS X.

вы должны создать новую мягкую ссылку на «/usr/bin/xattr-2.7», выполнив следующие команды:

cd /usr/bin
sudo rm xattr
sudo ln -s xattr-2.7 xattr

это решит мою проблему!

person dangercheng    schedule 28.09.2017
comment
То же самое. Я получил решение, проверьте мой ответ stackoverflow.com/questions/46503257/ - person Vakas; 15.10.2017

Я решил свою проблему после ответа @dangercheng. Я обновил свой python до python 3.6 два дня назад. И кажется, что команда xattr была выполнена под python3.6. Однако, когда я запускаю xattr в терминале. File "/usr/bin/xattr", line 31 continue ^ TabError: inconsistent use of tabs and spaces in indentation Случилось что-то плохое! Поэтому я редактирую исходный код xattr. for i in g: vers = vpat.search(i) if vers is None: continue //add 4 space sys.stderr.write("%s (uses python %s)\n" % (i, i[vers.start():vers.end()])) n = 1

``` Python версии 3.6.3 не может запустить /usr/bin/xattr. Попробуйте альтернативу (ы):

(Ошибка: альтернатив не найдено)

Запустите "man python" для получения дополнительной информации о поддержке нескольких версий в Mac OS X. ``` еще одна ошибка!

Я предполагаю, что команда xattr должна оценивать версию python и выполнять подходящие коды, а код python3 содержит некоторую ошибку. Наконец, я меняю версию python по умолчанию на python2.7 и заменяю программную ссылку xattr на xattr-2.7. Оно работает. Внимание, когда xcodebuild выполняет команду xattr, путь к python был «/usr/bin/python». Путь "/usr/bin/python" тоже был софтлинком. Итак, я решил эту проблему после этого шага. Шаг 1: cd /usr/bin

Шаг 2: sudo rm python sudo ln -s python2.7 python

Шаг 3: sudo rm xattr sudo ln -s xattr-2.7 xattr Если вы не можете найти python2.7 в разделе «/usr/bin», найдите другой подходящий путь python, например «/Library/Frameworks/Python.framework/Versions/2.7» и т. д.

person ccwf2006    schedule 17.10.2017