Error: Whitelist rejection in Phonegap

IphoneHtmlCordovaWhitelist

Iphone Problem Overview


I'm new to mobile development. I'm using Phonegap/Cordova to create a cross-platform app. My code works well on Android but when I'm porting it to iPhone it's showing an error:

[143:2003] ERROR whitelist rejection: url="abc"

Now can I overcome this problem?

Iphone Solutions


Solution 1 - Iphone

> Notice: This answer only applies for PhoneGap version 1.x and below. From version 2.x onwards, whitelist configuration is done via cordova.xml.

You have to add allowed URLs into PhoneGap.plist's (or Cordova.plist) ExternalHosts array.

For example, if you want to allow access to this URL http://www.myhost.com/path/file, then add www.myhost.com as a new entry to ExternalHosts array.

If you want to allow access to content on all the subdomain of Google (e.g. maps.google.com, mails.google.com), you can add *.google.com as a new entry to ExternalHosts array.

I am not sure why you get "abc" in the link, though. Do you have "abc" as a link to anything? Is it URI fragment?

Solution 2 - Iphone

In PhoneGap 3.0, you need to edit config.xml in Project folder (note: not the www/config.xml)

<access origin="*" />

Solution 3 - Iphone

In PhoneGap 3.0, you need to edit www/config.xml, and add/edit <access> tags. For example, if you want to allow everything, change the tag to:

<access origin="*" />

Solution 4 - Iphone

You can add this following code in Cordova.plist file:

<key>ExternalHosts</key>
       <array>
               <string>*.facebook.com</string>
       </array>

With *.facebook.com as the domain name, you can use two different sub-domains.

Solution 5 - Iphone

You will have to Domain Whitelist so you can access outside domains such as http://google.com.

In iOS (Cordova > 3.0.0), the whitelisting rules are found in AppName/config.xml and declared with the element <access origin="..." />

You can also use wildcards to declare domains. For example, to allow access to all subdomains and TLDs (.com, .net, etc) of Google, use *.google.*

Reference: Domain Whitelist Guide

Solution 6 - Iphone

Even I got the same issue... I fixed it in the below way..In cordova.plist--> under ExternalHosts array menu, add an item as * or .. So it allows all the external links... if u have to mention one by one mention it as .facebook.,.google. etc.

Solution 7 - Iphone

This is because phonegap won't take external urls .For phonegap older versions below 2.x we need to set url in cordova.plist like this.

ex:*.google.co.in(u can put your url after *. this) and OpenAllWhitelistURLsInWebView---to ---YES.

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionNejiView Question on Stackoverflow
Solution 1 - IphonenhahtdhView Answer on Stackoverflow
Solution 2 - IphoneIvanView Answer on Stackoverflow
Solution 3 - IphoneshawkinawView Answer on Stackoverflow
Solution 4 - IphoneManish AgrawalView Answer on Stackoverflow
Solution 5 - IphonewaelView Answer on Stackoverflow
Solution 6 - Iphonebharath gangupalliView Answer on Stackoverflow
Solution 7 - IphoneDC9999View Answer on Stackoverflow