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

如何将iPhone Watch应用中WidgetKit复杂功能的异常名称改为应用名?

解决watchOS WidgetKit复杂功能在iPhone端显示异常名称的问题

问题描述

在Xcode 14环境下开发watchOS 9的WidgetKit复杂功能,功能运行正常,但iPhone端Watch应用中该复杂功能的名称显示为COMPLICATION_TYPE_EDIT_LABEL_(NULL)_COMPANION,需要将其修改为自定义应用名称。

复现步骤

  • 在Xcode 14中创建新项目
  • 添加Watch App目标
  • 添加watchOS Widget Extension目标

解决方案

方法1:通过Widget配置代码设置显示名称

在Widget Extension的主代码文件(通常命名为XXXWidget.swift)中,修改ComplicationConfiguration的初始化参数,明确指定自定义显示名称:

struct YourWidget: Widget {
    let kind: String = "YourWidget"

    var body: some WidgetConfiguration {
        ComplicationConfiguration(
            displayName: "你的自定义名称", // 这里填写想要显示的名称
            supportedFamilies: [.circularSmall, .modularSmall, .utilitarianSmall, .modularLarge, .utilitarianLarge]
        ) { entry in
            YourWidgetEntryView(entry: entry)
        }
    }
}

方法2:通过Info.plist配置显示名称

  1. 打开Widget Extension目标的Info.plist文件
  2. 展开NSExtension -> NSExtensionAttributes节点
  3. 添加新的键值对:
    • 键:CLKComplicationDisplayName
    • 值:输入你想要显示的自定义名称

方法3:本地化显示名称(多语言场景)

如果需要支持多语言显示,创建本地化的InfoPlist.strings文件:

  1. 在Widget Extension目标中新建Strings文件,命名为InfoPlist.strings
  2. 为需要支持的语言开启本地化(比如中文、英文)
  3. 在对应语言的InfoPlist.strings文件中添加:
"CLKComplicationDisplayName" = "你的自定义名称";

完成以上任一操作后,重新编译部署应用,iPhone端Watch应用中的复杂功能名称就会显示为你设置的自定义内容。

内容的提问来源于stack exchange,提问作者Kamal Kumar Lakshmanan

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.17 10:15:28