TipKit popover Issues...

I have been trying to use TipKit popovers in my App. They all behave as expected in the simulator but on a real device I am seeing some strange behaviors. I have a couple of instances of where the tip is displaying an entire sheet instead of just the popover. In another case I cannot dismiss the Tip. Has anyone seen these behaviors and are there known issues/workarounds for this?

I am reluctant to use something that works perfectly in the simulator but gives unpredictable results on a device. Not a good user experience in my opinion.

Can you provide your code for one of the tips that's appearing as a full sheet instead of a popover? Maybe there's something you're doing or not doing in your code?

The code was exactly the same as I am using for all the tips I created (I have about 20 tips scattered across about 8 different views). All of these tips were originally setup as popover tips and I was using TipGroups to control the sequencing. All worked exactly as expected in the simulator but when I ran it on my physical device I started seeing the anomalies. Below is indicative of how I was invoking them all.

One thing I did notice about the 2 tips that were displaying as sheets was that they were for buttons at the bottom of the view. Right above them was a list subview that was clearly taking up all the available screen real estate so it was as though the framework didn't think there was enough room to display them as popovers and resorted to using a sheet. There were some other anomalies attaching popovers to sliders. Either they didn't display properly or could not be dismissed.

But NONE of this was a problem in the simulator! Everything worked just fine.

In frustration I resorted to using TipView for the problematic Tips and I now have something that even though it is not completely consistent in the way tips are shown at least is is more predictable and that is better than having users get confused by popups either not appearing as expected or not being able to be dismissed (which of course throws off the TipGroup so that no subsequent tips in that group will ever appear).

It's frustrating that you can spend a day to two setting something like this up and everything is working perfectly in the simulator and then when try it on a real device you need to spend another day trying to work around the anomalies.

@State var groupTips = TipGroup(.ordered) {
    RecipeCardTip()
    InfoSheetTip()
    GetStartedTip()
    
}
//later in the code something like this is attached to a button
   .popoverTip(groupTips.currentTip as? GetStartedTip)
TipKit popover Issues...
 
 
Q