WebApp HTTPS camera restrictions when executed from a home screen access in the phone

  1. 4 days ago

    Mariano P

    Dec 6 Pre-Release Testers, Xojo Pro Argentina

    When I call an xojo webapp under the HTTPS protocol in the iOS Safari browser, I have access to restricted devices like the iPhone's cameras, of course, after I'm asked for permission and I give it to them.
    If I add the webapp to the home screen of the iphone, when I start the webapp from the icon created by that process, permission is not requested to access those devices, so those devices are not available for the web application. It seems as if it were running not under the HTTPS protocol, but instead under the HTTP protocol, restricting access to those devices.
    Any idea how to solve this?
    I like to start webapps directly from an icon on the home screen, which avoids the typical toolbar at the top of the browser and gives the webapps a more similar appearance to a native mobile application.

  2. Greg O

    Dec 6 Xojo Inc

    You can't. That's Apple protecting user privacy by not letting your app transmit their pictures & data in the clear.

  3. Mariano P

    Dec 6 Pre-Release Testers, Xojo Pro Argentina

    I don't understand Greg...
    If i call the webapp typing https://IP:port Apple let me access to the camera inside the webapp (using GraffitiSuite web controls), but if I create a home screen access to the same webapp, Apple do not let me access to the camera ?
    Which is the logic of such protection ?

  4. Olivier C

    Dec 6 Pre-Release Testers, Xojo Pro Europe (Belgium, Brussels)

    Hi Mariano,

    I think Greg’s not answering your question ;-)
    I’m facing a similar situation, using HTTPS and having troubles with the web app running from home screen.
    My web app runs on a machine in a LAN with _no_ access to the internet.
    Because of this I’m using a self-signed certificate.
    Running from iOS Safari, the users gets a warning, because of the certificate, but can accept to visit the web site.
    When running from home screen, the user doesn’t get the warning but if you look at the console for the iPad/iPhone you’ll see the error message.
    Try connecting your iOS device with a cable to your development computer and use Safari development tools to look at the iOS device console, it may give you some info...

  5. Mariano P

    Dec 6 Pre-Release Testers, Xojo Pro Argentina

    Oliver, you do understand exactly the problem I have:
    Running from iOS Safari, as I run the webapp under HTTPS and I had placed a certificate in the server, I get a warning to access to the camera... I accept the warning and I can use the camera inside my webapp.
    This do not happened when running from home screen. No warning, so no access to the camera is possible.

    I never used Safari Development Tools... I will see there if I could find some answer or solution.
    If someone in the forum have another idea of how to solve it I will apreciate a lot.

  6. Derk J

    Dec 7 Pre-Release Testers, Xojo Pro

    @Greg OLone You can't. That's Apple protecting user privacy by not letting your app transmit their pictures & data in the clear.

    You’r not reading ?

  7. Derk J

    Dec 7 Pre-Release Testers, Xojo Pro

    It looks like apple is not allowing you to do this while you actually are still connected over a https connection. Do you automaticly redirect from http to https?

  8. Derk J

    Dec 7 Pre-Release Testers, Xojo Pro

    It seems this is an apple bug:
    https://stackoverflow.com/questions/46228218/how-to-access-camera-on-ios11-home-screen-web-app

  9. Mariano P

    Dec 7 Pre-Release Testers, Xojo Pro Argentina

    Derk

    My webapp is built in order to use port 9500 via HTTP
    In the server side, I run the webapp with the following command:
    C:/WebReader/WebQRReader.exe --secureport=8082
    When I run the webapp in the browser I type https://ServerIPaddress:8082, redirecting to a secure port and using HTTPS protocol.
    The browser requieres my permision to use the camera, and it works fine.
    If I create a home screen access to the webapp from the browser, and once the icon of the webapp is in the home screen, if I run the webapp from that icon, no permision was asked me, and of course the camera is not accesible.

    It is possible that this is an Apple bug, but I am not sure.
    The article you indicated reffers to the same problem, and says that it was solved on iOS version 11.2.
    But I am using iOS 12.1 and the problem is still there.

  10. The same applies to saving or printing a file (in my case PDF). Both will not work if running from home screen.

  11. Mariano P

    Dec 7 Pre-Release Testers, Xojo Pro Argentina

    Anyone knows if it is an iOS bug, a Xojo limitation or a misconfiguration of any iPhone/iOS parameter ?

or Sign Up to reply!