Post

Replies

Boosts

Views

Activity

Cannot run Animation Hitches Instrument
I'm trying to run the Instrument "Animation Hitches", but it fails immediately after starting on the iPhone. This happens on multiple projects, including a brand new project. I get the following errors: Timestamp | Message (Before Run Started) | Unexpected failure: Couriers have returned unexpectedly. (Before Run Started) | Failed to start the recording: Failed starting ktrace session. The issue also happens with the instruments App Launch, but not with any other that I tested. Is this a bug? Using Xcode Version 16.1, Mac Mini M1 Sequoia 15.1. Running project on iPhone 14 Pro iOS 18.1.
2
1
271
Nov ’24
Widget not updated when selecting AppEnum with AppIntents
Hello, I'm new here so I apologize if this is obvious, but I can't seem to figure it out and I couldn't find anything online. I'm trying to select options for a widget using a drop-down, and provide the user with a limited list of options that will never change. I'm using an AppEnum as recommended. However, when selecting an element from the back of the widget, the widget doesn't update. Here's my code: import AppIntents import SwiftUI import WidgetKit struct TestProvider: AppIntentTimelineProvider { func placeholder(in context: Context) -> TestEntry { TestEntry(date: .now, bool: false, str: "Apple", enum1: TestEnum.test1) } func snapshot(for configuration: TestIntent, in context: Context) async -> TestEntry { return TestEntry(date: .now, bool: false, str: "Apple", enum1: TestEnum.test1) } func timeline(for configuration: TestIntent, in context: Context) async -> Timeline<TestEntry> { let testBool = configuration.bool let testStr = configuration.str return Timeline(entries: [ TestEntry( date: .now, bool: testBool, str: testStr, enum1: TestEnum.test1 ) ], policy: .atEnd) } } struct TestEntry: TimelineEntry { let date: Date let bool: Bool let str: String let enum1: TestEnum } struct TestIntent: AppIntent, WidgetConfigurationIntent { static var title: LocalizedStringResource = "Testing" static var description: IntentDescription = .init(stringLiteral: "1, 2, 3, testing") @Parameter(title: "Test bool") var bool: Bool @Parameter(title: "Test string", default: "Apple") var str: String @Parameter(title: "Test enum", default: .test1) var tenum: TestEnum } struct TestWidgetView: View { var entry: TestEntry var body: some View { VStack { Text(entry.str) .foregroundStyle(entry.bool ? .green : .red) Text(entry.enum1 == TestEnum.test1 ? "1" : "2") Text(entry.enum1.rawValue) } .containerBackground(for: .widget) {} } } struct testWidget: Widget { let kind: String = "Test Widget" var body: some WidgetConfiguration { AppIntentConfiguration(kind: kind, intent: TestIntent.self, provider: TestProvider()) { entry in TestWidgetView(entry: entry) } .configurationDisplayName("Test widget") .description("Just a test") .supportedFamilies([.systemSmall]) } } enum TestEnum: String, AppEnum { static var typeDisplayRepresentation: TypeDisplayRepresentation = "Test title 1" case test1 = "1" case test2 = "2" static var caseDisplayRepresentations: [TestEnum : DisplayRepresentation] = [ .test1: "test 1", .test2: "test 2" ] } #Preview(as: .systemSmall) { testWidget() } timeline: { TestEntry(date: .now, bool: false, str: "Apple", enum1: TestEnum.test1) } It's a pretty simple example. The widget updates correctly if I change the boolean or the string, but not if I change the enum selection. What am I doing wrong? Many thanks in advance for the help.
1
0
634
Nov ’23