Sure @melsam, I just did the test and removed the implementation of the rules array from my tip and by doing that, the tip is displayed as expected the first time I access to the screen. I also did another test and left just one of the rules and it does not working, it seems that the issue is related to the donations then. I've also tried both ways to do a donation: Task { await RankingViewController.didAccessRanking.donate() } and RankingViewController.didAccessRanking.sendDonation() and it does not work
Post
Replies
Boosts
Views
Activity
There's an exception in the device console, have we a way to reveal the private message?
This exception is produced in the screen where I donate to the didAccessRanking event in the viewDidLoad of the controller. This donate function does not throws or return any error to see what it's happening in debug mode
Hello, we have exactly the same issue as @nathanielblumer-busbud.
We developed a tip in our UIKit application, and everything it's working as expected in debug mode on physical devices and simulators. But when we distribute the app in appcenter (adhoc distribution) the tip it's never displayed.
My config is:
if #available(iOS 17.0, *), isTipKitEnabledUseCase.isEnabled {
#if DEBUG
try? Tips.resetDatastore()
#endif
try? Tips.configure([
// One tip per day
.displayFrequency(.daily)
])
}
And then we have this set of rules and options for the tip:
var rules: [Rule] {
#Rule(RankingViewController.didAccessRanking) {
// Tip will only display when the didAccessRanking event has been donated 45 or more times in the last two weeks.
// TODO: This should be 42 instead of 4 (temporal testing values)
$0.donations.donatedWithin(.weeks(2)).count >= 4
}
#Rule(ReferenceFiltersViewController.didViewRankingReferenceFilters) {
// TODO: This should be 16 instead of 1 (temporal testing values)
$0.donations.count <= 1
}
#Rule(RankingSortingTip.didViewRankingSortingTip) {
// Tip will only display when the didViewRankingSortingTip event has not been donated in the last week.
// TODO: This should be a week instead a minute (temporal testing values)
$0.donations.donatedWithin(.minutes(1)).count < 1
}
}
var options: [TipOption] = [
MaxDisplayCount(3),
IgnoresDisplayFrequency(false)
]
I check all the project configuration and build settings and can't really understand what it's going on 🥵