Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Sensor access disabled by default in Safari from iOS 12.2+ #3976

Closed
richtr opened this issue Jan 29, 2019 · 28 comments
Closed

Sensor access disabled by default in Safari from iOS 12.2+ #3976

richtr opened this issue Jan 29, 2019 · 28 comments
Labels

Comments

@richtr
Copy link

@richtr richtr commented Jan 29, 2019

AFrame VR will no longer work on iOS according to the release of iOS 12.2b without changing the default Safari settings on devices:

w3c/deviceorientation#57 (comment)

Both deviceorientation and devicemotion sensors will be disabled by default in Safari from iOS 12.2+. Users will need to enable Settings > Safari > Motion and Orientation access to continue to use AFrame.

AFrame relies on polyfilling WebVR from these sensors on iOS via its dependency on webvr-polyfill (which in turn relies on cardboard-vr-display).

Blog post discussing change @ https://medium.com/@firt/pwas-on-ios-12-2-beta-the-good-the-bad-and-the-not-sure-yet-if-good-a37b6fa6afbf

Is there any plan to work around this change in AFrame?

@dmarcos
Copy link
Member

@dmarcos dmarcos commented Jan 29, 2019

Those are bad news. Without access to sensors not sure if there’s anything we can do.

@jsantell
Copy link
Contributor

@jsantell jsantell commented Jan 29, 2019

Looks like Generic Sensors is also not supported either. To be fair, deviceorientation and devicemotion are terribly abused APIs, but not sure of a work around currently for iOS.

@griffin2000
Copy link

@griffin2000 griffin2000 commented Jan 29, 2019

There is a W3C thread on this here (specifically about adding a permission pop up) be sure to comment how important it is that this gets fixed! w3c/deviceorientation#57

@geoffreygaren
Copy link

@geoffreygaren geoffreygaren commented Jan 29, 2019

Does AFrame VR offer a fallback interaction model for desktop users and mobile users who choose not to allow sensor access?

@dmarcos
Copy link
Member

@dmarcos dmarcos commented Jan 29, 2019

@geoffraygaren Yes, on desktop you can use mouse / keyboard to move the camera and touch on mobile.

@dmarcos
Copy link
Member

@dmarcos dmarcos commented Feb 5, 2019

Current conversation about spec:
w3c/deviceorientation#57

@dmarcos
Copy link
Member

@dmarcos dmarcos commented May 14, 2019

Also disabled now in Chrome. Console log on Chrome m74 for Android:

The `devicemotion` event is deprecated on insecure origins and will be removed in M76, around July 2019. Event handlers can still be registered but are no longer invoked since M74, around April 2019. See https://www.chromestatus.com/feature/5688035094036480 for more details.

@vin-ni
Copy link

@vin-ni vin-ni commented May 16, 2019

8th wall does this:
IMG_6547

@dmarcos
Copy link
Member

@dmarcos dmarcos commented May 16, 2019

@vin-ni thanks for sharing. We have this conversation going on: #4149

Do you know how 8th wall checks for devicemotion presence?

@dmarcos
Copy link
Member

@dmarcos dmarcos commented May 16, 2019

For the record:

iOS now requires both enable device motion manually:

Settings -> Safari -> Motion & Orientation access

and page has to be served over https

@dmarcos
Copy link
Member

@dmarcos dmarcos commented May 20, 2019

Android also disables devicemotion. Reference to discussion: https://groups.google.com/a/chromium.org/forum/#!msg/blink-dev/5yqfAXibz1I/wiLKUPLwDwAJ

@tinchoforever
Copy link

@tinchoforever tinchoforever commented May 21, 2019

mmmm, is this supposed to be the standard? Not device motion anymore?

@dmarcos
Copy link
Member

@dmarcos dmarcos commented May 21, 2019

No devicemotion events enabled by default anymore for Chrome and Safari. The user has to enable manually. API is standard but https enforcement or shipping it enabled is a particular decision of each browser vendor.

@tinchoforever
Copy link

@tinchoforever tinchoforever commented May 21, 2019

Are there any alternatives? Or any roadpath?
this kind of kill Aframe on mobile.

@dmarcos
Copy link
Member

@dmarcos dmarcos commented May 21, 2019

It's an unfortunate decision and we cannot do anything on the A-Frame side. Only way to address is showing message to the user to enable the API on settings. More info #4149

@allancozart
Copy link

@allancozart allancozart commented Jun 6, 2019

Looks like the API for requesting permission to receive device motion is available on IOS 13 developer beta. w3c/deviceorientation#57 (comment)

@dmarcos
Copy link
Member

@dmarcos dmarcos commented Jun 6, 2019

Thanks for the update. For reference the API is DeviceOrientationEvent.requestPermission

@chetu3319
Copy link

@chetu3319 chetu3319 commented Jun 7, 2019

Unfortunately, on iPadOS, there is no such option of device orientation and motion access in the settings menu. Device orientation is not working in beta 1 on iPad Pro 2017 release.

@dmarcos
Copy link
Member

@dmarcos dmarcos commented Jun 7, 2019

@chetu3319 there’s a permissions API now that applications have to invoke DeviceOrientationEvent.requestPermission
and deviceorientation events wont’t fire when the devices is laying on a flat surface.

jamesdigid pushed a commit to jamesdigid/aframe that referenced this issue Jun 8, 2019
@jamesdigid
Copy link

@jamesdigid jamesdigid commented Jun 8, 2019

Hello, I just started following this project again recently, and I'm highly interested in contributing and this seemed like some low hanging technical fruit to help me become familiar with this project. Looking forward to any feedback you may have for my PR, and any suggestions as well.

Thanks

@SevenSystems
Copy link

@SevenSystems SevenSystems commented Jul 3, 2019

Slowly but surely, this security and privacy bullshit is killing off technology as we know it. Maybe it should just stop?

@dmarcos
Copy link
Member

@dmarcos dmarcos commented Jul 3, 2019

@Hailiax
Copy link

@Hailiax Hailiax commented Sep 23, 2019

iOS 13 is out and A frame isn’t requesting devicemotion API access on 0.9.2

@dav1app
Copy link

@dav1app dav1app commented Oct 10, 2019

Just to make sure, is this still a problem? I wasn't able to make the examples on aframe.io work in Safari.

@andersonholland
Copy link

@andersonholland andersonholland commented Oct 25, 2019

It still seems to be a problem from what I can see, and my iOS is 13.1.3

@dmarcos
Copy link
Member

@dmarcos dmarcos commented Oct 25, 2019

Follow #4287

@brianpeiris
Copy link
Contributor

@brianpeiris brianpeiris commented Jan 21, 2020

I think we can call this closed?

@dmarcos
Copy link
Member

@dmarcos dmarcos commented Jan 21, 2020

Correct 🎖 thanks

@dmarcos dmarcos closed this Jan 21, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Linked pull requests

Successfully merging a pull request may close this issue.

None yet