iOS16 + WebXR AR = ? ??

I just tested the ios16 beta and says xr not found, curious any info anyone has to share with webxr supposedly now supported on ios16.

1 Like

It seems the implementation is not yet ready:

If you go on safari advanced settings on ios16, you can enable all xr settings but still doesn’t work :<

https://bugs.webkit.org/show_bug.cgi?id=208988

so close…

So annoying, breaking changes like this have left entire gens of ios devices being left out of tech updates, another catastophic oversight by ios devs was css3d renderer in ios 14+ leaving the renderer basically useless if you need cross compatibility over most devices, this xr bug looks even worse :frowning:

I noticed it in IOS 16 but wasn’t able to remote debug why it wasn’t detecting webxr. I presume it needs a headset. No cardboard mode. In the meantime I am struggling to get the polyfill working, I got complaints to re-enable it for IOS, the project is vacant. Its broken with three.js and taking ages figuring it out. Im not sure if its a three.js problem.

Ive turned on the flags for IOS 16, but it seems xr isn’t enabled and not detected when doing

'xr' in window.navigator;

The polyfill is still needed but it’s completely broken with three.js and can’t understand why yet.

It doesn’t look like webXR activates in IOS 16.4 There is a tracker for it. I am trying really hard to get the polyfill working again but its finding a needle in a haystack. its causing a break with drawElements in threejs, black rendering with equi and stereo video but ok on other examples not using SphereGeometry. I have to test against aframe.

This is a check if it works on IOS.

There is a webkit tracker for it.

https://bugs.webkit.org/show_bug.cgi?id=208988#c18

Tested on ios16.6 safari with all the safari advanced features for webXR enabled, and none of the webxr ar examples on threejs.org or WebXR - Samples work.

They haven’t enabled it yet then. What about my simple fiddle that prints if xr is enabled ?. Have to follow the webkit tracker.

It was news to me they would even implement it.

Such a feature I expect them to implement in a major IOS version as they like to do from history. Therefore 17 and no way to test beforehand. And 17 as expected they will drop support for many devices making you need to upgrade. Not sure if the Ipad I have can get 17 yet.

I’ve had a horrible time trying to get VM’s working and the simulator doesn’t even work in them anyway because I have AMD cpu. To simulate IOS 16.4 needs the latest OS also. Waiting on a silicon mac mini.

I was able to check on an Ipad again. xr test is detected. But the next step is checking what type it supports. I believe the session support check may be failing. This should show if its supported.

It seems it fails within an iframe. So new check. so sessions are not supported.

It seems I have a 5th generation Ipad that may not get IOS 17. And its possible xr sessions won’t work unless a headset is purchased on top of a current iPhone. The headset will come with IOS 17. So $1000+ just to check XR support.

https://electroteque.org/dev/xr/xrcheck.html

It’s looking highly likely IOS 17 wont be getting html fullscreen and therefore the hidden screen orientation lock api wont work on Iphone until they implement it like they have on Ipad.

It’s looking like Iphone X and my own Ipad 5th generation will be dropped for support for IOS 17. So dropped devices need the polyfill which is broken and stopped working since end of 2019. I’m still trying to figure it out.

For native canvas fullscreen support for legacy devices like the Iphone which I consider legacy. I’ve had to hack up a solution for that. It actually works, rendering the canvas to a second video and launch that fullscreen.

1 Like

Your idea sounds really good! But is it possible to interact with scene when doing this video workaround?

XR for webkit is not looking good. The headset is standalone and is $3500 so impossible to access to test and not sure how to test on Iphone yet as sessions are not supported yet.

I’ve not tried to see if touch works. I just need it for orientation video in fullscreen. And sadly more legacy stuff I may need to get the polyfill working for Iphone again and launch the polyfill fullscreen the same way. So if fullscreen api is supported launch html fullscreen or the video fullscreen hack for Iphone.

I made a hack for picture in picture for the canvas also which works on Ipad/Iphone and desktop. I did that for my own projects and made it public.

I tried to mess with orientation lock api and it only supports html fullscreen and not the video fullscreen hack. But is failing to lock on Ipad because it doesn’t work in Safari because of multi tasking active ! complains about “app supporting multi tasking” so an oversight.

If you didn’t know, fullscreen api now already work on Chrome for iOS, just not in Safari.

Webkit Iphone IOS. Ipad has html fullscreen support. The ticket has been sitting there for a long time and will not be implemented in IOS 17. Therefore orientation lock disabled by default wont work either. And IOS 17 is dropping device support. Its a legacy hack because Iphone is legacy. Works for me. Same with the picture in picture hack.