资产目录编译 (actool) 在 Xcode 11.4 中失败
Asset Catalog Compiling (actool) fails in Xcode 11.4
运行 在编译纹理集设置为 data
的资产目录时出现此错误。
Assertion failed: (maxCountIncludingZeroTerminator > 0 && tokenCount < maxCountIncludingZeroTerminator), function CUIRenditionKeyCopy, file /AppleInternal/BuildRoot/Library/Caches/com.apple.xbs/Sources/CoreUI/CoreUI-609.4/CoreTheme/ThemeStorage/CUIThemeRendition_Support.m, line 849.
Command CompileAssetCatalog failed with a nonzero exit code
项目非常简单:https://drive.google.com/file/d/1zyt5_0MV2BYfb4H2aLGbRO3L-eC3a4to/view?usp=sharing
该项目实际上是一个空的 macOS 项目,其资产目录具有单个纹理集和单个纹理。
将解释设置为 color
可以修复此问题,但这不是很有用。也可以将目标更改为 10.14,但在其他地方出错。
这是资产目录树
Textures.xcassets
├── Contents.json
└── Texture.textureset
├── Contents.json
└── Universal.mipmapset
├── Contents.json
└── chest-color.png
Textures.xcassets/Content.json
{
"info" : {
"author" : "xcode",
"version" : 1
}
}
Textures.xcassets/Texture.textureset/Content.json
{
"info" : {
"author" : "xcode",
"version" : 1
},
"properties" : {
"interpretation" : "data"
},
"textures" : [
{
"filename" : "Universal.mipmapset",
"idiom" : "universal"
}
]
}
Textures.xcassets/Texture.textureset/Universal.mipmapset/Contents.json
{
"info" : {
"author" : "xcode",
"version" : 1
},
"levels" : [
{
"filename" : "chest-color.png",
"mipmap-level" : "base"
}
]
}
更新:看起来可能是工具问题?就像我提到的设置为 10.14 会导致构建资产目录?
更新 1:使用 Apple 创建的工单 #FB7647328
从 Xcode v11.4.1 开始,针对 10.15 的 MacOS 应用程序已修复此问题。
编辑:
安装 Xcode 11.4.1 后,您可能需要删除以下文件夹中的 files/folders 并重新启动 Xcode:
~/Library/Developer/Xcode/DerivedData/
并且可能:
~/Library/Developer/Xcode/iOS DeviceSupport/
运行 在编译纹理集设置为 data
的资产目录时出现此错误。
Assertion failed: (maxCountIncludingZeroTerminator > 0 && tokenCount < maxCountIncludingZeroTerminator), function CUIRenditionKeyCopy, file /AppleInternal/BuildRoot/Library/Caches/com.apple.xbs/Sources/CoreUI/CoreUI-609.4/CoreTheme/ThemeStorage/CUIThemeRendition_Support.m, line 849.
Command CompileAssetCatalog failed with a nonzero exit code
项目非常简单:https://drive.google.com/file/d/1zyt5_0MV2BYfb4H2aLGbRO3L-eC3a4to/view?usp=sharing
该项目实际上是一个空的 macOS 项目,其资产目录具有单个纹理集和单个纹理。
将解释设置为 color
可以修复此问题,但这不是很有用。也可以将目标更改为 10.14,但在其他地方出错。
这是资产目录树
Textures.xcassets
├── Contents.json
└── Texture.textureset
├── Contents.json
└── Universal.mipmapset
├── Contents.json
└── chest-color.png
Textures.xcassets/Content.json
{
"info" : {
"author" : "xcode",
"version" : 1
}
}
Textures.xcassets/Texture.textureset/Content.json
{
"info" : {
"author" : "xcode",
"version" : 1
},
"properties" : {
"interpretation" : "data"
},
"textures" : [
{
"filename" : "Universal.mipmapset",
"idiom" : "universal"
}
]
}
Textures.xcassets/Texture.textureset/Universal.mipmapset/Contents.json
{
"info" : {
"author" : "xcode",
"version" : 1
},
"levels" : [
{
"filename" : "chest-color.png",
"mipmap-level" : "base"
}
]
}
更新:看起来可能是工具问题?就像我提到的设置为 10.14 会导致构建资产目录?
更新 1:使用 Apple 创建的工单 #FB7647328
从 Xcode v11.4.1 开始,针对 10.15 的 MacOS 应用程序已修复此问题。
编辑: 安装 Xcode 11.4.1 后,您可能需要删除以下文件夹中的 files/folders 并重新启动 Xcode:
~/Library/Developer/Xcode/DerivedData/
并且可能:
~/Library/Developer/Xcode/iOS DeviceSupport/