2015-12-16 3 views
22

Когда я запускаю свою игру SpriteKit, я получаю эту ошибку несколько раз в консоли. Насколько я могу судить (хотя я не совсем уверен), сама игра не затронута, но ошибка может иметь некоторые другие последствия, а также переполнять консоль отладки.CUICatalog: Invalid Request: запрос подтипа без указания идиомы (откуда он исходит и как его исправить?)

Я провел некоторое исследование ошибки и нашел несколько возможных решений, ни одна из которых, похоже, полностью не работала. Эти решения включают поворот ignoresSiblingOrder до false и указание текстур как SKTextureAtlas(named: "atlasName").textureNamed("textureName"), но это не сработало.

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

let Texture = SKTextureAtlas(named: "character").textureNamed("\character1") 
    character = SKSpriteNode(texture: Texture) 

также:

let Atlas = SKTextureAtlas(named: "character") 
    var Frames = [SKTexture]() 

    let numImages = Atlas.textureNames.count 

    for var i=1; i<=numImages; i++ { 
     let textureName = "character(i)" 
     Frames.append(Atlas.textureNamed(textureName)) 
    } 
    for var i=numImages; i>=1; i-- { 
     let TextureName = "character(i)" 
     Frames.append(Atlas.textureNamed(textureName)) 
    } 


    let firstFrame = Frames[0] 
    character = SKSpriteNode(texture: firstFrame) 

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

Для всех моих других спрайт-узлов я инициализирую SKSpriteNode(imageNamed: "imageName") с именем изображения из каталога активов, но не внутри атласа текстуры. Все изображения имеют версии @ 1x, @ 2x и @ 3x.

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

Это просто ошибка с комплектом спрайтов или законная ошибка с моим кодом или активами?

Спасибо!

+1

Эта ошибка остается в версии Xcode 7.3 Beta. C'mon Apple –

+0

Это «уходит», если загружать текстуры непосредственно из атласов, а не с помощью 'initWithImagedNamed: @" somestring "и тому подобное. – Jonny

ответ

18

У меня тоже есть эта ошибка. На мой взгляд, это ошибка Xcode 7.2, а не ваша ошибка. Я обновил Xcode в середине создания приложения, и это сообщение начинает постоянно появляться на консоли. Согласно ссылкам this и that, вам здесь нечего бояться.

+0

Спасибо за информацию. Я просто проигнорирую это, так как это не влияет на приложение. Как замечание, я думаю, что вы правы в том, что это ошибка с Xcode 7.2, поскольку я только что обновился, и это касается того, когда я начал видеть ошибку. Благодаря! –

+0

Ссылки на самом деле пытаются решить проблему, стоит ли игнорировать проблему и ждать исправления? Я действительно не хочу реорганизовать свой код вокруг ошибки. – 3366784

+3

Другая жертва после 7.2 обновления – Tony

3

продукта> Clean

, кажется, сделать трюк.

Ошибка, кажется, начинает появляться, когда вы удаляете элемент из каталога активов, но его ссылка все еще остается где-то в коде. (В моем случае это был объект космического корабля по умолчанию, который я удалил.)

+1

Не работал для меня. Xcode 7.3 beta 3 – Shades

+1

Не работает для меня ни в XCode 7.2.1 – NDB

+1

Я удалил объект космического корабля из Assets.xcassets, очистил проецируемый и удалил CUICatalog: Invalid Request: запрос подтипа без указания ошибок идиомы, которые я получал. (XCode 7.2.1) – brilliantairic

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