2016-10-02 6 views
8

Итак, у меня есть xcassets, который используется совместно с несколькими приложениями. Я развиваюсь с помощью Xcode8 в Mac Mini с установленной MacOs Sierra. Если я компилирую и запускаю на машине разработки, нет никакой проблемы. Однако, когда я пытаюсь запустить его в устройстве с OSX Mavericks, я получаю сбой. Вот след в докладеЗагрузка NSImage с изображениемNamed из xcassets сбой в старых версиях osx

Thread 0 Crashed:: Dispatch queue: com.apple.main-thread 
0 libsystem_kernel.dylib   0x00007fff887dc866 __pthread_kill + 10 
1 libsystem_pthread.dylib   0x00007fff87a3935c pthread_kill + 92 
2 libsystem_c.dylib    0x00007fff88614bba abort + 125 
3 libsystem_c.dylib    0x00007fff885dea5f __assert_rtn + 321 
4 com.apple.coreui    0x00007fff875aa1a7 CUIRenditionKeySetValueForAttribute + 307 
5 com.apple.coreui    0x00007fff875a9004 -[CUIStructuredThemeStore _canGetRenditionWithKey:isFPO:lookForSubstitutions:] + 200 
6 com.apple.coreui    0x00007fff875a8f1b -[CUIStructuredThemeStore canGetRenditionWithKey:] + 22 
7 com.apple.coreui    0x00007fff875c4eab -[CUICatalog _resolvedRenditionKeyForName:scaleFactor:deviceIdiom:deviceSubtype:] + 291 
8 com.apple.coreui    0x00007fff875c4c53 -[CUICatalog imageWithName:scaleFactor:deviceIdiom:deviceSubtype:] + 29 
9 com.apple.AppKit    0x00007fff88820b1b +[NSImage _catalogImageWithName:bundle:] + 132 
10 com.apple.AppKit    0x00007fff8881aefd +[NSImage imageNamed:] + 261 

Если удалить изображение из xcassets и включить его «по отдельности» в пачке в приложениях ее сбросив его в проект приложения Навигатора загружает только штраф. Но я хотел бы избежать этого, если это возможно, так как чище иметь общие изображения только в одном xcasset.

Любые мысли или идеи? Заранее спасибо.

ответ

8

я мог обойти эту ошибку, следуя этот обходной путь предоставленного Apple для устройств IOS, 7:

Чтобы обойти эту проблему, обновление цели развертывания для прошивки 8.0 или выше, или добавить одно изображения, чтобы каталог активов, который содержит по меньшей мере пять атрибутов, указанных в наборе изображений, например: масштаб (1x, 2x, 3x) идиома (добавить iPad, iPhone и универсальный ресурс) (слева вправо, справа налево) ширина/высота класса (любой & компактный, и поэтому вперед) память (добавить ресурс 1 ГБ) графика (добавить Металл 1 v2). не обязательно использовать изображение в коде или добавить все эти атрибуты . (27852391)

Вот как это манекен ImageSet выглядит следующим образом:

Dummy imageset

+1

Самые черной магия решения я видел эту осень. +1 – codrut

 Смежные вопросы

  • Нет связанных вопросов^_^