Post

Replies

Boosts

Views

Activity

Reply to TipKit: "The filter function is not supported in this rule."
@available(iOS 17, *) struct DetailsTappableItemsTip: Tip { static let viewedDetails: Event = Event(id: "viewedDetails") var title: Text { Text("Learn More About This") } var message: Text? { Text("Tip text here.") } var image: Image? { Image(.icInfo) } var rules: [Rule] { #Rule(Self.viewedDetails) { $0.donations .filter { $0.date < Date.now.addingTimeInterval(-1 * 60 * 60 * 24) } .count > 0 } } }
Topic: App & System Services SubTopic: General Tags:
May ’24
Reply to TipKit: "The filter function is not supported in this rule."
Just to follow up on this a bit, I did find that Apple apparently changed semantics since the WWDC video was made, and they introduced a DonationTimeRange structure that you can use like this: #Rule(Self.viewedDetails) { $0.donations .donatedWithin(.days(5)) .count > 0 Unfortunately, this doesn't provide a way to achieve what I want for one of my rules, which is to determine if the user has been using the app for at least a calendar day. You might think that you could construct an expression comparing the count of two .donatedWithin ranges: #Rule(Self.viewedDetails) { $0.donations.donatedWithin(.weeks(52)).count > $0.donations.donatedWithin(.days(1)).count But no, you can't. This doesn't work because the #Rule macro explicitly requires a count comparison. If you try to write it as a raw predicate expression, it will compile but assert at runtime. So, at this point, I've given up trying to write the rule that I wanted to write. But perhaps someone will see the question and point out something that I've missed. Or perhaps Apple will see the question and understand that .donatedWithin doesn't meet everyone's needs.
Topic: App & System Services SubTopic: General Tags:
May ’24
Reply to TipKit: Change color of TipView close button?
Yes, thanks, I did mention that I created a TipViewStyle as a workaround. What I was hoping was that there might be a way to do this with a method on the default TipView, similar to tipBackground or tipCornerRadius. It seems like an oversight that you can change the background color of the tip and change the color of the text and any icon, but not the color of the close button.
Topic: App & System Services SubTopic: General Tags:
Jun ’24
Reply to TipKit: "The filter function is not supported in this rule."
@available(iOS 17, *) struct DetailsTappableItemsTip: Tip { static let viewedDetails: Event = Event(id: "viewedDetails") var title: Text { Text("Learn More About This") } var message: Text? { Text("Tip text here.") } var image: Image? { Image(.icInfo) } var rules: [Rule] { #Rule(Self.viewedDetails) { $0.donations .filter { $0.date < Date.now.addingTimeInterval(-1 * 60 * 60 * 24) } .count > 0 } } }
Topic: App & System Services SubTopic: General Tags:
Replies
Boosts
Views
Activity
May ’24
Reply to TipKit: "The filter function is not supported in this rule."
Just to follow up on this a bit, I did find that Apple apparently changed semantics since the WWDC video was made, and they introduced a DonationTimeRange structure that you can use like this: #Rule(Self.viewedDetails) { $0.donations .donatedWithin(.days(5)) .count > 0 Unfortunately, this doesn't provide a way to achieve what I want for one of my rules, which is to determine if the user has been using the app for at least a calendar day. You might think that you could construct an expression comparing the count of two .donatedWithin ranges: #Rule(Self.viewedDetails) { $0.donations.donatedWithin(.weeks(52)).count > $0.donations.donatedWithin(.days(1)).count But no, you can't. This doesn't work because the #Rule macro explicitly requires a count comparison. If you try to write it as a raw predicate expression, it will compile but assert at runtime. So, at this point, I've given up trying to write the rule that I wanted to write. But perhaps someone will see the question and point out something that I've missed. Or perhaps Apple will see the question and understand that .donatedWithin doesn't meet everyone's needs.
Topic: App & System Services SubTopic: General Tags:
Replies
Boosts
Views
Activity
May ’24
Reply to TipKit: Change color of TipView close button?
Yes, thanks, I did mention that I created a TipViewStyle as a workaround. What I was hoping was that there might be a way to do this with a method on the default TipView, similar to tipBackground or tipCornerRadius. It seems like an oversight that you can change the background color of the tip and change the color of the text and any icon, but not the color of the close button.
Topic: App & System Services SubTopic: General Tags:
Replies
Boosts
Views
Activity
Jun ’24
Reply to TipKit: Are tips marked "IgnoresDisplayFrequency" also ignored by display frequency?
Following up here -- I spoke with one of the TipKit engineering team during WWDC 2025 and he confirmed that yes, setting this flag both causes that tip to ignore display frequency, and causes it to be ignored for purposes of calculating whether to display other tips that do obey the frequency. They will clarify documentation.
Topic: App & System Services SubTopic: General Tags:
Replies
Boosts
Views
Activity
Jun ’25