Reputation: 109
I'm working with Cordova for the first time (not Phonegap!) and my app works fine on Android but can't access the external server for ajax calls on iOS. I added
<access origin="*" />
to the config.xml without any success. All solutions I could find only work in Phonegap. Does anyone know how to fix that problem? Maybe even a setting in Xcode? Thank you so much!
Upvotes: 0
Views: 3254
Reputation:
over the last two (2) weeks Cordova has made some major changes. The documentation has NOT caught up. I don't expect it will catch up for at least a few weeks. You have two (2) options:
white-list
I recommend #2.
From Top Mistakes by Developers new to Cordova/Phonegap you have hit:
For #6 & #7
With the CLI version, if you do not assign a version for your platform OR in ''Phonegap Build'' if you do not set the phonegap-version in config.xml, YOU WILL GET THE LATEST VERSION. If you are lucky, your program just works as expected. If you are not lucky, you'll get a set of cascading errors.
Luckily for all of us, Holly Schinsky has written a nice blog post to explain it all:
Cordova/PhoneGap Version Confusion
http://devgirl.org/2014/11/07/cordovaphonegap-version-confusion/
For #10
This relatively * NEW * requirement means – to access ANY website or resources on the web, you MUST use the whitelist and the whitelist plugin. This requirement goes into affect, if you are using [email protected] or better; including cli-5.1.1 and cli-5.2.0. If however, your version is before 4.0.0, let's say 3.5.0 or 3.7.0, then you will not have to add the white-list requirement.
To be clear, the "whitelist" has been around for a bit, but the plugin and requirement is very new. As you would expect, when the "whitelist" was added, the defacto open-access feature was deprecated. Or said another way, the defacto open-access feature was planned and scheduled to be eliminated. This change marks a step in removal of the open-access feature.
In addition, the Content Security Policy (CSP) has caught numerous developers - because it was soooo poorly publicized. Depending on your use and the version of Phonegap you are using, the CSP needs to go in every single HTML page you used, just like you have to wait for 'deviceready'. However, there are cases where it is not needed at all. The documentation is confusing for some, please read it carefully. The documentation is buried in the bottom of many of the latest documentation pages.
Related Links
Phonegap Build Forum: Notes for upgrading to cli-5.1.1 on PGB and now required Whitelist
- Cordova Whitelist Guide
- Phonegap Whitelist Guide
- Phonegap Build Whitelist Guide
- White-list Plugin - READ BOTTOM section for instruction on CSP
Upvotes: 2