图像集有一个未分配的孩子

时间:2016-08-02 17:05:04

标签: ios swift xcode

我已经在Xcode上开发了几个月的应用程序了。我没有看过它一段时间后回来工作,突然间,我有174个问题,故事板上的所有图像都被问号所取代。我一直得到的错误是"图像集__有未分配的子项",而在Assets.xcassets中,所有图像都标记为未分配。 An example

我不知道该怎么做,因为几周前一切正常。任何建议将不胜感激!

6 个答案:

答案 0 :(得分:7)

在资产目录的“属性”检查器中,选中一些复选框,例如Universal或iPhone和iPad。现在,您将看到分辨率的插槽,例如" 1x"," 2x"和" 3x"。这些插槽是您的图像需要去的地方。

答案 1 :(得分:4)

我知道这是一个旧的,但是最近我合并了两个分支并遇到冲突后遇到了这个问题。 2个问题:

  1. 我收到此警告,但在属性检查器中看不到任何东西。
  2. 但是我解决了冲突,但这似乎不起作用。

所有您需要做的就是干净地构建Xcode。导航到.xcassets。回到.xcassets,您现在应该看到属性检查器。

检查比例选项。我以前将其设置为单一比例,但现在改为单个比例。改回来时,我在图像集中出现了另一行,指出未分配。我只是将其拖到单个刻度行。和woila!

答案 2 :(得分:2)

您的图像集很可能丢失或损坏的Contents.json文件。

每个图像集包含一个Contents.json文件。要查看图像集中是否有一个,请右键单击图像集,然后单击“在Finder中显示”。您应该会看到图像和一个Contents.json文件。

Contents.json文件的此问题可能是由于在Xcode之外修改,移动或添加图像(例如通过Finder)引起的。

您可以通过在Xcode中重新添加资产或手动创建文件来重新创建Contents.json文件。它应该类似于:

{
  "images" : [
    {
      "idiom" : "universal",
      "filename" : "image.png",
      "scale" : "1x"
    },
    {
      "idiom" : "universal",
      "filename" : "image@2x.png",
      "scale" : "2x"
    },
    {
      "idiom" : "universal",
      "filename" : "image@3x.png",
      "scale" : "3x"
    }
  ],
  "info" : {
    "version" : 1,
    "author" : "xcode"
  }
}

答案 3 :(得分:0)

文件名中的变音符号也会发出此警告。

答案 4 :(得分:0)

如果您没有时间修复 Content.json 文件,我刚刚找到了懒惰的解决方案。

1.在图像所在的同一个 Assets.xcassets 文件夹中创建一个新文件夹,上面写着“AutoFixedImages”。

  1. 选择所有带有黄色⚠️抱怨未分配孩子的图像
  2. 将它们拖到新文件夹
  3. Command + S 保存。
  4. 就是这样!

免责声明:这种 hack 方式在我的机器上有效,因此不能保证在所有其他机器上都有效。

答案 5 :(得分:0)

选择时可能会出现此错误

Scales: Individual and Single Scales

作为变体,您可以重新导入它