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

iOS WidgetKit无法加载Assets.xcassets中部分图片问题咨询

问题描述

将图片存放在Assets.xcassets资源目录中,尝试在Widget视图内加载对应图片。为保障小组件可正常调用资源,已为所有相关图片设置了小组件扩展的目标成员资格。

当前异常表现为:HalloweenOne、HalloweenTwo、HalloweenThree等部分图片无法正常加载,所有图片大小均在10kb以下,且该批次所有图片在主App中均可正常加载。

相关加载代码:

Image("HalloweenOne")
    .resizable()
    .aspectRatio(contentMode: .fit)
    .frame(maxWidth: 50)

异常场景截图:
异常场景截图

解决方案
  • 显式指定小组件的资源包加载。小组件的资源包与主App相互独立,默认Image初始化查找资源时可能出现上下文偏差,修改代码如下即可:
// 替换参数为你小组件中任意一个属于小组件扩展Target的类即可,通常用TimelineProvider类
Image("HalloweenOne", bundle: .init(for: WidgetProvider.self))
    .resizable()
    .aspectRatio(contentMode: .fit)
    .frame(maxWidth: 50)
  • 检查资源渲染模式设置。在Xcode的Assets.xcassets面板选中加载失败的图片,右侧属性栏将「Render As」属性修改为Original Image,避免图片被当作模板图跟随Tint色显示导致异常。
  • 清理Xcode构建缓存后重新编译。增量编译偶尔会出现资源打包遗漏的情况,按住Option点击顶部菜单栏「Product」→「Clean Build Folder」,删除测试设备上的旧应用后重新运行即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.12 22:27:00