Start a new topic

Sending app to background freezes camera

Hi.


I am reporting a bug where camera freezes when user switches from the attached AR app to another app, and back.

I have made this test app very simple.


The Environment -

iPhone with iOS v10.2.1

Wikitude: 6.0.0

Cordova: v6.5.0


The Bug -

1. start the AR TEST app

2. Click ENTER to enter AR screen. Camera turns ON

3. Click BACK button to go back to Cordova screen

4. switch to another app to send the AR app to background

NOTE: if you do not "switch" to another app, you cannot recreate the bug.

5. switch back to the AR TEST app.

6. Click ENTER to transition to the AR screen

7. Notice that the AR screen is frozen


The Test App -

I have attached the entire WWW folder to show the bug.


Thanks,


Behdad

zip

Hi Behdad,


Thank you for providing an example application showcasing your issue. I was able to reproduce it. 


I am going to investigate further and keep you updated on what I find out and on how we proceed regarding this issue.


Kind regards

Daniel

Hi Behdad,



my investigations suggest that the freeze is caused by the implementation of your back button. I could consistently reproduce this issue using your back button, but could not reproduce it using the swipe gesture to go back.


Calling

 

app.wikitudePlugin.close();

 

instead of 

  

app.wikitudePlugin.hide();

  

should resolve this issue. I believe the exact particularities of why that is are irrelevant for now.


Could you try this and report back to me on whether this resolves your issue? I could no longer reproduce the camera feed freeze after changing to the former of the two code snippets on my test device.



Kind regards

Daniel


Hi Daniel,

per documentation .close removes all AR resources while .hide simply hides the AR screen and leaves resources intact.

The reason we hide (instead of close) is to preserve the AR resource so we can get back to it and start from where we left off.  How can we achieve this?


thanks,

Behdad

Hi Behdad,



the sample you've sent me uses 

 

app.wikitudePlugin.hide()


but then calls


app.loadCustomARchitectWorldFromURL('www/AR/index.html')

 

again upon re-entering with the 'Enter AR' button. Have you tried calling

  

app.wikitudePlugin.show()

  

instead, which would be the complementary operation to 'hide'?



Kind regards

Daniel

Login or Signup to post a comment