【问题标题】:CUICatalog: Invalid Request: requesting subtype without specifying idiom (Where is it coming from and how to fix it?)CUICatalog:无效请求:请求子类型而不指定成语(它来自哪里以及如何修复它?)
【发布时间】:2016-03-22 00:12:01
【问题描述】:

当我运行我的 SpriteKit 游戏时,我在控制台中多次收到此错误。据我所知(虽然我不完全确定),游戏本身不受影响,但该错误可能还有其他一些影响,以及拥挤的调试控制台。

我对该错误进行了一些研究,并找到了一些可能的解决方案,但似乎都没有完全奏效。这些解决方案包括将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 版本。

我不确定错误消息是否还有其他可能的来源,或者上面的示例是否是错误的来源。

这只是精灵套件的错误,还是我的代码或资产的合法错误?

谢谢!

【问题讨论】:

  • 这个错误仍然存​​在于 Xcode 7.3 Beta 中。来吧苹果
  • 如果直接从地图集中加载纹理,而不是通过使用 initWithImagedNamed:@"somestring" 和类似方法,这确实会“消失”。

标签: swift sprite-kit asset-catalog sktexture sktextureatlas


【解决方案1】:

我也有这个错误。在我看来,这是 Xcode 7.2 的错误,而不是你的错。我在制作应用程序的过程中更新了 Xcode,并且此消息开始不断出现在控制台中。根据thisthat 链接,您在这里没有什么好害怕的。

【讨论】:

  • 感谢您的信息。我会忽略它,因为它不会影响应用程序。附带说明一下,我认为您认为它是 Xcode 7.2 的错误是正确的,因为我刚刚更新,这就是我开始看到错误的时候。谢谢!
  • 链接实际上试图解决问题,忽略问题并等待修复是个好主意吗?我真的不想围绕一个错误重构我的代码。
  • @3366784 什么问题?我相信这是一个错误,今天我有这个“问题”的应用程序被批准并发布了。它工作得很好,所以我认为忽略它是完全安全的
  • 我也有这个问题,只是在 iPhone 上(不是在 iPad 上)
  • @Burundanga 我的意思是警告而不是问题。
【解决方案2】:

产品 > 清洁

似乎可以解决问题。

当您从资产目录中删除项目时,错误似乎开始弹出,但它的引用仍然隐藏在某处的代码中。 (就我而言,这是我删除的默认飞船资产。)

【讨论】:

  • 我从 Assets.xcassets 中删除了宇宙飞船资产,清理了投影,并删除了 CUICatalog:无效请求:请求子类型而不指定我遇到的成语错误。 (XCode 7.2.1)
猜你喜欢
  • 2016-02-14
  • 1970-01-01
  • 2019-12-28
  • 1970-01-01
  • 1970-01-01
  • 2010-09-16
  • 1970-01-01
  • 2021-08-21
  • 1970-01-01
相关资源
最近更新 更多