You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用actool编译tvOS的Assets.xcassets时App图标与Top Shelf图片缺失

tvOS Assets.xcassets编译后App图标与Top Shelf图片未包含在Assets.car中(Xcode 16.1)

问题详情

我使用以下actool命令编译tvOS的Assets.xcassets资源:

执行命令

xcrun actool --compile "/Users/abc/Desktop/ACToolTest/Output" "/Users/abc/Desktop/ACToolTest/Assets.xcassets" --platform appletvos --minimum-deployment-target "12.0" --app-icon "App Icon & Top Shelf Image" --launch-image "Launch Image" --output-partial-info-plist "/Users/abc/Desktop/ACToolTest/Output/out.plist" "/Users/abc/Desktop/ACToolTest/Output"

终端返回结果

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>com.apple.actool.compilation-results</key>
    <dict>
        <key>output-files</key>
        <array>
            <string>/Users/abc/Desktop/ACToolTest/Output/Assets.car</string>
            <string>/Users/abc/Desktop/ACToolTest/Output/out.plist</string>
        </array>
    </dict>
</dict>
</plist>

异常情况

命令成功生成Assets.car和out.plist,但Assets.car中未包含App图标与Top Shelf图片(其他图标正常),out.plist无错误信息。该命令在Xcode 15.4 + macOS 14.5 / M2环境下可正常运行。

系统与环境信息

  • 设备:MacBook Pro / M1 Pro / 16GB / 16英寸 / 2021款
  • 系统:macOS 15.1 (24B83)
  • Xcode:16.1 (16B40)

前置操作

已将Assets.xcassets放置在/Users/abc/Desktop/ACToolTest/路径下,并提前创建Output文件夹。


可能的解决方法

1. 修正actool参数冗余

命令末尾重复添加了Output路径,可能导致参数解析异常。修改后的命令:

xcrun actool --compile "/Users/abc/Desktop/ACToolTest/Output" "/Users/abc/Desktop/ACToolTest/Assets.xcassets" --platform appletvos --minimum-deployment-target "12.0" --app-icon "App Icon & Top Shelf Image" --launch-image "Launch Image" --output-partial-info-plist "/Users/abc/Desktop/ACToolTest/Output/out.plist"

2. 验证资源目录结构与配置

  • 确认App Icon & Top Shelf Image.appiconset下所有必填尺寸的图片已正确添加,文件名符合tvOS规范(如AppIcon60x60@2x.png、TopShelfImage1920x720@2x.png)
  • 检查目录内的.contents.json文件,确保所有条目的idiom、scale、size属性配置正确,无缺失或错误

3. 添加Xcode 16适配参数

Xcode 16对actool逻辑可能有更新,尝试关闭按需资源编译:

xcrun actool --compile "/Users/abc/Desktop/ACToolTest/Output" "/Users/abc/Desktop/ACToolTest/Assets.xcassets" --platform appletvos --minimum-deployment-target "12.0" --app-icon "App Icon & Top Shelf Image" --launch-image "Launch Image" --output-partial-info-plist "/Users/abc/Desktop/ACToolTest/Output/out.plist" --enable-on-demand-resources NO

4. 清理缓存后重新编译

  • 删除Output目录下所有文件
  • 清理Xcode缓存:执行rm -rf ~/Library/Caches/com.apple.dt.Xcode
  • 重新运行修正后的命令

5. 单独编译目标资源

尝试单独编译App Icon与Top Shelf资源,排查是否存在资源冲突:

xcrun actool --compile "/Users/abc/Desktop/ACToolTest/Output" "/Users/abc/Desktop/ACToolTest/Assets.xcassets/App Icon & Top Shelf Image.appiconset" --platform appletvos --minimum-deployment-target "12.0" --output-partial-info-plist "/Users/abc/Desktop/ACToolTest/Output/icon-out.plist"

若此命令能生成包含图标的Assets.car,说明原命令存在参数解析或资源冲突问题。

内容的提问来源于stack exchange,提问作者MD.

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.16 04:17:27