Watch Complications

RSS for tag

Display timely and relevant information about your app on the Apple Watch face using Complications.

Posts under Watch Complications tag

170 Posts

Post

Replies

Boosts

Views

Activity

WatchOS: tap action for watch face complication
I want to create interactive watch face widget in a way, so user can see some data from my app on the Watch Face widget and then tap on the widget (complication) to change the data without moving inside the app. Does it possible? Or after the tap user always will be moved inside my app? I saw interactive widgets was introduced for iOS and macOS on WWDC23 https://developer.apple.com/videos/play/wwdc2023/10028. But can smth like that be developed for WatchOS?
1
0
889
Jun ’23
Connection to background transfer daemon interrupted/invalidated
Hi, I'm developing an independent WatchOS application, and trying to use background URL sessions to download new content for complication update. I think my download tasks are scheduled up appropriately, during a background refresh, following all documented guidelines from apple documentation. Everything seems to work as intended on the simulator. But when running on the real device (from XCode, using a self-signed certificate), the updates become quite unreliable (and the debug process is very frustrating btw). Most of the times, the scheduled download never finishes until the app returns to foreground. And I get the following error in the logs : BackgroundSession ... connection to background transfer daemon [interrupted | invalidated] I read that this might be due to a code signing issue. Does it mean that I have to register to an apple developer account to get it working on the real device ? (Needless to say that I'm not naturally inclined to subscribe while I'm not sure to get the app running as intended...) Thanks a lot for any help
2
0
2.6k
Jun ’23
Usage of "transferCurrentComplicationUserInfo" method in WidgetKit for WatchOS
I have a project on watchOS with Complications. Right now it works like this in ClockKit, when the app is not running on the watch, transferCurrentComplicationUserInfo method is utilized to manage the transfer of user information. This involves the ComplicationController being launched by the system, which then initiates the WCSession to receive data and update complications. My issue: How should I implement real-time update of complications transferCurrentComplicationUserInfo does not guarantee that my app will be launched by the system?
0
2
700
May ’23
watch app crashes when permissions for microphone and bluetooth are changed on iPhone
My watchOS app crashes when I accept/change the microphone or Bluetooth permission from its companion iOS app. It crashes with the following message in the console. Message from debugger: Terminated due to signal 9 Please let me know a way to identify and fix the exact problem. here are my device logs: Device logs and crash report
4
1
2.8k
May ’23
watchOS 9: ClockKit-based complications occasionally failed to display
Hello! Two of my watch apps (HiCoffee and HiWater) occasionally have issues with complications not displaying properly on watchOS 9. I did NOT use the new WidgetKit to implement the complications, all the related code still uses the same previous ClockKit + SwiftUI. I have observed several different types of wrong behaviors. One specific complication cannot be displayed (rendered?), while others do work (from the same app). This indicates that my watch app is working properly. All complications on the face cannot be displayed. But the app logs indicates it's running properly. In addition, when you long press the face to edit complications, yet it can be displayed normally. Log shows CLKComplicationServer.sharedInstance().activeComplications always returns 0 no matter how many complications are added to the face. Also, the ComplicationController is NOT called by system. I'm not using WatchKit. This part of the code in my app has been working properly for a long time and has not been changed. But after the release of watchOS 9, I received a lot of feedback from users with this problem. So I think the problem is in watchOS 9. I haven't found a way to reproduce the problem yet. Any suggestions please?
7
2
2.9k
May ’23
Complication support in watch OS 9 with ClockKit
Hi Team, I am using the ClockKit to populate my watch app compilations. I have not added the WidgetKit target yet. As Apple start showing warnings for the storyboard in the watch extension, I replaced the storyboard with SwiftUI classes So now my app UI is created from SwiftUI and Complications are from ClockKit But when the watch is upgraded to 9, there are a few issues coming up related to complications most of them are actually related to the timeline and complications are becoming unresponsive So whether Apple still support ClockKit ? or is it mandatory to move to WidgetKIt?
0
0
888
May ’23
Watch Standalone App The icon is not displayed in the Watch app on iPhone.
Watch Standalone App The icon is not displayed in the Watch app on iPhone. We are currently trying to get the Apple Watch Standalone app to be judged. It has been rejected in the current review. The cause is that after installing the app on the watch, the app icon is displayed as a blank image in the "Installed on Apple Watch" item of the "Watch" app, which is the default app of the iPhone. The app icon installed on the watch cannot be displayed in the iPhone's default "Watch" app. If anyone knows of a possible way, please let us know. I've tried a lot of different ways now, but to no avail. Even if I combined the iPhone + watch icon in Watch Assets and installed the watch app, it failed. Even the Apple guidelines given by the reviewer have no relevant information at all.
0
0
758
May ’23
Info.plist location for Apple Watch app?
I'm a new developer and I'm trying to learn how to develop a very basic Apple Watch app (without an additional iOS app) that displays the user's current gps location, as part of a more complicated project. When it comes time to run the app, I get the following error: "This app has attempted to access privacy-sensitive data without a usage description. The app's Info.plist must contain an “NSLocationWhenInUseUsageDescription” key with a string value explaining to the user how the app uses this data" This was interesting for me because there is no info.plist file in my project, and it seems like the newer versions of Xcode don't automatically generate this file for you. So, I tried to create my own property list file, name it info.plist, and include the “NSLocationWhenInUseUsageDescription” key/value in it. Unfortunately, this did not do the trick. I'm assuming, because I'm a beginner, that this is a relatively easy fix. I will provide the my code for context below, any advice would be greatly appreciated, I'm a bit overwhelmed by all the information out there, and a lot of it seems outdated and not helpful to me. ContentView.swift import SwiftUI import CoreLocation struct ContentView: View { @StateObject private var locationManager = LocationManager() var body: some View { VStack { Text("Your Location") .font(.largeTitle) if let location = locationManager.currentLocation { Text("Latitude: \(location.coordinate.latitude)") Text("Longitude: \(location.coordinate.longitude)") } else { Text("Location not available") } } .padding() } } struct ContentView_Previews: PreviewProvider { static var previews: some View { ContentView() } } LocationManager.swift import Foundation import CoreLocation class LocationManager: NSObject, ObservableObject { @Published var currentLocation: CLLocation? private let locationManager = CLLocationManager() override init() { super.init() locationManager.delegate = self locationManager.desiredAccuracy = kCLLocationAccuracyBest locationManager.requestWhenInUseAuthorization() locationManager.startUpdatingLocation() } } extension LocationManager: CLLocationManagerDelegate { func locationManager(_ manager: CLLocationManager, didUpdateLocations locations: [CLLocation]) { guard let location = locations.last else { return } currentLocation = location } } Screenshot of Info.plist (xcode changes it after I enter 'NSLocationWhenInUseUsageDescription')
3
0
3.3k
Apr ’23
WatchKit Complication Placeholders seem broken and unreliable
I am trying to add a complication to an existing Watch app, and need to use the ClockKit approach to be compatible with older watchOS versions. I've spent a couple days working on this and have concluded that using placeholder images through an asset catalog is not reliable at all. In fact it seems really broken. First issue, the documentation here has some inaccuracies relative to observed behavior: https://developer.apple.com/documentation/clockkit/creating_complications_for_your_watchos_app/adding_placeholders_for_your_complication?language=objc The documentation says "If you don’t provide any placeholders, the system generates a placeholder based on your app icon." which is not true in practice. If I do not provide placeholder images, the complication only shows "--". Pity, because all my customers really want is a shortcut to launch the app, so having the icon displayed in the complication would be wonderful. OK, so I'll provide some image placeholders in the Xcode assets. The documentation says "If you don’t provide an image for a particular screen size, watchOS resizes the closest available image in that family." Well that's not true either. I have to supply every size in every family or the complication shows "--" on some devices. Even that wouldn't be bad if it really worked. But in Xcode 14, the asset format for complication images only has slots for a few device sizes. So even when I fill all the slots, testing on some other device sizes results in "--" displayed in the complication because there isn't a direct placeholder graphic match for their screen size. Finally, different scale options can be set for the assets, and some offer options for "all sizes" or vector graphics. That would be wonderful since theoretically it can scale to any size and look sharp. Well I tried that with SVG files in the sizes requested, and the graphics show up but do not properly scale on the devices. They end up getting cropped, not scaled. Has anyone gotten this to work properly? It seems totally broken. I can certainly write up code to deliver complication graphics as part of the complication data source, but without reliable static placeholder graphics, that will still leave some undesirable gaps when a user first installs the app. I am really surprised this is so unreliable.
2
0
1k
Apr ’23
How can I apply the modify my Swift Chart based on the ComplicationRenderingMode
For Apple Watch complications displayed on tinted faced, developers can use: @Environment(\.complicationRenderingMode) var renderingMode to see if the watch face is tinted. You can then use the .complicationForeground() modifier to set elements of the complication to match that tint color. (I appreciate that .complicationForeground() is now deprecated in favour of .widgetAccentable() but I believe the behaviour is the same). However, this can only be applied to a view I believe. I'd like to display a Swift Chart where only certain elements of the chart have the .complicationForeground() rather than the whole chart. For example, in one case I'd like the LineMark to pop with the tinted color of the complication whilst the rest of the complication get the gray default tint. Is there a way to do with with the current APIs? Thanks
2
0
1.3k
Apr ’23
app for truckers on the apple watch ultra
Hi i'm a trucker since 12 years now and i recently bought an apple watch ultra and i find it that there not much apps dedicated for truckers like i see on the garmin brand of what they do with the instinct 2 dezl edition. What i mean is there an solution to have an app on the apple watch to have like an elog or something like that for a complication or just a nice new facewatch dedicated for trucker i hope i think i'm not alone in that situation. I'm not good on the programmation side on a computer so i'm asking if someone can do something about it
2
0
861
Apr ’23
Cannot purchase Developer License - Apple cancelling order
Hello, first I would just like to say I reside in America and have a US bank account / credit card. I know there are issues for people who do not reside in the US - however this is not the case with me. The first time purchasing, it went through. However the next day it was cancelled by Apple. I then tried again but it did not go through. I used another card - that went through - but again was cancelled the next day by Apple. I called Apple and they said my credit card was cancelling it. I called my credit card and purchased the license while on the phone with them. They stated that they did not cancel anything nor the previous purchases. After calling Apple back and talking to multiple departments they had no idea what to do with me. Finally after 4 hours they informed me that developer support did not have a phone number. I have emailed Developer support and am now awaiting a response. Has anyone else had this issue? Is there something I am missing here?
3
1
2.9k
Mar ’23
SwiftUI accessoryCorner complication gauge text labels get cut off
I have run into a problem with corner complications implemented with SwiftUI on watchOS 9, and so far the problem seems like a bug to me. I'm looking for ideas to solve this problem or any info about it, if someone else has run into the same issue. If I create a complication with SwiftUI with the .accessoryCircular family and add a widgetLabel with Gauge element, the gauge has an option to add minimum and maximum value labels to both ends of the gauge. These labels are added with minimumValueLabel and maximumValueLabel, respectively. However, on some Apple Watch models, such as Apple Watch Ultra and Apple Watch Series 7 45 mm, the text labels are cut off and clipped outside of the view, even if the label is only two characters long. The space reserved for the label text is minimal, and the gauge pushes the text labels outside of this space. Mock implementation of the corner complication content to replicate the issue: ... Image("moon").resizable().frame(width: 30, height: 30).widgetLabel {       Gauge(value: 25, in: 25...30) {         Text("Example")       } currentValueLabel: {         Text("Example")       } minimumValueLabel: {         Text("20").foregroundColor(.red)       } maximumValueLabel: {         Text("30").foregroundColor(.green)       }.tint(.blue)     } ... Trying to set a font size or weight to the gauge labels has no effect. This issue persist in the latest Xcode & watchOS version at the time of writing, 14.1 and 9.1. In this example image the label "86" is clipped. Sometimes both of the labels get cut off, sometimes only one.
3
0
2.1k
Mar ’23
Can't pin down how to show complications properly at different stages
I understand that complications in WidgetKit and watchOS 9 are different to the old ClockKit way, and I'm trying to populate the getSnapshot, getPlaceholder and getTimeline functions appropriately for the new method. I'm using dynamic intents, and I've got that working and providing a set of items I want the user to choose from, but at the various stages of selecting and adding a complication to the watch face, nothing I do seems to work properly on a device, and sometimes in the Simulator. On the Simulator: 1: The previews all use the same data, but getSnapshot() is supposed to return the data specific to that event from the configuration, i.e. if let theId = configuration.event?.identifier. "Christmas" is correct, but "Gallery Opening" is using Christmas's data. Are you only supposed to show ONE particular bit of data, like some dummy preview data or something? I can do that, but the complication picker then just looks really boring, with just the text below being different. I note that Apple's weather complications show different data. How did they do that? 2: You can see that once I pick an event it's displayed correctly in the Watch face edit screen: The "72d" circular complication is the "New York" event, and the rectangular one is correctly using the data for the "London Party!". 3: Once I've selected the events I want to use in those complications the edit screen shows them as totally blank, not even a placeholder. Which method gives us that preview? 4: Once I confirm the edits and return to the Watch face, the complications appear correctly: Note: This is all from the Simulator (apart from the image of Apple's Weather complications). This stuff barely works on a device. Half the time the complications are all placeholders, and half the time they're using the wrong data! If it works in the Simulator, it should work on the phone, or there is no point in giving us the Simulator if the results are different. So basically: Q1. How do I use different data in the complications picker? Q2. How do you get the previews to show when you're in edit mode? Q3. Does anyone know how to get print() statements to work when I'm running the Complications scheme? I could answer all these questions myself if I could output some debug info to the console, but all I see is the output from the Watch App target...
11
2
4k
Mar ’23
Need help adding a complication to an existing watchOS app
I have an existing watchOS app. It's deployment target is 6.1. I added a new widget extension by going to File -> New -> Target -> Widget Extension. I did NOT check the "Include Configuration Intent". In the "Embed in" drop down I chose the WatchKit Extension (it was the only one available). I did not change any of the generated code, other than to add @available(watchOS 9.0, *) to the structs. I attempted to preview the widget in the "preview canvas" but I got the following error: The app extension "MyProject ComplicationExtension.appex" needs to be embedded in an app in order to use previews I then checked the "MyProject WatchKit Extension" under the Target Membership in the File Inspector. The Preview Canvas then crashed with the following error: Couldn't retrieve XPCService dictionary from service bundle. ---------------------------------------- CrashReportError: MyProject WatchKit Extension crashed MyProject WatchKit Extension crashed. Check ~/Library/Logs/DiagnosticReports for crash logs from your application. Process: MyProject WatchKit Extension[7194] Date/Time: 2023-02-25 01:10:25 +0000 Log File: <none> Application Specific Information:     libxpc.dylib [         Configuration error: Couldn't retrieve XPCService dictionary from service bundle.     ]     libsystem_sim_platform.dylib [ CoreSimulator 857.14 - Device: Apple Watch Series 8 (45mm) (9D9982CB-5C86-4A90-913E-44C50CD846B1) - Runtime: watchOS 9.0 (20R362) - DeviceType: Apple Watch Series 8 (45mm) ] <snipped rest of crash report> I don't know what to try from here. Any ideas appreciated. Thank you!
0
0
682
Feb ’23
Complications in WidgetKit .accessoryCorner does not support previous functionality ClockKit
For almost a year now, it has been impossible to switch to a new tool, due to the lack of functionality of the old version. I mean the lack of the ability to create a normal angular layout (when there is a view progress, and an inscription is curved above it). Maybe I'm doing something wrong, but I didn't manage to create something similar to a standard complication. Please provide an example of how standard complications of this type were implemented and how to make it use SwiftUI.
0
0
1.3k
Feb ’23
Apple Watch Series 3. Can’t get it to update or pair on any iPhone.
Anyone got a fix? I’ve tried multiple iPhones all are updated. I reset the watch multiple times and still stuck on the error Unable to Check for Update Checking for a software update failed because you are not connected to the Internet.
Replies
1
Boosts
0
Views
764
Activity
Jun ’23
Apple watch series 1 won’t connect to IPhone 14 plus
I have an apple watch series 1 that I am attempting to pair but it says it cant find a software update because I am not connecting to the internet. But i am. Any advice? Is this watch even compatible with my phone?
Replies
1
Boosts
0
Views
1k
Activity
Jun ’23
WatchOS: tap action for watch face complication
I want to create interactive watch face widget in a way, so user can see some data from my app on the Watch Face widget and then tap on the widget (complication) to change the data without moving inside the app. Does it possible? Or after the tap user always will be moved inside my app? I saw interactive widgets was introduced for iOS and macOS on WWDC23 https://developer.apple.com/videos/play/wwdc2023/10028. But can smth like that be developed for WatchOS?
Replies
1
Boosts
0
Views
889
Activity
Jun ’23
Connection to background transfer daemon interrupted/invalidated
Hi, I'm developing an independent WatchOS application, and trying to use background URL sessions to download new content for complication update. I think my download tasks are scheduled up appropriately, during a background refresh, following all documented guidelines from apple documentation. Everything seems to work as intended on the simulator. But when running on the real device (from XCode, using a self-signed certificate), the updates become quite unreliable (and the debug process is very frustrating btw). Most of the times, the scheduled download never finishes until the app returns to foreground. And I get the following error in the logs : BackgroundSession ... connection to background transfer daemon [interrupted | invalidated] I read that this might be due to a code signing issue. Does it mean that I have to register to an apple developer account to get it working on the real device ? (Needless to say that I'm not naturally inclined to subscribe while I'm not sure to get the app running as intended...) Thanks a lot for any help
Replies
2
Boosts
0
Views
2.6k
Activity
Jun ’23
Usage of "transferCurrentComplicationUserInfo" method in WidgetKit for WatchOS
I have a project on watchOS with Complications. Right now it works like this in ClockKit, when the app is not running on the watch, transferCurrentComplicationUserInfo method is utilized to manage the transfer of user information. This involves the ComplicationController being launched by the system, which then initiates the WCSession to receive data and update complications. My issue: How should I implement real-time update of complications transferCurrentComplicationUserInfo does not guarantee that my app will be launched by the system?
Replies
0
Boosts
2
Views
700
Activity
May ’23
watch app crashes when permissions for microphone and bluetooth are changed on iPhone
My watchOS app crashes when I accept/change the microphone or Bluetooth permission from its companion iOS app. It crashes with the following message in the console. Message from debugger: Terminated due to signal 9 Please let me know a way to identify and fix the exact problem. here are my device logs: Device logs and crash report
Replies
4
Boosts
1
Views
2.8k
Activity
May ’23
watchOS 9: ClockKit-based complications occasionally failed to display
Hello! Two of my watch apps (HiCoffee and HiWater) occasionally have issues with complications not displaying properly on watchOS 9. I did NOT use the new WidgetKit to implement the complications, all the related code still uses the same previous ClockKit + SwiftUI. I have observed several different types of wrong behaviors. One specific complication cannot be displayed (rendered?), while others do work (from the same app). This indicates that my watch app is working properly. All complications on the face cannot be displayed. But the app logs indicates it's running properly. In addition, when you long press the face to edit complications, yet it can be displayed normally. Log shows CLKComplicationServer.sharedInstance().activeComplications always returns 0 no matter how many complications are added to the face. Also, the ComplicationController is NOT called by system. I'm not using WatchKit. This part of the code in my app has been working properly for a long time and has not been changed. But after the release of watchOS 9, I received a lot of feedback from users with this problem. So I think the problem is in watchOS 9. I haven't found a way to reproduce the problem yet. Any suggestions please?
Replies
7
Boosts
2
Views
2.9k
Activity
May ’23
Complication support in watch OS 9 with ClockKit
Hi Team, I am using the ClockKit to populate my watch app compilations. I have not added the WidgetKit target yet. As Apple start showing warnings for the storyboard in the watch extension, I replaced the storyboard with SwiftUI classes So now my app UI is created from SwiftUI and Complications are from ClockKit But when the watch is upgraded to 9, there are a few issues coming up related to complications most of them are actually related to the timeline and complications are becoming unresponsive So whether Apple still support ClockKit ? or is it mandatory to move to WidgetKIt?
Replies
0
Boosts
0
Views
888
Activity
May ’23
Watch Standalone App The icon is not displayed in the Watch app on iPhone.
Watch Standalone App The icon is not displayed in the Watch app on iPhone. We are currently trying to get the Apple Watch Standalone app to be judged. It has been rejected in the current review. The cause is that after installing the app on the watch, the app icon is displayed as a blank image in the "Installed on Apple Watch" item of the "Watch" app, which is the default app of the iPhone. The app icon installed on the watch cannot be displayed in the iPhone's default "Watch" app. If anyone knows of a possible way, please let us know. I've tried a lot of different ways now, but to no avail. Even if I combined the iPhone + watch icon in Watch Assets and installed the watch app, it failed. Even the Apple guidelines given by the reviewer have no relevant information at all.
Replies
0
Boosts
0
Views
758
Activity
May ’23
Info.plist location for Apple Watch app?
I'm a new developer and I'm trying to learn how to develop a very basic Apple Watch app (without an additional iOS app) that displays the user's current gps location, as part of a more complicated project. When it comes time to run the app, I get the following error: "This app has attempted to access privacy-sensitive data without a usage description. The app's Info.plist must contain an “NSLocationWhenInUseUsageDescription” key with a string value explaining to the user how the app uses this data" This was interesting for me because there is no info.plist file in my project, and it seems like the newer versions of Xcode don't automatically generate this file for you. So, I tried to create my own property list file, name it info.plist, and include the “NSLocationWhenInUseUsageDescription” key/value in it. Unfortunately, this did not do the trick. I'm assuming, because I'm a beginner, that this is a relatively easy fix. I will provide the my code for context below, any advice would be greatly appreciated, I'm a bit overwhelmed by all the information out there, and a lot of it seems outdated and not helpful to me. ContentView.swift import SwiftUI import CoreLocation struct ContentView: View { @StateObject private var locationManager = LocationManager() var body: some View { VStack { Text("Your Location") .font(.largeTitle) if let location = locationManager.currentLocation { Text("Latitude: \(location.coordinate.latitude)") Text("Longitude: \(location.coordinate.longitude)") } else { Text("Location not available") } } .padding() } } struct ContentView_Previews: PreviewProvider { static var previews: some View { ContentView() } } LocationManager.swift import Foundation import CoreLocation class LocationManager: NSObject, ObservableObject { @Published var currentLocation: CLLocation? private let locationManager = CLLocationManager() override init() { super.init() locationManager.delegate = self locationManager.desiredAccuracy = kCLLocationAccuracyBest locationManager.requestWhenInUseAuthorization() locationManager.startUpdatingLocation() } } extension LocationManager: CLLocationManagerDelegate { func locationManager(_ manager: CLLocationManager, didUpdateLocations locations: [CLLocation]) { guard let location = locations.last else { return } currentLocation = location } } Screenshot of Info.plist (xcode changes it after I enter 'NSLocationWhenInUseUsageDescription')
Replies
3
Boosts
0
Views
3.3k
Activity
Apr ’23
WatchKit Complication Placeholders seem broken and unreliable
I am trying to add a complication to an existing Watch app, and need to use the ClockKit approach to be compatible with older watchOS versions. I've spent a couple days working on this and have concluded that using placeholder images through an asset catalog is not reliable at all. In fact it seems really broken. First issue, the documentation here has some inaccuracies relative to observed behavior: https://developer.apple.com/documentation/clockkit/creating_complications_for_your_watchos_app/adding_placeholders_for_your_complication?language=objc The documentation says "If you don’t provide any placeholders, the system generates a placeholder based on your app icon." which is not true in practice. If I do not provide placeholder images, the complication only shows "--". Pity, because all my customers really want is a shortcut to launch the app, so having the icon displayed in the complication would be wonderful. OK, so I'll provide some image placeholders in the Xcode assets. The documentation says "If you don’t provide an image for a particular screen size, watchOS resizes the closest available image in that family." Well that's not true either. I have to supply every size in every family or the complication shows "--" on some devices. Even that wouldn't be bad if it really worked. But in Xcode 14, the asset format for complication images only has slots for a few device sizes. So even when I fill all the slots, testing on some other device sizes results in "--" displayed in the complication because there isn't a direct placeholder graphic match for their screen size. Finally, different scale options can be set for the assets, and some offer options for "all sizes" or vector graphics. That would be wonderful since theoretically it can scale to any size and look sharp. Well I tried that with SVG files in the sizes requested, and the graphics show up but do not properly scale on the devices. They end up getting cropped, not scaled. Has anyone gotten this to work properly? It seems totally broken. I can certainly write up code to deliver complication graphics as part of the complication data source, but without reliable static placeholder graphics, that will still leave some undesirable gaps when a user first installs the app. I am really surprised this is so unreliable.
Replies
2
Boosts
0
Views
1k
Activity
Apr ’23
How can I apply the modify my Swift Chart based on the ComplicationRenderingMode
For Apple Watch complications displayed on tinted faced, developers can use: @Environment(\.complicationRenderingMode) var renderingMode to see if the watch face is tinted. You can then use the .complicationForeground() modifier to set elements of the complication to match that tint color. (I appreciate that .complicationForeground() is now deprecated in favour of .widgetAccentable() but I believe the behaviour is the same). However, this can only be applied to a view I believe. I'd like to display a Swift Chart where only certain elements of the chart have the .complicationForeground() rather than the whole chart. For example, in one case I'd like the LineMark to pop with the tinted color of the complication whilst the rest of the complication get the gray default tint. Is there a way to do with with the current APIs? Thanks
Replies
2
Boosts
0
Views
1.3k
Activity
Apr ’23
How to create custom .watchface file from Xcode ?
Hi, I want to create my own custom watchface. And want to add that watchface to iPhone device watch app. Is it possible using Xcode and swift ? If not, please provide us a way to create custom watch face file. And how can I add date, time and animation on that watch face. Please guide me.
Replies
2
Boosts
1
Views
2.6k
Activity
Apr ’23
Determining the size of the complications in widgetKit
We have two different watch faces but they use the same widget just in different sizes. Aesthetically, this looks very bad. How can I determine which watch face my widget is placed on and create two designs based on that? Widget - WidgetFamily.accessoryCircular, Watch Face - X-Large and Modular
Replies
0
Boosts
0
Views
704
Activity
Apr ’23
app for truckers on the apple watch ultra
Hi i'm a trucker since 12 years now and i recently bought an apple watch ultra and i find it that there not much apps dedicated for truckers like i see on the garmin brand of what they do with the instinct 2 dezl edition. What i mean is there an solution to have an app on the apple watch to have like an elog or something like that for a complication or just a nice new facewatch dedicated for trucker i hope i think i'm not alone in that situation. I'm not good on the programmation side on a computer so i'm asking if someone can do something about it
Replies
2
Boosts
0
Views
861
Activity
Apr ’23
Cannot purchase Developer License - Apple cancelling order
Hello, first I would just like to say I reside in America and have a US bank account / credit card. I know there are issues for people who do not reside in the US - however this is not the case with me. The first time purchasing, it went through. However the next day it was cancelled by Apple. I then tried again but it did not go through. I used another card - that went through - but again was cancelled the next day by Apple. I called Apple and they said my credit card was cancelling it. I called my credit card and purchased the license while on the phone with them. They stated that they did not cancel anything nor the previous purchases. After calling Apple back and talking to multiple departments they had no idea what to do with me. Finally after 4 hours they informed me that developer support did not have a phone number. I have emailed Developer support and am now awaiting a response. Has anyone else had this issue? Is there something I am missing here?
Replies
3
Boosts
1
Views
2.9k
Activity
Mar ’23
SwiftUI accessoryCorner complication gauge text labels get cut off
I have run into a problem with corner complications implemented with SwiftUI on watchOS 9, and so far the problem seems like a bug to me. I'm looking for ideas to solve this problem or any info about it, if someone else has run into the same issue. If I create a complication with SwiftUI with the .accessoryCircular family and add a widgetLabel with Gauge element, the gauge has an option to add minimum and maximum value labels to both ends of the gauge. These labels are added with minimumValueLabel and maximumValueLabel, respectively. However, on some Apple Watch models, such as Apple Watch Ultra and Apple Watch Series 7 45 mm, the text labels are cut off and clipped outside of the view, even if the label is only two characters long. The space reserved for the label text is minimal, and the gauge pushes the text labels outside of this space. Mock implementation of the corner complication content to replicate the issue: ... Image("moon").resizable().frame(width: 30, height: 30).widgetLabel {       Gauge(value: 25, in: 25...30) {         Text("Example")       } currentValueLabel: {         Text("Example")       } minimumValueLabel: {         Text("20").foregroundColor(.red)       } maximumValueLabel: {         Text("30").foregroundColor(.green)       }.tint(.blue)     } ... Trying to set a font size or weight to the gauge labels has no effect. This issue persist in the latest Xcode & watchOS version at the time of writing, 14.1 and 9.1. In this example image the label "86" is clipped. Sometimes both of the labels get cut off, sometimes only one.
Replies
3
Boosts
0
Views
2.1k
Activity
Mar ’23
Can't pin down how to show complications properly at different stages
I understand that complications in WidgetKit and watchOS 9 are different to the old ClockKit way, and I'm trying to populate the getSnapshot, getPlaceholder and getTimeline functions appropriately for the new method. I'm using dynamic intents, and I've got that working and providing a set of items I want the user to choose from, but at the various stages of selecting and adding a complication to the watch face, nothing I do seems to work properly on a device, and sometimes in the Simulator. On the Simulator: 1: The previews all use the same data, but getSnapshot() is supposed to return the data specific to that event from the configuration, i.e. if let theId = configuration.event?.identifier. "Christmas" is correct, but "Gallery Opening" is using Christmas's data. Are you only supposed to show ONE particular bit of data, like some dummy preview data or something? I can do that, but the complication picker then just looks really boring, with just the text below being different. I note that Apple's weather complications show different data. How did they do that? 2: You can see that once I pick an event it's displayed correctly in the Watch face edit screen: The "72d" circular complication is the "New York" event, and the rectangular one is correctly using the data for the "London Party!". 3: Once I've selected the events I want to use in those complications the edit screen shows them as totally blank, not even a placeholder. Which method gives us that preview? 4: Once I confirm the edits and return to the Watch face, the complications appear correctly: Note: This is all from the Simulator (apart from the image of Apple's Weather complications). This stuff barely works on a device. Half the time the complications are all placeholders, and half the time they're using the wrong data! If it works in the Simulator, it should work on the phone, or there is no point in giving us the Simulator if the results are different. So basically: Q1. How do I use different data in the complications picker? Q2. How do you get the previews to show when you're in edit mode? Q3. Does anyone know how to get print() statements to work when I'm running the Complications scheme? I could answer all these questions myself if I could output some debug info to the console, but all I see is the output from the Watch App target...
Replies
11
Boosts
2
Views
4k
Activity
Mar ’23
Need help adding a complication to an existing watchOS app
I have an existing watchOS app. It's deployment target is 6.1. I added a new widget extension by going to File -> New -> Target -> Widget Extension. I did NOT check the "Include Configuration Intent". In the "Embed in" drop down I chose the WatchKit Extension (it was the only one available). I did not change any of the generated code, other than to add @available(watchOS 9.0, *) to the structs. I attempted to preview the widget in the "preview canvas" but I got the following error: The app extension "MyProject ComplicationExtension.appex" needs to be embedded in an app in order to use previews I then checked the "MyProject WatchKit Extension" under the Target Membership in the File Inspector. The Preview Canvas then crashed with the following error: Couldn't retrieve XPCService dictionary from service bundle. ---------------------------------------- CrashReportError: MyProject WatchKit Extension crashed MyProject WatchKit Extension crashed. Check ~/Library/Logs/DiagnosticReports for crash logs from your application. Process: MyProject WatchKit Extension[7194] Date/Time: 2023-02-25 01:10:25 +0000 Log File: <none> Application Specific Information:     libxpc.dylib [         Configuration error: Couldn't retrieve XPCService dictionary from service bundle.     ]     libsystem_sim_platform.dylib [ CoreSimulator 857.14 - Device: Apple Watch Series 8 (45mm) (9D9982CB-5C86-4A90-913E-44C50CD846B1) - Runtime: watchOS 9.0 (20R362) - DeviceType: Apple Watch Series 8 (45mm) ] <snipped rest of crash report> I don't know what to try from here. Any ideas appreciated. Thank you!
Replies
0
Boosts
0
Views
682
Activity
Feb ’23
Complications in WidgetKit .accessoryCorner does not support previous functionality ClockKit
For almost a year now, it has been impossible to switch to a new tool, due to the lack of functionality of the old version. I mean the lack of the ability to create a normal angular layout (when there is a view progress, and an inscription is curved above it). Maybe I'm doing something wrong, but I didn't manage to create something similar to a standard complication. Please provide an example of how standard complications of this type were implemented and how to make it use SwiftUI.
Replies
0
Boosts
0
Views
1.3k
Activity
Feb ’23