How to Edit Complication name in Watch app of iPhone?

I am trying to create a WidgetKit based complication for watchOS 9 on XCode 14. Everything works fine but the Complication name in the Watch app of the iPhone shows COMPLICATION_TYPE_EDIT_LABEL_(NULL)_COMPANION

How do I change it to display my app's name?

Steps to reproduce : Create a new project on Xcode 14 -> Add new Watch App Target -> Add new Widget Extension target for watchOS.

As always, if you're seeing what you think is a bug, please file Feedback! Even if it gets duped to an existing issue, it tells us that you care, and it counts as a VOTE for that issue.

https://feedbackassistant.apple.com

Thanks!

There is a solution. It comes from ClockKit framework. It’s not mentioned in new APIs, but it works.

In your watchOS target create file ComplicationController.swift with the following content:

import ClockKit

class ComplicationController: NSObject, CLKComplicationDataSource {
    func complicationDescriptors() async -> [CLKComplicationDescriptor] {
        [CLKComplicationDescriptor(
            identifier: "yourBundleID”,
            displayName: "Your app name",
            supportedFamilies: CLKComplicationFamily.allCases)]
    }
    func currentTimelineEntry(for complication: CLKComplication) async -> CLKComplicationTimelineEntry? { nil }
}

Then add this field in the Info.plist of watchOS target:

key: ClockKit Complication - Principal Class, value: $(PRODUCT_MODULE_NAME).ComplicationController (String type)

I hope there will be a better solution later on.

I have filed a bug report in Feedback Assistant. Will update here if I get any updates.

I came across your post when’s searching for my own related question. Can I rename a non-custom app complication? For example, Just Press Record to Record. It looks silly on my watch and it’s unnecessary.

How to Edit Complication name in Watch app of iPhone?
 
 
Q