Today at PhoneGap Day version 3.0 was released. This is a pretty significant release in terms of the underlying architecture and there are some things you should know.
First - let's start with a few links you should read:
Adobe PhoneGap 3.0 Released
What's New in Cordova iOS 3
Introducing Cordova 3 for Android
Second - there is a new command line tool you will use (or can use I should say, the cordova-cli still works), phonegap. The installation for this is rather trivial if you've got npm already installed:
sudo npm install -g phonegap
This may seem obvious, but phonegap cli is different from cordova cli. Be sure to use the built-in help and sniff around a bit so you see how it does things compared to cordova. This shouldn't take more than a few minutes and you will probably trip up a few times. Thank you, muscle memory.
One of the coolest aspects of the new command line though is that it fully supports PhoneGap Build. What this means is that you can use the command line to build via your terminal with and without the SDKs. Or heck, even if you do have the SDKs and want to use PhoneGap Build, the new PhoneGap cli makes this trivial.
Another useful feature is that if you run phongap as is, you get a quick checklist of what SDKs/platforms you can use locally:

OK - READ THIS CAREFULLY
This is the number one thing that I think will trip people up. One of the new things in PhoneGap 3 is a revised plugin architecture. All of the previously core features, like the Camera for example, are plugin based.
When I realized this, my first question was whether a virgin project would include support for the core stuff and expect developers to strip things out (if they cared) or if you would need to implicitly add in support for what you want to use.
Turns out - you need to add in what you want to use. What does that mean practically? As an example, if you try to use navigator.camera.getPicture it will fail with the "out of the box" project made at the command line.
To fix this you can add in the plugin of course. This takes two seconds and can be done via the CLI. This may not be very clear via the docs. First, the command line docs do talk about the core features as plugins and give you the commands to use... but for cordova, not phonegap.
So as an example, this is the cordova way to add the plugin: cordova plugin add https://git-wip-us.apache.org/repos/asf/cordova-plugin-camera.git
And this is how you would do it via phonegap: phonegap local plugin add https://git-wip-us.apache.org/repos/asf/cordova-plugin-camera.git
The net result is that when you start your PhoneGap project, you will want to think ahead of time about the features you need - the previously "just there" features - and add them via the CLI. (As an FYI, it is super easy to remove these plugins too. So if you added the Camera and realize you don't need it, you can quickly remove it.)
For a full list of these plugins, see below. I copied this directly from the link above, so it may change, so please see the link for the most up-to-date version.
Basic device information:
https://git-wip-us.apache.org/repos/asf/cordova-plugin-device.git
Network and battery status:
https://git-wip-us.apache.org/repos/asf/cordova-plugin-network-information.git
https://git-wip-us.apache.org/repos/asf/cordova-plugin-battery-status.git
Accelerometer, compass, and geolocation:
https://git-wip-us.apache.org/repos/asf/cordova-plugin-device-motion.git
https://git-wip-us.apache.org/repos/asf/cordova-plugin-device-orientation.git
https://git-wip-us.apache.org/repos/asf/cordova-plugin-geolocation.git
Camera, media capture, and media playback:
https://git-wip-us.apache.org/repos/asf/cordova-plugin-camera.git
https://git-wip-us.apache.org/repos/asf/cordova-plugin-media-capture.git
https://git-wip-us.apache.org/repos/asf/cordova-plugin-media.git
Access files on device or network:
https://git-wip-us.apache.org/repos/asf/cordova-plugin-file.git
https://git-wip-us.apache.org/repos/asf/cordova-plugin-file-transfer.git
Notifications via dialog box or vibration:
https://git-wip-us.apache.org/repos/asf/cordova-plugin-dialogs.git
https://git-wip-us.apache.org/repos/asf/cordova-plugin-vibration.git
Contacts:
https://git-wip-us.apache.org/repos/asf/cordova-plugin-contacts.git
Globalization:
https://git-wip-us.apache.org/repos/asf/cordova-plugin-globalization.git
Splash Screen:
https://git-wip-us.apache.org/repos/asf/cordova-plugin-splashscreen.git
In-app browser:
https://git-wip-us.apache.org/repos/asf/cordova-plugin-inappbrowser.git
Debug console:
https://git-wip-us.apache.org/repos/asf/cordova-plugin-console.git
p.s. I've not no idea what the debug console is. Going to research.
Archived Comments
Shorten url for repo would be nice :)
Agreed. It should just default to https://git-wip-us.apache.o... unless another prefix is specified.
It'd also be nice if it recognized the Github logins. :-)
I got an exception when tried to build or run from phonegap CLI
I followed theses steps:
I installed NodeJS successfully on my mac os
on the shell --> $ sudo npm install -g phonegap
then I tried build the app but I got this exception
Here is the code sample
$ phonegap create my-app
$ cd my-app
$ phonegap run android
$ phonegap run android
[phonegap] detecting Android SDK environment...
[phonegap] using the local environment
[phonegap] adding the Android platform...
[error] An error occured during creation of android sub-project. /bin/sh: /Users/mac/.cordova/lib/android/cordova/3.0.0/bin/create: No such file or directory
Phonegap version is
Macs-MacBook-Pro:hello mac$ phonegap --version
3.0.0-0.14.0
Any suggestions ?
Not sure. I'd suggest posting to the Google Group. If you get an answer, let us know.
Thanks for the article, you mention using :
$ phonegap local plugin add
But then list all the plugins using the cordova CLI. Any reason for the switch? Should users be using the phonegap CLI or stick with the cordova one?
Nevermind, missed the "I copied this directly from the link above, so it may change"
So to be clear, the plugin list is what you want, not the CLI you see me using there. I'm going to edit the list now and remove that so it is more clear.
At first glance the debugger plugin let's you log messages using console.log. Don't want to forget that one!
Yeah, that makes sense. Seems odd we need a plugin for that.
I'm completely new to PhoneGap, and I'm not totally clear about this.
When I installed PhoneGap 3 on my Mac (from http://phonegap.com/install/) That gave me the "phonegap" cli, but all the documentation at http://docs.phonegap.com all refers to the "cordova" cli which I don't seem to have.
Can the two cli tools work side by side? On the same project? How would I get the "cordova" cli?
The docs are still being updated. Yes both can be used - but "typically" you wouldn't need to worry about using both. I'd just use the PhoneGap CLI. I'm finding it simpler and more direct.
OMG I want to have your babies. I have lost the best part of a day wondering why nothing that touches navigator. works in Phonegap 3 when it worked just peachy in Phonegap 2.9.
Thank you so much for this post.
@Adrian: Heh, you are most welcome. :)
Thanks for the tutorial. I have a question just in case you came across same thing. on installing phonegap with npm I got the [warning] missing library cordova/android/3.0.0 and indeed after creating an ecplise project org.apache.cordova could not be resolved. Any idea where to get the usual jar file?
After some digging I found a solution to my problem. Just in case it helps some other person (asuming apache ant and phonegap relating things have all been installed):
1. Change into C:\Users\Cyril\.cordova\lib\android\cordova\3.0.0rc1\framework
2. Run 'ant jar'
3. Fix if it fails (most probably JAVA_HOME error - jdk not found)
4. Change into your project C:\my-app
5. Delete your project Android platform C:\my-app\platforms\android
6. Rebuild with phonegap --verbose build android
Thanks for sharing what you found, Cyril. I *rarely* use Eclipse now for PG development.
Is DW or will it soon be ready for PhoneGap 3 dev?
What tools do you use?
In theory, DW's use of PGB means that once PGB (PhoneGap Build) supports 3.0 then it should "just work". I don't use DW for PG dev so I can't comment more than that. I use the CLI and my favorite editor - Brackets.
I'm having trouble installing plugins using CLI
if I use:
$ cordova plugin add https://git-wip-us.apache.o...
i get error:
"git" command line tool is not installed: make sure it is accessible on your PATH.
I managed to install it using:
$ cordova plugin add device
but I have no idea how to install Connection plugin.
Any suggestions?
First - you probably need to install the Git command line anyway.
Secondly - this post is about the phonegap CLI (well, somewhat), not the cordova CLI.
Third - the Connection API is documented in the usual place. Did you check there?
Hi there.
Nice post!
Can you tell me what is the difference between the phonegap CLI and the cordova CLI.
I installed tow phonegap apps one using 'phonegap create test' and other using 'cordova create test com.test "HelloWorld"'.
I see the create a file phonegap.js and cordova.js but they are actually the same.
Currently the best "docs" is at the command line. Type phonegap and then phonegap help X for docs.
Hi there. How about fastcanvas plugin? What is the .git link?
Cyril thanks for the tip.
@RomV: https://github.com/phonegap...
Is it possible to make a Phonegap 3 app with push notifications? I don't see any push plugins listed at https://git-wip-us.apache.o...
The plugins there are *core* plugins, stuff for PG core features like globalization (which is broken unfortunately) and other things. It isn't for user submitted plugins.
Ok. Guess I have to wait for this issue to get resovled: https://github.com/phonegap...
To be clear, that appears to be for PGBuild. If you aren't using Build, then it isn't a problem. (If the core plugin itself was updated for PG 3.)
I, also, volunteer to have your babies! Why would they release such a huge change and not make it exceptionally clear what was going on? Thank you!!
Heh thanks Jessica. No need to have my babies - I've got 3 and they were delivered by airplane. ;)
Hello Raymond. Invading your blog again. So I have moved all my development to a Mac since that seems to be what all the PG people are doing. I have been able to create both an Android and an iOS Hello World project. Open one in Eclipse and other in Xcode and they both work. Woohoo.
My question is in CLI do we add the plugins when we are cd into the individual project folder or does "phonegap local plugin add..." add the plugin to all projects.
Additionally, if we have existing plugins we are using like Analytics and Push can you point me to where we would add those or even how?
Thanks for your help.
You are supposed to do it once - not once per platform - and when you build it should do the right thing to copy over. *Should*.
"Additionally, if we have existing plugins we are using like Analytics and Push can you point me to where we would add those or even how?"
Sorry - that I don't know how to do just yet.
Now I just get:
Me$ phonegap local plugin add https://git-wip-us.apache.o...
[error] project directory could not be found
I ran from in the project root folder and it worked.
Thanks for the post, it was a big help as I struggled all day to move up to cordova 3. I know you are not an Eclipse person, but what I do not get is why the documentation says to create an Android project from existing code, and use the platforms/android directory as the root of the project (http://cordova.apache.org/d.... In cordova 3 I should be editing the top-level www folder files and using prepare or build to push the entries down to my target platforms no? Seems like I am losing the main advantage of the new process - to edit files in one place?
You are right. Can I ask you file a documentation bug for it at issues.cordova.io?
Hi Raymond, I'd really like to know how to install Google Analytics plugin in my Phonegap 3.0 project.
I can't believe they would just launch a new version and not have this stuff available. Where's the source? Where's the manual? Where's the reference in the docs?
Thanks for any pointers!
To be clear, plugins like this are NOT built by the PG/Cordova team. They are built by people in the community. You can't blame the PG team for this as it is up to the plugin author to ensure their code works with the latest version.
I assume your question about the manual/docs are referring to the plugin docs, and again, that is *not* the responsibility of the PG team. You need to find the plugin home and check there.
Fair enough, thanks for the perspective Raymond!
I agree that 3rd party plugin builders should keep their code up to speed. But what's missing from the Cordova docs is any kind of explanation about how plugins for 3.0 are to be installed. At least, I am assuming that this has changed since Cordova's own plugins (for things like Camera) have been completely redesigned.
I haven't yet done a custom plugin with PG3. It may/should work the same as built in plugins - ie you use the phonegap CLI to install it.
I kind of disagree a little with, "You can't blame the PG team for this as it is up to the plugin author to ensure their code works with the latest version."
I understand what you are saying, but 3.0 changed so much that the huge repository of plugins that add significant value to using PhoneGap became useless. That doesn't seem like a smart move. It seems PhoneGap could proactively work with these plugins to bring them up to snuff, especially the ones that are used a lot like analytics. Taking the stance of, "hey it's not our problem none of the stuff you use doesn't work" doesn't really help people use PG.
Doesn't the ratio of plugins updated to 3.0 seem like a sad commentary on what the development community thinks?
I think it depends on how big those changes were. I do *not* write plugins so I can't comment on how difficult the process was. I'd be happy to hear from any plugin dev who wants to comment on the process. I _do_ develop plugins (well, extensions) for other projects and when the API changes, I try to make changes to ensure my code works. At the end of the day though it is my responsibility.
is there any possibilities for launching of CORDOVA-3.0.0 AND CORDOVA-3.0.0.JAR ??
I'm sorry but I have no idea what you mean.
Thank you for your guide. It looks to have been really helpful for many people. I got lucky and found this information elsewhere, but indeed, it is critical to know.
On the subject of critical-to-know information, I have no idea how to get 3rd party plugins working on 3.0.0.
I installed plugman. I think I "installed" the plugin I want (BarcodeScanner). And my app stopped working.
From there, I proceeded to take out all the references to the plugin (the new <feature> tag in the config.xml, the <script> tag that refers to barcodescanner.js). And even then, none of the JS in my app appears to be working. I will keep trying to figure this out.
In the meantime, is there any place to get good, authoritative--and confirmed--information on using 3rd party plugins with PG-3.0.0? My app is darn near useless without it, and I'd love to see the docs. At the very very least, it'd be nice to know the roadmap for docs.
On a software engineering note, I disagree that the plugin situation is entirely, as you seemed to imply, in the hands of the plugin devs. Every platform knows it would be immediately dead-in-the-water without 3rd party apps. It's why they have "Early Developer" releases and "pre-launch SDKs" and all other manner of things of this sort. To simply put one's hands up and say that it's someone else's responsibility is a terrifying attitude for a platform to have.
Imagine if PS or LR immediately broke all their plugin compatibility with a new release without a pre-release period where their plugin developers could make their code work. That'd be pretty appalling. I realize that PhoneGap/Cordova (could someone straighten this naming out, BTW?) is all 2.0/social-media/Millennial dev-style, but on the surface, this seems to be an unhealthy regard for the 3rd party developer community. Until Adobe is writing all the plugin content, it would seem unwise.
Having said that, I'm sure that wasn't your intent. It just came off callous. I'd appreciate, again, any information you have that would help us all use 3rd party plugins with PhoneGap 3.0.0.
Thank you.
Here's an update to my previous post. I was able to resolve some issues, specifically the part where I said _"none of the JS in my app appears to be working"_.
The recap goes like this. While installing the 3rd party plugin specifically for iOS, I used plugman incorrectly from the command line. Unfortunately, it did *not make me aware of the fact that it destroyed my core plugin specification file.* This seems like a very very bad side-effect from a possibly common user-error. Seems like some guards would be useful here.
I discovered this when, out of pure frustration, I switched over to my Git window to change repos (get my mind off the immediate problem). I noticed that a file I was unfamiliar with changed. In that file were all the core plugins I had installed (via phonegap local plugin add ...). And, that file had no entries where the there were entries before. I used Git to restore the file, and...voila! JS is working, and now I'm on the next step, debugging why the barcode scanner isn't working quite right. That may prove to be *actual* user error.
I hope this can help someone.
Qrux, I had problems with plugins in 3.0 as well: http://www.raymondcamden.co...
About the error
[error] An error occured during creation of android sub-project. /bin/sh: /Users/mac/.cordova/lib/android/cordova/3.0.0/bin/create: No such file or directory
I went into the finder and looked for the path, there is a directory "cordova-ios-3.0.0-26df4e2" (I was configuring ios platform, and come across this issue), and the bin directory is in this directory. so I move all file of cordova-ios-3.0.0-26df4e2 into directory 3.0.0, and it works.
Just installed node, ant, jdk, etc.
Everything works great unitl i try to add plugin.
C:\test1>phonegap local plugin add https://git-wip-us.apache.o... -V
[phonegap] adding the plugin: https://git-wip-us.apache.o...
[phonegap] Calling plugman.fetch on plugin "https://git-wip-us.apache.o..."
[error] Error fetching plugin: Error: failed to get the plugin via git from URL https://git-wip-us.apache.o..., output: Cl
oning into 'plugman-tmp1381333976632'...
fatal: unable to access 'https://git-wip-us.apache.o... Failed connect to git-wip-us.apache.org:443; No error
Have tried numerous variations. All fail.
phonegap can connect over https without any issues. It successfully connects and downloaded a missing package. I believe this means it can get through our proxy server OK.
Any help would be greatly appreciated.
Are you on VPN? My corporate VPN blocks access to some Git servers.
Figured one easy way: ignore the "installation" process for plugins, and just download the files, then place them in the right subdirs.
platforms/android/src/com/org/apache/cordova/plugin/
platforms/ios/MyAppName/Plugins/org.apache.cordova.plugin/
Both these folders are siblings of folders that contain the native plugin, but this folder will be the one where you put all your custom plugins.
Then, for Android, add a "feature" to the config.xml file, but not the one in /www.
The correct folder is:
platforms/android/res/xml
In my case, the feature is called SoftKeyBoard. The format of the feature is as follows (it uses the Java filename):
<feature name="SoftKeyBoard">
<param name="android-package" value="org.apache.cordova.plugin.SoftKeyBoard" />
</feature>
I haven't repeated this step for iOS, but using your powers of deduction you might get quite far.
Good luck!
Wytze
Hi Ray,
I am not on a VPN.
We discovered yesterday that the git clone can download the packages without issue. We can then use phonegap to add the local packages without issue.
I believe the problem is in the scripting that phonegap uses to access the packages through https.
In any event, we have documented the process for internal use and can move forward with our migration project.
Thanks for the blog. It is helpful to understand how others solve their problems.
Daryl
after I run this two command lines:
phonegap local plugin add https://git-wip-us.apache.org/...
phonegap local plugin add https://git-wip-us.apache.org/...
the plugins folder is still empty! How can I know if the plugins added? is there any changes at config.xml should appears?
Did you see any errors? Any result at all after running the command?
I'm at the end of my rope. I've rebuilt both Phonegap and Cordova 3.1.0 projects repeatedly in Xcode 5, and everything is great except sound. I've tried the Media plugin and LowLatencyAudio and they both freeze without any error codes, with MP3s and MP4s. My question is do some plugins such as the CDVSound (Media plugin) require other plugins? Nothing at all is being logged so I am assuming the file can't be located for some reason.
Both of those plugins may not be updated for 3.0. Have you checked with their authors? I hate to sound like I'm saying "Go away", but technically, for stuff like this, external plugins, your best option is to always check with the individual authors.
Also - check with my coworker and buddy Andrew Trice (http://www.tricedesigns.com/), I spoke with him a few days ago and he was doing something with an audio plugin. I don't know if it is the exact same plugin, but it may be related.
The CDVMedia plugin is not an external plugin.
My question was really if some of the plugins could be broken without other plugins. Could the CDVMedia plugin fail to locate a resource because the CDVFile plugin is not installed, for example.
Thanks.
I'm sorry J, I didn't recognize the name. I think you are absolutely right - that it may need the file plugin. Obviously it should be quick to test, right?
That is where I am now. The CDVFile plugin has about 20 javascript files and not a lot of documentation. Thanks again.
I'm using Windows 8, and when I put this at command:
phonegap local plugin add https://git-wip-us.apache.o...
I got this :
Error fetching plugin: Error: "git" command line tool is not installed: make sure it is accessible on your PATH.
somebody says that I've to download git:
http://git-scm.com/download...
but the same result at output.
continue:
when I put
local plugin list
nothing appears
After you downloaded git, did you remember to rerun the plugin add call?
yes I tried
this is an image:
https://d2r1vs3d9006ap.clou...
It looks like you did not install Git correctly. I'd do so again. If you can't type "git" in your command window and not get an error, then you aren't ready yet.
Hi,
Struggling a bit to get an app running on Ripple emulator with PhoneGap 3.0 - it's not calling the deviceready event. Any suggestion?
Kind Regards, Krish
Ripple is currently broken for PG 3 (well, PG2.7 and higher). I'm on the developer list (it is an open list at Apache) and an update is coming soon. When it does - I'll blog here.
Don't know if this has been posted yet but adding plugins can be done without full git repo urls as follows:
phonegap local plugin add org.apache.cordova.file
lookup de plugin id (e.g. org.apache.cordova.file) at http://plugins.cordova.io/
Works great, just like a package manager!
I don't get the organization of http://plugins.cordova.io It just seems like anyone can add whatever in there. Like what is error: forbidden or com.zjf?
Michael, I believe the developers are working on some updates to the site to make it a bit more sensible.
replying to my post above, I have fixed my issue buy uninstalling node from my mac then reinstalled it again following thes instructions
http://stackoverflow.com/qu...
I dont know exactly where is the root cause, but I think it was an issue in the node.js cashing for phonegap.
I'm an iOS developer, new to phone gap i have followed Cordova cli , when i try to add android platform i get below error , how to fix it i struck here for last 2 days can you help me with this please.
cordova platform add android
Error: ENOENT, no such file or directory '/Users/charan.pathapati/.cordova/lib/android/cordova/3.3.0/VERSION'
at Object.fs.openSync (fs.js:427:18)
at Object.fs.readFileSync (fs.js:284:15)
at /usr/local/lib/node_modules/cordova/src/platform.js:257:42
at _fulfilled (/usr/local/lib/node_modules/cordova/node_modules/q/q.js:798:54)
at self.promiseDispatch.done (/usr/local/lib/node_modules/cordova/node_modules/q/q.js:827:30)
at Promise.promise.promiseDispatch (/usr/local/lib/node_modules/cordova/node_modules/q/q.js:760:13)
at /usr/local/lib/node_modules/cordova/node_modules/q/q.js:821:14
at flush (/usr/local/lib/node_modules/cordova/node_modules/q/q.js:108:17)
at process._tickCallback (node.js:415:13)
at Function.Module.runMain (module.js:499:11)
$ cordova emulate android
Error: The provided path "/Users/charan.pathapati/hello/platforms/android" is not an Android project.
at Object.android_parser (/usr/local/lib/node_modules/cordova/src/metadata/android_parser.js:37:15)
at /usr/local/lib/node_modules/cordova/src/prepare.js:50:23
at Array.map (native)
at Object.prepare (/usr/local/lib/node_modules/cordova/src/prepare.js:48:35)
at /usr/local/lib/node_modules/cordova/src/emulate.js:93:42
at _fulfilled (/usr/local/lib/node_modules/cordova/node_modules/q/q.js:798:54)
at self.promiseDispatch.done (/usr/local/lib/node_modules/cordova/node_modules/q/q.js:827:30)
at Promise.promise.promiseDispatch (/usr/local/lib/node_modules/cordova/node_modules/q/q.js:760:13)
at /usr/local/lib/node_modules/cordova/node_modules/q/q.js:574:44
at flush (/usr/local/lib/node_modules/cordova/node_modules/q/q.js:108:17)
I assume you've followed everything in the platform guide, right?
Here is an odd one.
I ran a Cordova update and now see:
cordova -v
3.3.1-0.4.2
I go into a project root folder and do:
cordova platform update ios
ios updated to 3.3.0
Um.....?
*boggle* got me there. Report it on the Google group?
Hi Raymond
I have problem with the recent cordova version.Previously i mde cordova projects from th bin folder and any kind of plugins through cordova plugin add and phonegap local plugin add command.But not when i create a project in new cordova version it includes many extra folders and a cordovaLib folder dependency which is creating the problem i think.
And for push plugin previously i used phonegap but now when it is showing project folder not found.
So i don't know what is going on after the updation of cordova and phonegap.Can you help me out.
Thanks in advance
@Satyanarayan - I honestly don't understand what you are saying. When I use cordova create, I get folders: hooks, merges, platforms, plugins, and www.
@Raymond i am extremely sorry for my confusing questions.but i got my issue and degrade my phonegap and cordova version so that now i can install plugins easily through command line.
But one thing i marked in cordova 3.3 is it creates a .staging folder and cordovaLibs folder within platform>android folder which was not there in case of cordova 3.2.
i suspect about that .staging folder which is creating the bugs.So can you tell me about the new .staging folder
Thanks
Not sure what to say - when I make a new Cordova project I only see what I told you above.
When I try to install the plugin in my cordova project i get the following error :
Error: Command failed: Cloning into 'C:\Users\Enedia\AppData\Local\Temp\plugman-tmp1394732645631'...
fatal: unable to access 'https://git-wip-us.apache.o... Could not resolve proxy: proxy
I am trying to test it locally, so what should be the proxy settings?
It sounds like git is failing to load the repo. Do you have a firewall?
Yes I have the firewall its active.Should I deactivate it?
firewall is not the issue because i disabled it and I still get the same error. :/
nevermind, i fixed it with this command git config --global --unset http.proxy
thanx :)
I like how you thank me even though you fixed it yourself. ;) Seriously though - thanks for sharing what worked for you!
when i add a plugin via CLI it gets added in the plugin folder which is a subdirectory under "myapp" folder. However there are two www folder. One under "myapp" and other is created under platforms/ios/www/plugins. for example when i add device plugin, the Device.m and .h files are actually under myapp/plugins/src/ but under xcode on the left panel under plugins it shows both the files as red (not found) cos the path they pick is myapp/platform/ios/www/plugin
plugins are added automatically under myapp/plugins/, but then why xcode is pointing to the plugin folder under platforms/ios.
also the index file under platforms/ios is considered, then why it creates www outside as well under myapp/www
"owever there are two www folder. One under "myapp" and other is created under platforms/ios/www/plugins"
I do not see this. I do see a www folder under the root of my project. I do not see a www folder under /platforms/ios/www/plugins. Instead I see the plugin folder. Maybe you misspoke?
"also the index file under platforms/ios is considered, then why it creates www outside as well under myapp/www"
This makes absolutely no sense to me.
Best I can suggest is ensure you are running the latest Cordova. It works for me, and has for a while now.
Hi Raymond,
First of all, thanks for all your good work.
I've made an app in Cordova 2.9 for iOS and Android. In each of them I used some specific features for each platform. For instance, I've included Google Analytics in both platforms but with a different way of doing it. And, in Android I customized the main activity so I could access to preferences in a native way... things like that. But in both versions, the www folder contains the same files, so when I wanted to modify something in the html/javascript code, I had to copy it to the www folder of the other platform,...
With the new structure of Cordova, I guess that the way of working with it should be:
1. Create a new app.
2. Place your html/javascript code in the www folder of the app.
3. Build the app for each platform you want.
4. Customize each platform.
Now, I'd like to know how would be the process from that point, when I only want to update my html/javascript code (Have I to do it only in the main www folder? or, in each of the platform www folder?), without losing the changes in the customized "native" code of each platform.
I hope the question would be clear enough. If not, just let me know it.
Thank you very much in advance,
Rafael
What about using the merges folder? This is documented here - http://cordova.apache.org/d...
Thanks for your quick response!
It's not exactly what I was thinking of. It customizes the code in the main www folder for each platform and what I want is to update all of each platform www folder with the same content, but preserving the Java code I've modified in the Android/iOS platform files.
Reading the site you mentioned, raised another question or, prehaps, the same question: The command "cordova platform update android",
is only used to upgrade to new versions of Cordova?
can it be used to copy the files in main www folder (with the correspondent differences made through "merges" ) to each platform ones?
how does it affect to the changes I've made in the Java files for each platform?
I think you are right about merges, and if so, sorry for the misdirect there. If you are planning on customizing your platforms, you may want to skip using the cordova CLI to do builds as it will blow away your mods. You could write your own shell script to copy just the www bits perhaps?
"The command "cordova platform update android",
is only used to upgrade to new versions of Cordova?
can it be used to copy the files in main www folder (with the correspondent differences made through "merges" ) to each platform ones?"
Um, I believe the answer to the first one is yes. For the second one, I don't think it works that way.
Raymond, thanks a lot for your interest and your answer. It gives me a hint of what can I expect and what I shouldn't do... I'll keep looking for an answer to my last question, because the it bothers me the possibility of missing all I've done, in the platform level, when upgrading to a new version of Cordova.
Thanks again!
Hello,
I am creating an app and adding the https://build.phonegap.com/... plugin.
but I cant use when I try with "phonegap developer app"
I am using build service, but after that I want to make local test with phonegap developer app what should I do?
Custom plugins (ie, outside the core) are not supported.