Mathias Conradt created CB-11027:
------------------------------------

             Summary: window.open on iOS (only): "This app is not allowed to 
query for scheme file"
                 Key: CB-11027
                 URL: https://issues.apache.org/jira/browse/CB-11027
             Project: Apache Cordova
          Issue Type: Bug
          Components: iOS
         Environment: iOS9, Phonegap cli 5.2.0, cordova-plugin-whitelist
            Reporter: Mathias Conradt


I had originally posted this on StackOverflow:
http://stackoverflow.com/questions/36395714/window-open-in-phonegap-app-on-ios-this-app-is-not-allowed-to-query-for-scheme

Not sure whether it's a Cordova or PhoneGap issue, but I use several Cordova 
plugins in the app, i.e. cordova-plugin-whitelist. Sorry, I'm fairly new to 
Cordova/PhoneGap.

I have a hybrid app developed with DevExpress and PhoneGap, using Cordova 
plugins.

I try to open a local jpeg image via

{code}
window.open('file:///var/mobile/Containers/Data/.../image.jpg', '_system');
{code}

but it does not work (anymore) on iPhone and iPad (latest iOS 9 version), 
failing with the error error: {quote}"This app is not allowed to query for 
scheme file".{quote}


(The app downloaded the image beforehand via the Phonegap method 
FileTransfer.download to the folder that it got via 

{code}window.requestFileSystem(LocalFileSystem.PERSISTENT, 0, ...) 
method.){code}

It works fine on Android, and it worked fine on iPhone as well a few weeks ago. 
I think it might be related to the PhoneGap update due to an update of 
DevExtreme.

Before, I used PhoneGap 3.7.0, now I use cli-5.2.0.

Using GapDebug, I see this in the log:

{code}
<Warning>: THREAD WARNING: ['InAppBrowser'] took '38.211914' ms. Plugin should 
use a background thread.
<Warning>: THREAD WARNING: ['File'] took '26.509033' ms. Plugin should use a 
background thread.
<Warning>: -canOpenURL: failed for URL: 
"file:///var/mobile/Containers/Data/Application/9425CCB6-77F7-4337-B37C-7DB577C2F6B4/Documents/myDocuments/a96e7238-a502-49e6-bcd3-186937afc3cb/camera_1458208164206.jpg"
 - error: "This app is not allowed to query for scheme file"
{code}

It's some kind of permission problem, but what to add to the config.xml?

This is my config.xml:

{code:xml}
<widget xmlns="http://www.w3.org/ns/widgets"; 
xmlns:gap="http://phonegap.com/ns/1.0"; id="com.devexpress.apptemplate" 
version="1.0" versionCode="1">
  <name>ApplicationTemplate</name>
  <preference name="phonegap-version" value="cli-5.2.0" />
  <preference name="permissions" value="none" />
  <preference name="prerendered-icon" value="true" />
  <preference name="android-windowSoftInputMode" value="adjustResize" />
  <preference name="SplashScreen" value="splash" />
  <preference name="SplashScreenDelay" value="60000" />
  <preference name="AutoHideSplashScreen" value="false" />
  <preference name="DisallowOverscroll" value="true" />
  <preference name="StatusBarOverlaysWebView" value="false" />
  <preference name="StatusBarBackgroundColor" value="#000000" />
  <preference name="KeyboardDisplayRequiresUserAction" value="false" />
  <feature name="http://api.phonegap.com/1.0/network"; />
  <gap:plugin name="com.devexpress.plugins.devextremeaddon" version="1.0.1" />
  <gap:plugin name="cordova-plugin-ios-longpress-fix" version="1.1.0" 
source="npm" />
  <gap:plugin name="org.apache.cordova.camera" version="0.3.6" />
  <gap:plugin name="org.apache.cordova.file" version="1.3.3" />
  <gap:plugin name="org.apache.cordova.file-transfer" version="0.5.0" />
  <gap:plugin name="org.apache.cordova.inappbrowser" version="0.6.0" />
  <gap:plugin name="org.apache.cordova.media-capture" version="0.3.6" />
  <gap:plugin name="org.apache.cordova.media" version="0.2.16" />
  <gap:plugin name="org.apache.cordova.network-information" version="0.2.15" />
  <gap:plugin name="cordova-plugin-statusbar" version="2.1.0" source="npm" 
onload="true" />
  <gap:plugin name="org.apache.cordova.splashscreen" version="1.0.0" 
onload="true" />
  <access origin="*" subdomains="true"/>
  <gap:plugin name="cordova-plugin-whitelist" source="npm"/>
  <allow-navigation href="*" />
  <allow-intent href="*" />
</widget>
{code}

I even added the two lines

{code:xml}
  <allow-navigation href="*" />
  <allow-intent href="*" />
{code}

according to https://github.com/apache/cordova-plugin-whitelist and it does not 
help.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to