Appium screen layout is not updated until reconnecting to device

I have native iOS app with some complex layout.

  1. I connected with appium tp the device
  2. I initialised page
  3. I applied some actions to the app - all is ok
    As result, some elements on the screen has changed their state.
    Then I re-init page elements and try to work with undated screen.
    But new elements are not visible in screen layout, and old ones has old values.
    In Appium Desktop I have the same issue: I have to close connection and connect to device again to see new layout.

For example, I had screen with label “aaa” and button “Btn1”. I clicked on the button, and label changed its value to “bbb”. I can see this new text on device screen, but in Appium Desktop and in my TA driver label element returns “aaa” as a text.

Is there a way to somehow flush appium driver state without reconnecting (and restarting the app) to get new screen layout?
I use the latest Appium version

Same in page source? How about inspector from xCode?

In Xcode all is ok. The problem is in/with Appium only.

Quite similar issue with elements location.
After element changed it’s location without redrawing entire screen Appium returns old location. So Touchaction.tap() or click() are not working: it is trying to tap on initial element location, not new one. hough 1/20 runs appium return correct location and tap/click is working.

Provide your example of problem code. Did you try pure search elements with driver.findElement(…) - same issue?