【发布时间】:2021-07-09 19:17:50
【问题描述】:
几个月来,我一直在 Xcode 中开发一个应用程序。有一阵子没看它,我回来研究它,突然,我有 174 个问题。
我在情节提要上的所有图像都被问号替换,错误:
图像集 __ 有未分配的子代
在Assets.xcassets 中,所有图像都被标记为未分配:
我不知道该怎么做,因为几周前一切正常。
【问题讨论】:
几个月来,我一直在 Xcode 中开发一个应用程序。有一阵子没看它,我回来研究它,突然,我有 174 个问题。
我在情节提要上的所有图像都被问号替换,错误:
图像集 __ 有未分配的子代
在Assets.xcassets 中,所有图像都被标记为未分配:
我不知道该怎么做,因为几周前一切正常。
【问题讨论】:
在资产目录的属性检查器中,选中一些复选框,例如 Universal 或 iPhone 和 iPad。现在您将看到“1x”、“2x”和“3x”等分辨率的插槽。这些插槽是您的图像需要去的地方。
【讨论】:
我知道这是一个旧的,但最近我在合并 2 个分支并遇到冲突后遇到了这个问题。 2个问题:
您所要做的就是干净地构建您的 Xcode。远离 .xcassets。回到 .xcassets,您现在应该可以看到属性检查器了。
检查比例选项。我以前将它设置为单音阶,但现在已更改为单个音阶。将其改回后,我在图像集中得到另一行显示未分配。我只是将它拖到单个比例行。哇!
【讨论】:
您的图像集可能丢失或有损坏的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"
}
}
【讨论】:
文件名中的变音符号也会给出此警告。
【讨论】:
如果您没有时间修复 Content.json 文件,我刚刚找到了懒惰的解决方案。
1.在图片所在的同一个 Assets.xcassets 文件夹中创建一个新文件夹,说“AutoFixedImages”。
免责声明:这种破解方式在我的机器上有效,因此不能保证在其他所有机器上都有效。
【讨论】:
选择时会出现这个错误
Scales: Individual and Single Scales
作为一个变体,你可以重新导入它
【讨论】: