cordova-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From mwbro...@apache.org
Subject [02/12] Add version 3.2.0-en docs.
Date Thu, 28 Nov 2013 22:39:01 GMT
http://git-wip-us.apache.org/repos/asf/cordova-docs/blob/3ef0092b/docs/en/3.2.0/guide/platforms/ios/upgrading.md
----------------------------------------------------------------------
diff --git a/docs/en/3.2.0/guide/platforms/ios/upgrading.md b/docs/en/3.2.0/guide/platforms/ios/upgrading.md
new file mode 100644
index 0000000..6d20980
--- /dev/null
+++ b/docs/en/3.2.0/guide/platforms/ios/upgrading.md
@@ -0,0 +1,765 @@
+---
+license: Licensed to the Apache Software Foundation (ASF) under one
+         or more contributor license agreements.  See the NOTICE file
+         distributed with this work for additional information
+         regarding copyright ownership.  The ASF licenses this file
+         to you under the Apache License, Version 2.0 (the
+         "License"); you may not use this file except in compliance
+         with the License.  You may obtain a copy of the License at
+
+           http://www.apache.org/licenses/LICENSE-2.0
+
+         Unless required by applicable law or agreed to in writing,
+         software distributed under the License is distributed on an
+         "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+         KIND, either express or implied.  See the License for the
+         specific language governing permissions and limitations
+         under the License.
+---
+
+# Upgrading iOS
+
+This guide shows how to modify iOS projects to upgrade from older
+versions of Cordova.  Most of these instructions apply to projects
+created with an older set of command-line tools that precede the
+`cordova` CLI utility. See The Command-Line Interface for information
+how to update the version of the CLI.
+
+__NOTE__: Xcode 4.6 is required, Xcode 5 is recommended. Currently, to submit to the
+Apple App Store, you should use the latest shipped version of the iOS SDK, which is iOS 7.
+iOS 7 SDK is not required yet, but this may change quickly.
+
+## Upgrading 3.1.0 Projects to 3.2.0
+
+For non-CLI projects, run:
+
+        bin/update path/to/project
+        
+For CLI projects:
+
+1. Update the `cordova` CLI version. See The Command-Line Interface.
+
+2. Run `cordova platform update ios`
+        
+
+## Upgrading 3.0.0 Projects to 3.1.0
+
+For non-CLI projects, run:
+
+        bin/update path/to/project
+        
+For CLI projects:
+
+1. Update the `cordova` CLI version. See The Command-Line Interface.
+
+2. Run `cordova platform update ios`
+        
+iOS 7 Issues:
+
+1. Remove `width=device-width, height=device-height` from the
+   `index.html` file's `viewport` `meta` tag. (See [the relevent
+   bug](https://issues.apache.org/jira/browse/CB-4323).)
+
+2. Update your media, media-capture and splashscreen core plugins for
+   iOS 7 support.
+
+Xcode 5 Issues:
+
+1. Update your Project Settings if Xcode 5 prompts you to do so (in the Issues Navigator).
+
+2. Update your __Compiler for C/C++/Objective-C__ setting, under the
+   __Build Settings__ tab, __Build Options__ section. Choose __Default
+   compiler (Apple LLVM 5.0)__.
+
+## Upgrade to the CLI (3.0.0) from 2.9.0
+
+1. Create a new Apache Cordova 3.0.0 project using the cordova CLI, as
+   described in The Command-Line Interface.
+
+2. Add your platforms to the cordova project, for example: `cordova
+   platform add ios`.
+
+3. Copy the contents of the project's `www` directory to the `www` directory
+   at the root of the cordova project you just created.
+
+4. Copy or overwrite any native assets from your original project
+   (`Resources`, etc.), making sure to add any
+   new files to the `.xcodeproj` project. The iOS project builds
+   inside the `platforms\ios` directory.
+
+5. Copy your `config.xml` into the `www` directory, and remove any plugin
+   definitions. Modify settings here instead of the platform directory.
+
+6. Use the cordova CLI tool to install any plugins you need. Note that
+   the CLI handles all core APIs as plugins, so they may need to be
+   added. Only 3.0.0 plugins are compatible with the CLI.
+
+7. Build and test.
+
+## Upgrading 2.9.0 Projects to 3.0.0
+
+1. Download and extract the Cordova 3.0.0 source to a permanent directory location on your hard drive, for example to `~/Documents/Cordova-3.0.0`.
+
+2. Quit Xcode if it is running.
+
+3. Using Terminal.app, navigate to the directory where you put the downloaded source above.
+
+4. Create a new project, as described in iOS Command-line Tools. You need the assets from this new project.
+
+5. Copy the `www/cordova.js` (note that it does not have a version suffix anymore, the version is in the file itself in the header) file from the new project into your `www` directory, and delete your `www/cordova.js` file.
+
+6. Update the Cordova script reference in your `www/index.html` file (and any other files that contain the script reference) to point to the new `cordova.js` file.
+
+7. Delete your `CordovaLib` directory, and copy the `CordovaLib` directory from the new project into your project's root directory.
+
+__NOTE__: Starting with Cordova 3.0.0, plugins are not pre-installed,
+and you need to use the `plugman` command-line utility to install them
+yourself. See Using Plugman to Manage Plugins.
+
+## Upgrading 2.8.0 Projects to 2.9.0
+
+1. Download and extract the Cordova 2.9.0 source to a permanent directory location on your hard drive, for example to `~/Documents/Cordova-2.9.0`.
+
+2. Quit Xcode if it is running.
+
+3. Using Terminal.app, navigate to the directory where you put the downloaded source above.
+
+4. Create a new project, as described in iOS Command-line Tools. You need the assets from this new project.
+
+5. Copy the `www/cordova.js` (note that it does not have a version suffix anymore, the version is in the file itself in the header) file from the new project into your `www` directory, and delete your `www/cordova.js` file.
+
+6. Update the Cordova script reference in your `www/index.html` file (and any other files that contain the script reference) to point to the new `cordova.js` file.
+
+7. Delete your `CordovaLib` directory, and copy the `CordovaLib` directory from the new project into your project's root directory.
+
+## Upgrading 2.7.0 Projects to 2.8.0
+
+1. Download and extract the Cordova 2.8.0 source to a permanent directory location on your hard drive, for example to `~/Documents/Cordova-2.8.0`.
+
+2. Quit Xcode if it is running.
+
+3. Using Terminal.app, navigate to the directory where you put the downloaded source above.
+
+4. Create a new project, as described in iOS Command-line Tools. You need the assets from this new project.
+
+5. Copy the `www/cordova.js` (note that it does not have a version suffix anymore, the version is in the file itself in the header) file from the new project into your `www` directory, and delete your `www/cordova-2.7.0.js` file.
+
+6. Update the Cordova script reference in your `www/index.html` file (and any other files that contain the script reference) to point to the new `cordova.js` file.
+
+7. Update any `<plugin>` tags in the `config.xml` file to `<feature>` tags. Note that existing `<plugin>` tags still work, but are deprecated. You can copy this information in the `config.xml` file for a new project. For example:
+
+        <plugins>
+            <plugin name="LocalStorage" value="CDVLocalStorage" />
+            <!-- other plugins -->
+        </plugins>
+        
+        <!-- change to: (note that a <feature> tag is on the same level as <plugins> -->
+        <feature name="LocalStorage">
+    	    <param name="ios-package" value="CDVLocalStorage" />
+    	</feature>
+    	<!-- other <feature> tags -->
+        
+
+8. Delete the `CordovaLib` directory, and copy the `CordovaLib` directory from the new project into your project's root directory.
+
+9. Add these two frameworks to your project:
+        
+        OpenAL
+        ImageIO
+
+10. Update your project's target __Build Settings__. Under __Linking &rarr; Other Linker Flags__, edit __"-Obj-C"__ to be __"-ObjC"__.
+
+11. Update your project's target __Build Settings__. Under __Linking &rarr; Other Linker Flags__, change __"-all\_load"__ to be `-force\_load ${BUILT\_PRODUCTS\_DIR}/libCordova.a`. You would only need to do this if you have the problem defined in [this issue.](https://issues.apache.org/jira/browse/CB-3458).
+
+## Upgrading 2.6.0 Projects to 2.7.0
+
+1. Download and extract the Cordova 2.7.0 source to a permanent directory location on your hard drive, for example to `~/Documents/Cordova-2.7.0`.
+
+2. Quit Xcode if it is running.
+
+3. Using Terminal.app, navigate to the directory where you put the downloaded source above.
+
+4. Create a new project, as described in iOS Command-line Tools. you need the assets from this new project.
+
+5. Copy the `www/cordova-2.7.0.js` file from the new project into your `www` directory, and delete your `www/cordova-2.6.0.js` file.
+
+6. Update the Cordova script reference in your `www/index.html` file (and any other files that contain the script reference) to point to the new `cordova-2.7.0.js` file.
+
+7. Update (or replace, if you never changed the file) your `AppDelegate.m` file according to the one from the new project (see [this diff](https://git-wip-us.apache.org/repos/asf?p=cordova-ios.git;a=blobdiff;f=bin/templates/project/__TESTING__/Classes/AppDelegate.m;h=5c05ac80e056753c0e8736f887ba9f28d5b0774c;hp=623ad8ec3c46f656ea18c6c3a190d650dd64e479;hb=c6e71147386d4ad94b07428952d1aae0a9cbf3f5;hpb=c017fda8af00375a453cf27cfc488647972e9a23)).
+
+8. In your `config.xml` file, [remove this line](https://git-wip-us.apache.org/repos/asf?p=cordova-ios.git;a=blobdiff;f=bin/templates/project/__TESTING__/config.xml;h=537705d76a5ef6bc5e57a8ebfcab78c02bb4110b;hp=8889726d9a8f8c530fe1371c56d858c34552992a;hb=064239b7b5fa9a867144cf1ee8b2fb798ce1f988;hpb=c9f233250d4b800f3412eeded811daaafb17b2cc).
+
+9. Delete your `CordovaLib` directory, and copy the `CordovaLib` directory from the new project into your project's root directory.
+
+## Upgrading 2.5.0 Projects to 2.6.0
+
+1. Download and extract the Cordova 2.6.0 source to a permanent directory location on your hard drive, for example to `~/Documents/Cordova-2.6.0`.
+
+2. Quit Xcode if it is running.
+
+3. Using Terminal.app, navigate to the directory where you put the downloaded source above.
+
+4. Create a new project, as described in iOS Command-line Tools. You need the assets from this new project.
+
+5. Copy the project's `www/cordova-2.6.0.js` file into your `www` directory, and delete your `www/cordova-2.5.0.js` file.
+
+6. Update the Cordova script reference in your `www/index.html` file (along with any other files that reference the script) to refer to the new `cordova-2.6.0.js` file.
+
+7. Update (or replace, if you never changed the file) your `AppDelegate.m` file according to the one from the new project (see [this diff](https://git-wip-us.apache.org/repos/asf?p=cordova-ios.git;a=blobdiff;f=bin/templates/project/__TESTING__/Classes/AppDelegate.m;h=124a56bb4f361e95616f44d6d6f5a96ffa439b60;hp=318f79326176be8f16ebc93bad85dd745f4205b6;hb=a28c7712810a63396e9f32fa4eb94fe3f8b93985;hpb=36acdf55e4cab52802d73764c8a4b5b42cf18ef9)).
+
+8. In your `config.xml` file, [add this new line](https://git-wip-us.apache.org/repos/asf?p=cordova-ios.git;a=blobdiff;f=bin/templates/project/__TESTING__/config.xml;h=1555b5e81de326a07efe0bccaa5f5e2326b07a9a;hp=0652d60f8d35ac13c825c572dca6ed01fea4a540;hb=95f16a6dc252db0299b8e2bb53797995b1e39aa1;hpb=a2de90b8f5f5f68bd9520bcbbb9afa3ac409b96d).
+
+9. In your `config.xml` file, [add this new line](https://git-wip-us.apache.org/repos/asf?p=cordova-ios.git;a=blobdiff;f=bin/templates/project/__TESTING__/config.xml;h=d307827b7e67301171a913417fb10003d43ce39d;hp=04260aa9786d6d74ab20a07c86d7e8b34e31968c;hb=97b89edfae3527828c0ca6bb2f6d58d9ded95188;hpb=942d33c8e7174a5766029ea1232ba2e0df745c3f).
+
+10. In your `config.xml` file, [UIWebViewBounce has been changed to DisallowOverscroll, and default values are different](https://git-wip-us.apache.org/repos/asf?p=cordova-ios.git;a=blobdiff;f=bin/templates/project/__TESTING__/config.xml;h=8889726d9a8f8c530fe1371c56d858c34552992a;hp=d307827b7e67301171a913417fb10003d43ce39d;hb=57982de638a4dce6ae130a26662591741b065f00;hpb=ec411f18309d577b4debefd9a2f085ba719701d5).
+
+10. In your `config.xml` file, the `EnableLocation` preference has been deprecated.
+
+11. Delete your `CordovaLib` directory, and copy the `CordovaLib` directory from the new project into your project's root directory.
+
+## Upgrading 2.4.0 Projects to 2.5.0
+
+1. Download and extract the Cordova 2.5.0 source to a permanent directory location on your hard drive, for example to `~/Documents/Cordova-2.5.0`.
+
+2. Quit Xcode if it is running.
+
+3. Using Terminal.app, navigate to the directory where you put the downloaded source above.
+
+4. Create a new project, as described in iOS Command-line Tools. You need the assets from this new project.
+
+5. Copy the `www/cordova-2.5.0.js` file from the new project into your `www` directory and delete your `www/cordova-2.4.0.js` file.
+
+6. Update the Cordova script reference in your `www/index.html` file (and any other files that contain the script reference) to point to the new `cordova-2.5.0.js` file.
+
+7. Update (or replace, if you never changed the file) your `AppDelegate.m` file according to the one from the new project (see [this diff](https://git-wip-us.apache.org/repos/asf?p=cordova-ios.git;a=blobdiff;f=bin/templates/project/__TESTING__/Classes/AppDelegate.m;h=318f79326176be8f16ebc93bad85dd745f4205b6;hp=6dc7bfc84f0ecede4cc43d2a3256ef7c5383b9fe;hb=4001ae13fcb1fcbe73168327630fbc0ce44703d0;hpb=299a324e8c30065fc4511c1fe59c6515d4842f09)).
+
+8. In your `config.xml` file, [add these new lines](https://git-wip-us.apache.org/repos/asf?p=cordova-ios.git;a=blobdiff;f=bin/templates/project/__TESTING__/config.xml;h=903944c4b1e58575295c820e154be2f5f09e6314;hp=721c734120b13004a4a543ee25f4287e541f34be;hb=ae467249b4a256bd31ee89aea7a06f4f2316b8ac;hpb=9e39f7ef8096fb15b38121ab0e245a3a958d9cbb).
+
+9. In your `config.xml` file, [edit the root element, change it from cordova to widget](https://git-wip-us.apache.org/repos/asf?p=cordova-ios.git;a=blobdiff;f=bin/templates/project/__TESTING__/config.xml;h=64e71636f5dd79fa0978a97b9ff5aa3860a493f5;hp=d8579352dfb21c14e5748e09b2cf3f4396450163;hb=0e711f8d09377a7ac10ff6be4ec17d22cdbee88d;hpb=57c3c082ed9be41c0588d0d63a1d2bfcd2ed878c).
+
+10. In your `config.xml` file, [remove the OpenAllWhitelistURLsInWebView preference](https://git-wip-us.apache.org/repos/asf?p=cordova-ios.git;a=blobdiff;f=bin/templates/project/__TESTING__/config.xml;h=721c734120b13004a4a543ee25f4287e541f34be;hp=7d67508b70914aa921a16e79f79c00512502a8b6;hb=187bf21b308551bfb4b98b1a5e11edf04f699791;hpb=03b8854bdf039bcefbe0212db937abd81ac675e4).
+
+11. Delete your `cordova` directory, and copy the `cordova` directory from the new project into your project's root directory. In 2.5.0, this has updated scripts.
+
+12. Delete your `CordovaLib` directory, and copy the `CordovaLib` directory from the new project into your project's root directory.
+
+## Upgrading 2.3.0 Projects to 2.4.0
+
+1. Download and extract the Cordova 2.4.0 source to a permanent directory location on your hard drive, for example to `~/Documents/Cordova-2.4.0`.
+
+2. Quit Xcode if it is running.
+
+3. Using Terminal.app, navigate to the directory where you put the downloaded source above.
+
+4. Create a new project, as described in iOS Command-line Tools. You need the assets from this new project.
+
+5. Copy the `www/cordova-2.4.0.js` file from the new project into your `www` directory, and delete your `www/cordova-2.3.0.js` file.
+
+6. Update the Cordova script reference in your `www/index.html` file (and any other files that contain the script reference) to point to the new `cordova-2.4.0.js` file.
+
+7. Update (or replace, if you never changed the files) your `MainViewController.m` file according to the one from the new project (see [this diff](https://git-wip-us.apache.org/repos/asf?p=cordova-ios.git;a=blobdiff;f=bin/templates/project/__TESTING__/Classes/MainViewController.m;h=5f9eeac15c2437cd02a6eb5835b48374e9b94100;hp=89da1082d06ba5e5d0dffc5b2e75a3a06d5c2aa6;hb=b4a2e4ae0445ba7aec788090dce9b822d67edfd8;hpb=a484850f4610e73c7b20cd429a7794ba829ec997)).
+
+8. Update (or replace, if you never changed the file) your `AppDelegate.m` file according to the one from the new project (see [this diff](https://git-wip-us.apache.org/repos/asf?p=cordova-ios.git;a=blobdiff;f=bin/templates/project/__TESTING__/Classes/AppDelegate.m;h=6dc7bfc84f0ecede4cc43d2a3256ef7c5383b9fe;hp=1ca3dafeb354c4442b7e149da4f281675aa6b740;hb=6749c17640c5fed8a7d3a0b9cca204b89a855baa;hpb=deabeeb6fcb35bac9360b053c8bf902b45e6de4d)).
+
+9. In your `config.xml` file, [add this new line](https://git-wip-us.apache.org/repos/asf?p=cordova-ios.git;a=blobdiff;f=bin/templates/project/__TESTING__/config.xml;h=7d67508b70914aa921a16e79f79c00512502a8b6;hp=337d38da6f40c7432b0bce05aa3281d797eec40a;hb=6749c17640c5fed8a7d3a0b9cca204b89a855baa;hpb=deabeeb6fcb35bac9360b053c8bf902b45e6de4d).
+
+10. Delete your `cordova` directory, and copy the `cordova` directory from the new project into your project's root directory. In 2.4.0, this has fixed scripts.
+
+11. Delete your `CordovaLib` directory, and copy the `CordovaLib` directory from the new project into your project's root directory.
+
+12. Add AssetsLibrary.framework as a resource to your project.  (See [Apple's documentation](https://developer.apple.com/library/ios/#recipes/xcode_help-project_editor/Articles/AddingaLibrarytoaTarget.html) for instructions on how to do so.).
+
+## Upgrading 2.2.0 Projects to 2.3.0
+
+1. Download and extract the Cordova 2.3.0 source to a permanent directory location on your hard drive, for example to `~/Documents/Cordova-2.3.0`.
+
+2. Quit Xcode if it is running.
+
+3. Using Terminal.app, navigate to the directory where you put the downloaded source above.
+
+4. Create a new project, as described in iOS Command-line Tools. You need the assets from this new project.
+
+5. Copy the `www/cordova-2.3.0.js` file from the new project into your `www` directory, and delete your `www/cordova-2.2.0.js` file.
+
+6. Update the Cordova script reference in your `www/index.html` file (and any other files that contain the script reference) to point to the new `cordova-2.3.0.js` file.
+
+7. Update (or replace, if you never changed the file) your `MainViewController.m` according to the one from the new project.
+
+8. Delete your `cordova` directory, and copy the `cordova` directory from the new project into your project's root directory. In 2.3.0, this has new scripts.
+
+9. Delete your `CordovaLib` directory, and copy the `CordovaLib` directory from the new project into your project's root directory.
+
+10. Convert your `Cordova.plist` file to `config.xml`, by running the script `bin/cordova\_plist\_to\_config\_xml` on your project file.
+
+11. Add the InAppBrowser plugin to your `config.xml`, by adding this tag under `<cordova><plugins>`:
+
+        <plugin name="InAppBrowser" value="CDVInAppBrowser" />
+
+12. Note that Objective-C plugins are _not_ whitelisted anymore. To whitelist your connections with the app whitelist, you need to set the `User-Agent` header of the connection to the same user-agent as the main Cordova WebView.
+You can get this by accessing the `userAgent` property off the main view-controller. The main view-controller (`CDVViewController`) also has a `URLisAllowed` method for you to check whether a URL passes the whitelist.
+
+13. Device API changes:
+    - For iOS, device.platform used to return `iPhone`, `iPad` or `iPod Touch`; now it returns (correctly) `iOS`.
+    - For iOS, device.name (now deprecated for all platforms) used to return the name of the user’s device (e.g ‘Shazron’s iPhone 5′); now it returns what device.platform used to return: `iPhone`, `iPad` or `iPod Touch`.
+    - For all platforms, there is a new property called device.model; this returns the specific device model, e.g `iPad2,5` (for other platforms, this returns what device.name used to return).
+
+## Upgrading 2.1.0 Projects to 2.2.0
+
+1. Download and extract the Cordova 2.2.0 source to a permanent directory location on your hard drive, for example to `~/Documents/Cordova-2.2.0`.
+
+2. Quit Xcode if it is running.
+
+3. Using Terminal.app, navigate to the directory where you put the downloaded source above.
+
+4. Create a new project, as described in iOS Command-line Tools. You need the assets from this new project.
+
+5. Copy the `www/cordova-2.2.0.js` file from the new project into your `www` directory, and delete your `www/cordova-2.1.0.js` file.
+
+6. Update the Cordova script reference in your `www/index.html` file (and any other files that contain the script reference) to point to the new `cordova-2.2.0.js` file.
+
+7. Update (or replace, if you never changed the file) your `MainViewController.m` according to the one from the new project:
+    - Updated &rarr; viewWillAppear
+
+8. Copy the `cordova` directory from the new project into your project's root directory. In 2.2.0, this has an updated 'emulate' script.
+
+9. Next, update your `CordovaLib` sub-project reference. Beginning with Cordova 2.1.0, we are not using the CORDOVALIB Xcode variable anymore when referencing where `CordovaLib` resides, the reference is an absolute file reference now.
+    1. Launch Terminal.app
+    2. Go to the location where you installed Cordova (see Step 1), in the `bin` subdirectory
+    3. Run the script below where the first parameter is the path to your project's `.xcodeproj` file:
+
+        `update_cordova_subproject path/to/your/project/xcodeproj`
+
+__NOTE__: In 2.2.0, the `bin/create` script copy in the `CordovaLib` sub-project into your project. To have the same kind of setup, just copy in the right `CordovaLib` into your project directory, and update the `CordovaLib` sub-project location (relative to the project) in the Xcode File Inspector.
+
+## Upgrading 2.0.0 Projects to 2.1.0
+
+With Cordova 2.1.0, `CordovaLib` has been upgraded to use __Automatic Reference Counting (ARC)__. You don't need to upgrade to __ARC__ to use CordovaLib, but if you want to upgrade your project to use __ARC__, please use the Xcode migration wizard from the menu: __Edit &rarr; Refactor &rarr; Convert to Objective-C ARC...__, de-select libCordova.a, then run the wizard to completion.
+
+1. Download and extract the Cordova 2.1.0 source to a permanent directory location on your hard drive, for example to `~/Documents/Cordova-2.1.0`.
+
+2. Quit Xcode if it is running.
+
+3. Using Terminal.app, navigate to the directory where you put the downloaded source above.
+
+5. Create a new project, as described in iOS Command-line Tools. You need the assets from this new project.
+
+6. Copy the `www/cordova-2.1.0.js` file from the new project into your `www` directory, and delete your `www/cordova-2.0.0.js` file.
+
+7. Update the Cordova script reference in your `www/index.html` file (and any other files that contain the script reference) to point to the new `cordova-2.1.0.js` file.
+
+8. Update (or replace, if you never changed the file) your `AppDelegate.m` according to the one from the new project:
+    - Edited &rarr; application:didFinishLaunchingWithOptions:
+	- Added  &rarr; application:supportedInterfaceOrientationsForWindow:
+
+9. Update (or replace, if you never changed the file) your `MainViewController.m` according to the one from the new project:
+    - Added &rarr; viewWillAppear
+
+10. Copy the `cordova` directory from the new project into your project's root directory. In 2.1.0, this has the updated scripts to support paths with spaces.
+
+11. Remove the `VERSION` file reference from your project (_not_ the one in `CordovaLib`).
+
+12. Next, update your `CordovaLib` sub-project reference. Beginning with Cordova 2.1.0, we are not using the CORDOVALIB Xcode variable anymore when referencing where `CordovaLib` resides, the reference is an absolute file reference now.
+    1. Launch Terminal.app
+    2. Go to the location where you installed Cordova (see Step 1), in the `bin` subdirectory
+    3. Run the script below where the first parameter is the path to your project's `.xcodeproj` file:
+
+        `update_cordova_subproject path/to/your/project/xcodeproj`
+
+## Upgrading 1.9.0 Projects to 2.0.0
+
+1. Install Cordova 2.0.0.
+
+2. Create a new project, as described in iOS Command-line Tools. You need the assets from this new project.
+
+3. Copy the `www/cordova-2.0.0.js` file from the new project into your `www` directory, and delete your `www/cordova-1.9.0.js` file.
+
+4. Update the Cordova script reference in your `www/index.html` file (and any other files that contain the script reference) to point to the new `cordova-2.0.0.js` file.
+
+5. Copy the `cordova` directory from the new project into your project's root directory (if you want the project command-line tools).
+
+6. Add a new entry under `Plugins` in your `Cordova.plist` file, under
+   the __Supporting Files__ group. The key is `Device` and the value
+   is `CDVDevice`.
+
+7. Remove `Cordova.framework`.
+
+8. Remove `verify.sh` from the __Supporting Files__ group.
+
+9. Select the project icon in the Project Navigator, select your project __Target__, then select the __Build Settings__ tab.
+
+10. Search for __Preprocessor Macros__, then remove all __CORDOVA_FRAMEWORK=1__ values.
+
+11. Locate the `CordovaLib` directory that was installed in your hard-drive under your home folder's `Documents` subdirectory.
+
+12. Locate the `CordovaLib.xcodeproj` file in the `CordovaLib` directory, then drag and drop the file into your project. It should appear as a sub-project.
+
+13. Build your project, you should get some errors relating to `#import` directives.
+
+14. For the `#import` errors, change any quote-based imports in this style:
+
+        #import "CDV.h"
+
+    to this brackets-based style:
+
+        #import <Cordova/CDV.h>
+
+    and remove any `#ifdef` wrappers around any Cordova imports, they are not needed anymore (the imports are now unified)
+
+15. Build your project again, and it should not have any `#import` errors.
+
+16. Select the __project icon__ in the Project Navigator, select your project __Target__, then select the __Build Phases__ tab.
+
+17. Expand the __Target Dependencies__ phase, then select the __+__ button.
+
+18. Select the `CordovaLib` target, then select the __Add__ button.
+
+19. Expand the first __Link Binary with Libraries__ phase (it should already contain a bunch of frameworks), then select the __+__ button.
+
+20. Select the `libCordova.a` static library, then select the __Add__ button.
+
+21. Delete the __Run Script__ phase.
+
+22. Select the __project icon__ in the Project Navigator, select your project __Target__, then select the __Build Settings__ tab.
+
+23. Search for __Other Linker Flags__, and add the values __-force_load__ and __-Obj-C__.
+
+24. Expand the `CordovaLib` sub-project.
+
+25. Locate the `VERSION` file, drag it into your main project (we want to create a link to it, not a copy).
+
+26. Select the __Create groups for any added folders__ radio button, then select the __Finish__ button.
+
+27. Select the `VERSION` file that you just dragged in a previous step.
+
+28. Type the __Option-Command-1__ key combination to show the __File Inspector__ (or menuitem __View &rarr; Utilities &rarr; Show File Inspector__).
+
+29. Choose __Relative to CORDOVALIB__ in the __File Inspector__ for the drop-down menu for __Location__.
+
+30. Set the Xcode preference __Xcode Preferences &rarr; Locations &rarr; Derived Data &rarr; Advanced...__ to __Unique__, so that the unified headers can be found.
+
+31. Select the __project icon__ in the Project Navigator, select your __Target__, then select the __Build Settings__ tab.
+
+32. Search for __Header Search Paths__. For that setting, append these three values, including quotes:
+
+        "$(TARGET_BUILD_DIR)/usr/local/lib/include"
+
+        "$(OBJROOT)/UninstalledProducts/include"
+
+        "$(BUILT_PRODUCTS_DIR)"
+
+33. Search for __Other Linker Flags__. For that setting, append this value:
+
+        -weak_framework CoreFoundation
+
+34. Build your project, it should compile and link with __no issues__.
+
+35. Select your project from the __Scheme__ drop-down, and then select __iPhone 5.1 Simulator__.
+
+36. Select the __Run__ button.
+
+__NOTE__: If your project is not working as expected in the Simulator, please take a note of any errors in the console log in Xcode for clues.
+
+## Upgrading 1.8.x Projects to 1.9.0
+
+1. Install Cordova 1.9.0.
+
+2. Create a new project. You will need some of the assets from this new project.
+
+3. Copy the `www/cordova-1.9.0.js` file from the new project into your `www` directory, and delete your `www/cordova-1.8.x.js` file.
+
+4. Update the Cordova script reference in your `www/index.html` file (and any other files that contain the script reference) to point to the new `cordova-1.9.0.js` file.
+
+__NOTE__: 1.9.0 supports the new `BackupWebStorage` boolean `Cordova.plist` setting. It's enabled by default, so set it to
+`false` to disable it, especially on iOS 6. See [Release Notes: Safari and UIKit Section](https://developer.apple.com/library/prerelease/ios/#releasenotes/General/RN-iOSSDK-6_0/_index.html)
+
+## Upgrading 1.7.0 Projects to 1.8.x
+
+1. Install Cordova 1.8.0.
+
+2. Create a new project. You will need some of the assets from this new project.
+
+3. Copy the `www/cordova-1.8.0.js` file from the new project into your `www` directory, and delete your `www/cordova-1.7.x.js` file.
+
+4. Update the Cordova script reference in your `www/index.html` file (and any other files that contain the script reference) to point to the new `cordova-1.8.0.js` file.
+
+If you intend on using the Capture API, you will need the new __iPad retina-display__ assets:
+
+1.  Copy the `Resources/Capture.bundle` item from the new project into your project directory, over-writing your existing `Resources/Capture.bundle` item.
+
+2.  In your project, select the `Capture.bundle` item into your Project Navigator in Xcode, type the __Delete__ key, then select __Remove Reference__ from the resulting dialog.
+
+3.  Drag the new `Capture.bundle` from Step 1 above into your Project Navigator in Xcode, then select the __Create groups for any added folders__ radio button.
+
+## Upgrading 1.6.x Projects to 1.7.0
+
+1. Install Cordova 1.7.0.
+
+2. Create a new project. You will need some of the assets from this new project.
+
+3. Copy the `www/cordova-1.7.0.js` file from the new project into your `www` directory, and delete your `www/cordova-1.6.0.js` file.
+
+4. Update the Cordova script reference in your `www/index.html` file (and any other files that contain the script reference) to point to the new `cordova-1.7.0.js` file.
+
+## Upgrading 1.5.0 Projects to 1.6.x
+
+1. Install Cordova 1.6.1.
+
+2. Make a backup of `AppDelegate.m`, `AppDelegate.h`, `MainViewController.m`, `MainViewController.h`, and `Cordova.plist` in your project.
+
+3. Create a new project. You will need some of the assets from this new project.
+
+4. Copy these files from the new project into your 1.5.0-based project directory on disk, replacing any old files (backup your files first from step 2 above):
+
+        AppDelegate.h
+        AppDelegate.m
+        MainViewController.h
+        MainViewController.m
+        Cordova.plist
+
+5. Add all the new `MainViewController` and `AppDelegate` files into your Xcode project.
+
+6. Copy the `www/cordova-1.6.1.js` file from the new project into your `www` directory, and delete your `www/cordova-1.5.0.js` file.
+
+7. Update the Cordova script reference in your `www/index.html` file (and any other files that contain the script reference) to point to the new `cordova-1.6.1.js` file.
+
+8. Add the new `Cordova.plist` file into your project. This is
+   necessary because the core plugin service names must change to
+   match the ones from Android and BlackBerry, for a unified Cordova
+   JavaScript file (`cordova-js`).
+
+9. Integrate any settings, __Plugins__ and __ExternalHosts__ entries that you had in your __backed-up Cordova.plist__ into the new `Cordova.plist`.
+
+10. Integrate any project-specific code that you have in your backed-up `AppDelegate.h` and `AppDelegate.m` into the new `AppDelegate` files. Any `UIWebViewDelegate` or `CDVCommandDelegate` code in `AppDelegate.m` needs to go into `MainViewController.m` now (see commented-out sections in that file).
+
+11. Integrate any project-specific code that you have in your backed-up `MainViewController.h` and `MainViewController.m` into the new MainViewController files.
+
+12. Click on the project icon in the Project Navigator, select your __Project__, then select the __Build Settings__ tab.
+
+13. Enter __Compiler for C/C++/Objective-C__ in the search field.
+
+14. Select the __Apple LLVM Compiler 3.1__ value.
+
+## Upgrading 1.4.x Projects to 1.5.0
+
+1. Install Cordova 1.5.0.
+
+2. Create a new project and run it once. You will need some of the assets from this new project.
+
+3. Copy the `www/cordova-1.5.0.js` file from the new project into your `www` directory, and delete your `www/phonegap-1.4.x.js` file.
+
+4. Update the Cordova script reference in your `www/index.html` file (and any other files that contain the script reference) to point to the new Cordova `cordova-1.5.0.js` file.
+
+5. Find `PhoneGap.framework` in your Project Navigator, select it.
+
+6. Type the __Delete__ key and delete the `PhoneGap.framework` reference in the Project Navigator.
+
+7. Type the __Option-Command-A__ key combination, which should drop down a sheet to add files to your project (the __Add Files...__ sheet). Make sure the __Created groups for any added folders__ radio button is selected.
+
+8. Type the __Shift-Command-G__ key combination, which should drop down another sheet for you to go to a folder (the __Go to the folder:__ sheet).
+
+9. Enter `/Users/Shared/Cordova/Frameworks/Cordova.framework` in the __Go to the folder:__ sheet and then press the __Go__ button.
+
+10. Press the __Add__ button in the __Add Files...__ sheet.
+
+11. Select `Cordova.framework` in the Project Navigator.
+
+12. Type the __Option-Command-1__ key combination to show the __File Inspector__.
+
+13. Choose __Absolute Path__ in the __File Inspector__ for the drop-down menu for __Location__.
+
+14. Type the __Option-Command-A__ key combination, which should drop down a sheet to add files to your project (the __Add Files...__ sheet). Make sure the __Created groups for any added folders__ radio button is selected.
+
+15. Type the __Shift-Command-G__ key combination, which should drop down another sheet for you to go to a folder (the __Go to the folder:__ sheet).
+
+16. Enter `~/Documents/CordovaLib/Classes/deprecated` in the __Go to the folder:__ sheet and then press the __Go__ button.
+
+17. Press the __Add__ button in the __Add Files...__ sheet.
+
+18. In your `AppDelegate.h`, `AppDelegate.m`, and `MainViewController.h` files, replace the whole `#ifdef PHONEGAP_FRAMEWORK` block with:
+
+        #import "CDVDeprecated.h"
+
+19. Click on the __project icon__ in the Project Navigator, select your __Target__, then select the __Build Settings__ tab.
+
+20. Search for __Framework Search Paths__.
+
+21. Replace the existing value with `/Users/Shared/Cordova/Frameworks`.
+
+22. Search for __Preprocessor Macros__.
+
+23. For the first (combined) value, replace the value with __CORDOVA_FRAMEWORK=YES__.
+
+24. Select the __Build Phases__ tab.
+
+25. Expand __Run Script__.
+
+26. Replace any occurrences of __PhoneGap__ with __Cordova__.
+
+27. Find your `PhoneGap.plist` file in the Project Navigator, and click on the filename once to enter name edit mode.
+
+28. Rename `PhoneGap.plist` to `Cordova.plist`.
+
+29. Right-click on `Cordova.plist` and choose __Open As &rarr; Source Code__.
+
+30. Press __Option-Command-F__, choose __Replace__ from the drop-down on the top left of the Source window.
+
+31. Enter `com.phonegap` for the Find string, and `org.apache.cordova`
+    for the Replace string, then press the __Replace All__ button.
+
+32. Enter __PG__ for the Find string, and __CDV__ for the Replace
+    string, then press the __Replace All__ button.
+
+33. Press __Command-B__ to build. You still have deprecations
+    that you can get rid of in the future (see `CDVDeprecated.h`. For
+    example, replace classes in your code that use PG* to CDV*).
+
+## Upgrading 1.4.0 Projects to 1.4.1
+
+1. Install Cordova 1.4.1.
+
+2. Make a backup of `MainViewController.m`.
+
+3. Create a new project. You will need some of the assets from this new project.
+
+4. Copy the `MainViewController.m` file from the new project into your 1.4.0-based project directory on disk, replacing the old file (backup your files first from step 2 above).
+
+5. Add the `MainViewController.m` file into your Xcode project.
+
+6. Integrate any project-specific code that you have in your backed-up `MainViewController.m` into the new file.
+
+7. Updating the `phonegap-1.4.0.js` file is optional, nothing has changed in the JavaScript between 1.4.0 and 1.4.1.
+
+## Upgrading 1.3.0 Projects to 1.4.0
+
+1. Install Cordova 1.4.0.
+
+2. Make a backup of `AppDelegate.m` and `AppDelegate.h` in your project.
+
+3. Create a new project. You will need some of the assets from this new project.
+
+4. Copy these files from the new project into your 1.3.0-based project directory on disk, replacing any old files (backup your files first from step 2 above):
+
+        AppDelegate.h
+        AppDelegate.m
+        MainViewController.h
+        MainViewController.m
+        MainViewController.xib
+
+5. Add all the `MainViewController` files into your Xcode project.
+
+6. Copy the `www/phonegap-1.4.0.js` file from the new project into your `www` directory, and delete your `www/phonegap-1.3.0.js` file.
+
+7. Update the Cordova script reference in your `www/index.html` file (and any other files that contain the script reference) to point to the new `phonegap-1.4.0.js` file.
+
+8. Add a new entry under `Plugins` in your `PhoneGap.plist` file. The
+   key is `com.phonegap.battery` and the value is `PGBattery`.
+
+9. Integrate any project-specific code that you have in your backed-up `AppDelegate.h` and `AppDelegate.m` into the new AppDelegate files.
+
+## Upgrading 1.2.0 Projects to 1.3.0
+
+1. Install Cordova 1.3.0.
+
+2. Make a backup of `AppDelegate.m` and `AppDelegate.h` in your project.
+
+3. Create a new project. You will need some of the assets from this new project.
+
+4. Copy these files from the new project into your 1.2.0-based project directory on disk, replacing any old files (backup your files first from step 2 above):
+
+        AppDelegate.h
+        AppDelegate.m
+        MainViewController.h
+        MainViewController.m
+        MainViewController.xib
+
+5. Add all the `MainViewController` files into your Xcode project.
+
+6. Copy the `www/phonegap-1.3.0.js` file from the new project into your `www` directory, and delete your `www/phonegap-1.2.0.js` file.
+
+7. Update the Cordova script reference in your `www/index.html` file (and any other files that contain the script reference) to point to the new `phonegap-1.3.0.js` file.
+
+8. Add a new entry under `Plugins` in your `PhoneGap.plist` file. The
+   key is `com.phonegap.battery` and the value is `PGBattery`.
+
+9. Integrate any project-specific code that you have in your backed-up `AppDelegate.h` and `AppDelegate.m` into the new AppDelegate files.
+
+## Upgrading 1.1.0 Projects to 1.2.0
+
+1. Install Cordova 1.2.0.
+
+2. Make a backup of `AppDelegate.m` and `AppDelegate.h` in your project.
+
+3. Create a new project. You will need some of the assets from this new project.
+
+4. Copy these files from the new project into your 1.1.0-based project directory on disk, replacing any old files (backup your files first from step 2 above):
+
+        AppDelegate.h
+        AppDelegate.m
+        MainViewController.h
+        MainViewController.m
+        MainViewController.xib
+
+5. Add all the `MainViewController` files into your Xcode project.
+
+6. Copy the `www/phonegap-1.2.0.js` file from the new project into your `www` directory, and delete your `www/phonegap-1.1.0.js` file.
+
+7. Update the Cordova script reference in your `www/index.html` file (and any other files that contain the script reference) to point to the new `phonegap-1.2.0.js` file.
+
+8. Add a new entry under `Plugins` in your `PhoneGap.plist` file. The
+   key is `com.phonegap.battery` and the value is `PGBattery`.
+
+9. Integrate any project-specific code that you have in your backed-up `AppDelegate.h` and `AppDelegate.m` into the new AppDelegate files.
+
+## Upgrading 1.0.0 Projects to 1.1.0
+
+1. Install Cordova 1.1.0.
+
+2. Make a backup of `AppDelegate.m` and `AppDelegate.h` in your project.
+
+3. Create a new project. You will need some of the assets from this new project.
+
+4. Copy these files from the new project into your 1.0.0-based project directory on disk, replacing any old files (backup your files first from step 2 above):
+
+        AppDelegate.h
+        AppDelegate.m
+        MainViewController.h
+        MainViewController.m
+        MainViewController.xib
+
+5. Add all the `MainViewController` files into your Xcode project.
+
+6. Copy the `www/phonegap-1.1.0.js` file from the new project into your `www` directory, and delete your `www/phonegap-1.0.0.js` file.
+
+7. Update the Cordova script reference in your `www/index.html` file (and any other files that contain the script reference) to point to the new `phonegap-1.1.0.js` file.
+
+8. Add a new entry under `Plugins` in your `PhoneGap.plist` file. The
+   key is `com.phonegap.battery` and the value is `PGBattery`.
+
+9. Integrate any project-specific code that you have in your backed-up `AppDelegate.h` and `AppDelegate.m` into the new AppDelegate files.
+
+## Upgrading 0.9.6 Projects to 1.0.0
+
+1. Install Cordova 1.0.0.
+
+2. Make a backup of `AppDelegate.m` and `AppDelegate.h` in your project.
+
+3. Create a new project. You will need some of the assets from this new project.
+
+4. Copy these files from the new project into your 0.9.6-based project directory on disk, replacing any old files (backup your files first from step 2 above):
+
+        AppDelegate.h
+        AppDelegate.m
+        MainViewController.h
+        MainViewController.m
+        MainViewController.xib
+
+5. Add all the `MainViewController` files into your Xcode project.
+
+6. Copy the `www/phonegap-1.0.0.js` file from the new project into your `www` directory, and delete your `www/phonegap-0.9.6.js` file.
+
+7. Update the Cordova script reference in your `www/index.html` file (and any other files that contain the script reference) to point to the new `phonegap-1.0.0.js` file.
+
+8. Add a new entry under `Plugins` in your `PhoneGap.plist` file. The
+   key is `com.phonegap.battery` and the value is `PGBattery`.
+
+9. Integrate any project-specific code that you have in your backed-up `AppDelegate.h` and `AppDelegate.m` into the new AppDelegate files.

http://git-wip-us.apache.org/repos/asf/cordova-docs/blob/3ef0092b/docs/en/3.2.0/guide/platforms/ios/webview.md
----------------------------------------------------------------------
diff --git a/docs/en/3.2.0/guide/platforms/ios/webview.md b/docs/en/3.2.0/guide/platforms/ios/webview.md
new file mode 100644
index 0000000..f99ba1a
--- /dev/null
+++ b/docs/en/3.2.0/guide/platforms/ios/webview.md
@@ -0,0 +1,185 @@
+---
+license: Licensed to the Apache Software Foundation (ASF) under one
+         or more contributor license agreements.  See the NOTICE file
+         distributed with this work for additional information
+         regarding copyright ownership.  The ASF licenses this file
+         to you under the Apache License, Version 2.0 (the
+         "License"); you may not use this file except in compliance
+         with the License.  You may obtain a copy of the License at
+         
+           http://www.apache.org/licenses/LICENSE-2.0
+         
+         Unless required by applicable law or agreed to in writing,
+         software distributed under the License is distributed on an
+         "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+         KIND, either express or implied.  See the License for the
+         specific language governing permissions and limitations
+         under the License.
+---
+
+# iOS WebViews
+
+This section shows how to embed a Cordova-enabled WebView component
+within a larger iOS application. For details on how these components
+can communicate with each other, see Application Plugins.
+
+Support for iOS WebViews started with Cordova version 1.4, using a
+`Cleaver` component for which the Xcode template serves as a reference
+implementation.  Cordova 2.0 and later versions only support the
+subproject-based Cleaver implementation.
+
+These instructions require at least Cordova 2.3 and Xcode 4.5, along
+with a `config.xml` file from a newly created iOS project. You can use
+the procedure in The Command-Line Interface to create a new project,
+then obtain the `config.xml` file from within the named application's
+subdirectory within `platforms/ios`.
+
+To follow these instructions, make sure you have the latest Cordova
+distribution. Download it from
+[cordova.apache.org](http://cordova.apache.org) and unzip its iOS
+package.
+
+## Adding Cleaver to the Xcode Project (CordovaLib Sub-Project)
+
+1. Quit Xcode if it is running.
+
+1. Open a terminal and navigate to the source directory for Cordova
+   iOS.
+
+1. Copy the `config.xml` file described above into the project
+   directory.
+
+1. Open Xcode and use the Finder to copy the `config.xml` file into
+   its __Project Navigator__ window.
+
+1. Choose __Create groups for any added folders__ and press
+   __Finish__.
+
+1. Use the Finder to copy the `CordovaLib/CordovaLib.xcodeproj` file
+   into Xcode's __Project Navigator__
+
+1. Select `CordovaLib.xcodeproj` within the __Project Navigator__.
+
+1. Type the __Option-Command-1__ key combination to show the __File
+   Inspector__.
+
+1. Choose __Relative to Group__ in the __File Inspector__ for the
+   drop-down menu for __Location__.
+
+1. Select the __project icon__ in the __Project Navigator__, select
+   the __Target__, then select the __Build Settings__ tab.
+
+1. Add `-force_load` and `-Obj-C` for the __Other Linker Flags__ value.
+
+1. Click on the __project icon__ in the Project Navigator, select the
+   __Target__, then select the __Build Phases__ tab.
+
+1. Expand __Link Binaries with Libraries__.
+
+1. Select the __+__ button, and add the following __frameworks__.
+   Optionally within the __Project Navigator__, move them under the
+   __Frameworks__ group:
+
+        AddressBook.framework
+        AddressBookUI.framework
+        AudioToolbox.framework
+        AVFoundation.framework
+        CoreLocation.framework
+        MediaPlayer.framework
+        QuartzCore.framework
+        SystemConfiguration.framework
+        MobileCoreServices.framework
+        CoreMedia.framework
+
+1. Expand __Target Dependencies__, the top box with that label if
+   there's more than one box.
+
+1. Select the __+__ button, and add the `CordovaLib` build product.
+
+1. Expand __Link Binaries with Libraries__, the top box with that label
+  if there's more than one box.
+
+1. Select the __+__ button, and add `libCordova.a`.
+
+1. Set the __Xcode Preferences &rarr; Locations &rarr; Derived Data
+   &rarr; Advanced...__ to __Unique__.
+
+1. Select the __project icon__ in the Project Navigator, select your
+   __Target__, then select the __Build Settings__ tab.
+
+1. Search for __Header Search Paths__. For that setting, add these
+   three values below, including the quotes:
+
+        "$(TARGET_BUILD_DIR)/usr/local/lib/include"        
+        "$(OBJROOT)/UninstalledProducts/include"
+        "$(BUILT_PRODUCTS_DIR)"
+
+    As of Cordova 2.1.0, `CordovaLib` has been upgraded to use
+    __Automatic Reference Counting (ARC)__. You don't need to upgrade
+    to __ARC__ to use `CordovaLib`, but if you want to upgrade your
+    project to use __ARC__, you should use the Xcode migration wizard
+    from the __Edit &rarr; Refactor &rarr; Convert to Objective-C
+    ARC...__ menu, __de-select libCordova.a__, then run the wizard to
+    completion.
+
+## Using CDVViewController
+
+1. Add the following header:
+
+        #import <Cordova/CDVViewController.h>
+
+1. Instantiate a new `CDVViewController` and retain it somewhere,
+   e.g., to a class property:
+
+        CDVViewController* viewController = [CDVViewController new];
+
+1. Optionally, set the `wwwFolderName` property, which defaults to `www`:
+
+        viewController.wwwFolderName = @"myfolder";
+
+1. Optionally, set the start page in the `config.xml` file's
+   `<content>` tag, either a local file:
+
+        <content src="index.html" />
+
+    ...or a remote site:
+
+        <content src="http://apache.org" />
+
+1. Optionally, set the `useSplashScreen` property, which defaults to
+   `NO`:
+
+        viewController.useSplashScreen = YES;
+
+1. Set the __view frame__. Always set this as the last property:
+
+        viewController.view.frame = CGRectMake(0, 0, 320, 480);
+
+1. Add Cleaver to the view:
+
+        [myView addSubview:viewController.view];
+
+## Adding HTML, CSS and JavaScript Assets
+
+1. Create a new directory within the project, `www` for example.
+
+1. Place HTML, CSS and JavaScript assets into this directory.
+
+1. Use the Finder to copy the directory into Xcode's __Project
+   Navigator__ window.
+
+1. Select __Create folder references for any added folders__.
+
+1. Set the appropriate `wwwFolderName` and `startPage` properties for
+   the directory you initially created, or use the defaults (specified
+   in the previous section) when instantiating the
+   `CDVViewController`.
+
+        /*
+         if you created a folder called 'myfolder' and
+         you want the file 'mypage.html' in it to be
+         the startPage
+        */
+        viewController.wwwFolderName = @"myfolder";
+        viewController.startPage = @"mypage.html"
+

http://git-wip-us.apache.org/repos/asf/cordova-docs/blob/3ef0092b/docs/en/3.2.0/guide/platforms/tizen/index.md
----------------------------------------------------------------------
diff --git a/docs/en/3.2.0/guide/platforms/tizen/index.md b/docs/en/3.2.0/guide/platforms/tizen/index.md
new file mode 100644
index 0000000..9ae802b
--- /dev/null
+++ b/docs/en/3.2.0/guide/platforms/tizen/index.md
@@ -0,0 +1,116 @@
+---
+license: Licensed to the Apache Software Foundation (ASF) under one
+         or more contributor license agreements.  See the NOTICE file
+         distributed with this work for additional information
+         regarding copyright ownership.  The ASF licenses this file
+         to you under the Apache License, Version 2.0 (the
+         "License"); you may not use this file except in compliance
+         with the License.  You may obtain a copy of the License at
+
+           http://www.apache.org/licenses/LICENSE-2.0
+
+         Unless required by applicable law or agreed to in writing,
+         software distributed under the License is distributed on an
+         "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+         KIND, either express or implied.  See the License for the
+         specific language governing permissions and limitations
+         under the License.
+---
+
+# Tizen Platform Guide
+
+This guide describes how to set up your SDK development environment to
+deploy Cordova apps for devices running the Tizen operating system.
+
+## Requirements and Support
+
+The Tizen SDK requires Linux Ubuntu 10.04/10.10/11.04/11.10 (32-bit),
+or Windows XP SP3/7 (32-bit).
+
+Developers should use the `cordova` utility in conjunction with
+the Tizen SDK.  See The Command-Line Interface for information
+how to install it, add projects, then build and deploy a project.
+
+## Install the SDK
+
+Download the Tizen SDK from
+[tizen.org](https://developer.tizen.org/sdk).
+
+<!--
+
+- (optional) Install Tizen Cordova template projects: copy the
+  `/templates` directory content into the Tizen Eclipse IDE web
+  templates directory (e.g:
+  `/home/my_username/tizen-sdk/IDE/Templates/web`).
+
+- __Method #2: Use Tizen Eclipse IDE Cordova Tizen project templates__
+    - Launch Tizen Eclipse IDE
+    - Select  __File &rarr; New &rarr; Tizen Web Project__
+    - Select __User Template__ and __User defined__ items
+    - Select one of the Tizen Cordova template (e.g: __CordovaBasicTemplate__)
+    - Fill the __Project name__ and its target __Location__
+
+    ![](img/guide/platforms/tizen/project_template.png)
+
+    - Click __Finish__
+
+    ![](img/guide/platforms/tizen/project_explorer.png)
+
+    - Your project should now appear in the __Project Explorer__ view
+
+-->
+
+## Open a Project in the SDK
+
+1. Launch the Tizen Eclipse IDE.
+
+2. Select __File &rarr; Import &rarr; Tizen Web Project__:
+
+   ![](img/guide/platforms/tizen/import_project.png)
+
+3. Press __Next__.
+
+4. Make sure __Select root directory__ is checked.
+
+5. Make sure __Copy projects into workspace__ is checked.
+
+6. Press __Browse__ and select the Cordova Tizen `samples` project directory (such as `/cordova-basic`):
+
+   ![](img/guide/platforms/tizen/import_widget.png)
+
+7. Press __Finish__. Your project should now be imported and appear in
+   the __Project Explorer__ view:
+
+   ![](img/guide/platforms/tizen/project_explorer.png)
+
+To rebuild the project, right-click in the __Project Explorer__ view
+and Select __Build Project__:
+
+![](img/guide/platforms/tizen/build_project.png)
+
+A widget package file such as _hello.wgt_ should generate in the
+project's root directory.
+
+## Deploy to Emulator
+
+Right-click the project in the __Project Explorer__ view and select
+__Run As &rarr; Tizen Web Simulator Application__:
+
+![](img/guide/platforms/tizen/runas_web_sim_app.png)
+
+## Deploy to Device
+
+* Make sure that the target device is properly launched, connected and
+  configured. Its __Date and Time__ settings must be set correctly.
+
+* Use the __Connection Explorer__ view to select the application
+  deployment target: __Window &rarr; Show View &rarr; Connection
+  Explorer__.
+
+  ![](img/guide/platforms/tizen/connection_explorer.png)
+
+* Right-click the project in the __Project Explorer__ view, then
+  select __Run As & rarr; Tizen Web Application__:
+
+  ![](img/guide/platforms/tizen/runas_web_app.png)
+

http://git-wip-us.apache.org/repos/asf/cordova-docs/blob/3ef0092b/docs/en/3.2.0/guide/platforms/win8/index.md
----------------------------------------------------------------------
diff --git a/docs/en/3.2.0/guide/platforms/win8/index.md b/docs/en/3.2.0/guide/platforms/win8/index.md
new file mode 100644
index 0000000..cfed2e7
--- /dev/null
+++ b/docs/en/3.2.0/guide/platforms/win8/index.md
@@ -0,0 +1,124 @@
+---
+license: Licensed to the Apache Software Foundation (ASF) under one
+         or more contributor license agreements.  See the NOTICE file
+         distributed with this work for additional information
+         regarding copyright ownership.  The ASF licenses this file
+         to you under the Apache License, Version 2.0 (the
+         "License"); you may not use this file except in compliance
+         with the License.  You may obtain a copy of the License at
+
+           http://www.apache.org/licenses/LICENSE-2.0
+
+         Unless required by applicable law or agreed to in writing,
+         software distributed under the License is distributed on an
+         "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+         KIND, either express or implied.  See the License for the
+         specific language governing permissions and limitations
+         under the License.
+---
+
+# Windows 8 Platform Guide
+
+This guide shows how to set up your SDK development environment to
+deploy Cordova apps for Windows 8. See the following for more
+detailed platform-specific information:
+
+* Upgrading Windows 8
+* Windows 8 Command-line Tools
+
+The command-line tools above refer to versions prior to Cordova 3.0.
+See The Command-Line Interface for information about the
+current interface.
+
+Microsoft deprecated the name _Metro-style apps_ in Windows 8 and
+Windows RT. MSDN now refers to this type of app as a _Windows Store_
+app, and this guide follows that convention. Also, in this guide
+_Windows 8_ signifies both Windows 8 and Windows RT.
+
+## Requirements
+
+- Windows 8
+
+- Visual Studio 2012 Professional or better, or Visual Studio 2012 Express for Windows 8
+
+Follow the instructions at
+[windowsstore.com](http://www.windowsstore.com/)
+to submit your app to Windows Store.
+
+## Install SDK and Cordova
+
+Set up your preferred variant of Visual Studio 2012. All of the
+product's paid versions (Professional, etc.) let you build Windows
+Store apps. You need __Express for Windows 8__ to build Windows Store
+apps using the
+[Express editions](http://www.microsoft.com/visualstudio/eng/products/visual-studio-express-products).
+
+Download and extract the latest copy of
+[Cordova](http://phonegap.com/download).
+These instuctions apply to the `lib\windows-8` subdirectory.
+
+## Set up a New Project
+
+You can already build Windows 8 apps using the _HTML/JavaScript track_
+available in Windows Store apps. Use Cordova in Windows Store apps to
+expose the same APIs as on other Cordova-supported platforms.
+
+- Open Visual Studio 2012 and choose __New Project__.
+
+- Select __Installed &rarr; Template &rarr; Other Languages &rarr;
+  JavaScript &rarr; Windows Store__ from the tree, and then __Blank
+  App__ from the projects list. Enter whatever project name you like,
+  such as `CordovaWin8Foo` as in this example:
+
+    ![](img/guide/platforms/win8/wsnewproject.png)
+
+- Microsoft continues to use `default.html` as the default home page,
+  but most web developers use `index.html`. It's a good idea to do so,
+  at least to match other platforms you're likely working on.  To fix
+  this, in __Solution Explorer__ rename the `default.html` file to
+  `index.html`. Then double-click the `package.appxmanifest` file and
+  change the __Start page__ value to `index.html`:
+
+        ![](img/guide/platforms/win8/wschangemanifest.png)
+
+- To include `cordova.js` in your project, right-click on the `js`
+  directory in __Solution Explorer__ and select __Add &rarr; New
+  Item__. Locate the `cordova.js` file in the `lib\windows-8`
+  directory.
+
+- Edit the code for `index.html`. Add a reference to `cordova.js`. You
+  can do this manually, or by dragging the file from __Solution
+  Explorer__. Add the following other dependencies to the app's home page:
+
+            <!-- WinJS references -->
+            <link href="//Microsoft.WinJS.1.0/css/ui-dark.css" rel="stylesheet" />
+            <script src="//Microsoft.WinJS.1.0/js/base.js"></script>
+            <script src="//Microsoft.WinJS.1.0/js/ui.js"></script>
+
+            <!-- Cordova -->
+            <script src="/js/cordova.js"></script>
+
+            <!-- CordovaWin8Foo references -->
+            <link href="/css/default.css" rel="stylesheet" />
+            <script src="/js/default.js"></script>
+
+- Add a `deviceready` handler to demonstrate Cordova is working:
+
+        <body>
+            <p>Content goes here</p>
+            <script type="text/javascript">
+                console.log("Subscribing...");
+                document.addEventListener("deviceready", function () {
+                    navigator.notification.alert("The device is ready!");
+                });
+            </script>
+        </body>
+
+## Test the Project
+
+Run the project from Visual Studio. You'll see the message box appear:
+
+        ![](img/guide/platforms/win8/wsalert.png)
+
+That's it. You're now ready to build Windows Store apps with Cordova.
+

http://git-wip-us.apache.org/repos/asf/cordova-docs/blob/3ef0092b/docs/en/3.2.0/guide/platforms/win8/tools.md
----------------------------------------------------------------------
diff --git a/docs/en/3.2.0/guide/platforms/win8/tools.md b/docs/en/3.2.0/guide/platforms/win8/tools.md
new file mode 100644
index 0000000..d6b1a1b
--- /dev/null
+++ b/docs/en/3.2.0/guide/platforms/win8/tools.md
@@ -0,0 +1,50 @@
+---
+license: Licensed to the Apache Software Foundation (ASF) under one
+         or more contributor license agreements.  See the NOTICE file
+         distributed with this work for additional information
+         regarding copyright ownership.  The ASF licenses this file
+         to you under the Apache License, Version 2.0 (the
+         "License"); you may not use this file except in compliance
+         with the License.  You may obtain a copy of the License at
+         
+           http://www.apache.org/licenses/LICENSE-2.0
+         
+         Unless required by applicable law or agreed to in writing,
+         software distributed under the License is distributed on an
+         "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+         KIND, either express or implied.  See the License for the
+         specific language governing permissions and limitations
+         under the License.
+---
+
+# Windows 8 Command-line Tools
+
+The `cordova` command-line utility is a high-level tool that allows
+you to build applications across several platforms at once. An older
+version of the Cordova framework provides sets of command-line tools
+specific to each platform. To use them as an alternative to the CLI,
+you need to download this version of Cordova from
+[cordova.apache.org](http://cordova.apache.org). The download contains
+separate archives for each platform. Expand the platform you wish to
+target. The tools described here are typically available in the
+top-level `bin` directory, otherwise consult the __README__ file for
+more detailed directions.
+
+For information on the low-level command-line interface that enables
+plugins, see Using Plugman to Manage Plugins. See Application Plugins
+for an overview.
+
+## Windows 8
+
+The Windows 8 command-line tools only support creating new projects.
+Commands must be run from a cmd or powershell prompt.
+
+## Create a Project
+
+Run the `create` command with the following parameters:
+
+* Path to your new Cordova Windows 8 project
+
+* Package Name, following reverse-domain style convention. This becomes the default Namespace.
+
+* Project name

http://git-wip-us.apache.org/repos/asf/cordova-docs/blob/3ef0092b/docs/en/3.2.0/guide/platforms/win8/upgrading.md
----------------------------------------------------------------------
diff --git a/docs/en/3.2.0/guide/platforms/win8/upgrading.md b/docs/en/3.2.0/guide/platforms/win8/upgrading.md
new file mode 100644
index 0000000..86d7c3b
--- /dev/null
+++ b/docs/en/3.2.0/guide/platforms/win8/upgrading.md
@@ -0,0 +1,61 @@
+---
+license: Licensed to the Apache Software Foundation (ASF) under one
+         or more contributor license agreements.  See the NOTICE file
+         distributed with this work for additional information
+         regarding copyright ownership.  The ASF licenses this file
+         to you under the Apache License, Version 2.0 (the
+         "License"); you may not use this file except in compliance
+         with the License.  You may obtain a copy of the License at
+
+           http://www.apache.org/licenses/LICENSE-2.0
+
+         Unless required by applicable law or agreed to in writing,
+         software distributed under the License is distributed on an
+         "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+         KIND, either express or implied.  See the License for the
+         specific language governing permissions and limitations
+         under the License.
+---
+
+# Upgrading Windows 8
+
+This guide shows how to modify Windows 8 projects to upgrade from older versions of Cordova.
+Most of these instructions apply to projects created with an older set
+of command-line tools that precede the `cordova` CLI utility. See The Command-Line Interface for information how to update the
+version of the CLI.
+
+## Upgrade to 3.2.0 from 3.1.0
+
+For projects that were created with the cordova CLI: 
+
+1. Update the `cordova` CLI version. See The Command-Line Interface. 
+
+2. Run `cordova platform update windows8`.
+        
+For projects not created with the cordova CLI, run:
+
+        bin\update <project_path>
+
+## Upgrade to 3.1.0
+
+Cordova CLI support for Windows 8 was introduced in Cordova 3.1.0. To upgrade, we suggest creating a new Cordova CLI project and moving over all necessary assets.  
+
+## Upgrade to 2.9.0 from 2.8.0
+
+The following commands should be done from within Visual Studio to be sure that the any project references are updated/deleted.
+
+1. Remove `cordova-2.8.0.js` from the project's `www` directory.
+
+2. Add `cordova.js` file from the source to the project's `www` directory. (Note that the file no longer contains a version number in the filename.)
+
+3. Build and test!
+
+## Upgrade to 2.8.0 from 2.7.0
+
+The following commands should be done from within Visual Studio to be sure that the any project references are updated/deleted.
+
+1. Remove `cordova-2.7.0.js` from the project's `www` directory. 
+
+2. Add `cordova.js` file from the source to the project's `www` directory. (Note that the file no longer contains a version number in the filename.)
+
+3. Build and test!

http://git-wip-us.apache.org/repos/asf/cordova-docs/blob/3ef0092b/docs/en/3.2.0/guide/platforms/wp7/index.md
----------------------------------------------------------------------
diff --git a/docs/en/3.2.0/guide/platforms/wp7/index.md b/docs/en/3.2.0/guide/platforms/wp7/index.md
new file mode 100644
index 0000000..a50b44e
--- /dev/null
+++ b/docs/en/3.2.0/guide/platforms/wp7/index.md
@@ -0,0 +1,131 @@
+---
+license: Licensed to the Apache Software Foundation (ASF) under one
+         or more contributor license agreements.  See the NOTICE file
+         distributed with this work for additional information
+         regarding copyright ownership.  The ASF licenses this file
+         to you under the Apache License, Version 2.0 (the
+         "License"); you may not use this file except in compliance
+         with the License.  You may obtain a copy of the License at
+
+           http://www.apache.org/licenses/LICENSE-2.0
+
+         Unless required by applicable law or agreed to in writing,
+         software distributed under the License is distributed on an
+         "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+         KIND, either express or implied.  See the License for the
+         specific language governing permissions and limitations
+         under the License.
+---
+
+# Windows Phone 7 Platform Guide
+
+This guide shows how to set up your SDK development environment to
+deploy Cordova apps for Windows Phone 7 devices.  Apps also run on
+Windows Phone 8 devices using the same APIs, but version 7 lacks some
+of IE10's advanced features available on Windows Phone 8. Windows
+Phone 8 apps do _not_ run on Windows Phone 7 devices.
+
+See the following for more detailed platform-specific information that
+applies to both versions:
+
+* Upgrading Windows Phone
+* Windows Phone Plugins
+* Windows Phone Command-line Tools
+
+The command-line tools above refer to versions prior to Cordova 3.0.
+See The Command-Line Interface for information about the
+current interface.
+
+## System Requirements
+
+Use Windows 7 or Windows 8 (Pro) or Windows Vista with SP2.  The
+64-bit version (x64) of Windows is required for the SDK.  The Pro
+version is recommended for running a device emulator.
+
+Register and pay for a [Windows Phone Dev
+Center](http://dev.windowsphone.com/en-us/publish) account if you want
+to install an app on a real device or submit it to Market Place.
+
+__NOTE__: Running the SDK in Virtual Machine may present challenges.
+Read [Windows Phone on a Mac](http://aka.ms/BuildaWP8apponaMac) for
+insights on developing solutions.
+
+## Install SDK and Cordova
+
+Download and install the [Windows Phone
+SDK](http://www.microsoft.com/download/en/details.aspx?displaylang=en&amp;id=27570/).
+
+Download and extract the latest copy of
+[Cordova](http://phonegap.com/download). You need to work in the
+`lib\windows-phone-8\wp7` subdirectory, `lib\windows-phone-8\wp8`
+contains the Windwos Phone 8 version of Cordova.
+
+Copy the `CordovaWP7_x_x_x.zip` file to the `\My Documents\Visual
+Studio 2012\Templates\ProjectTemplates\` directory.
+
+## Building the Template
+
+__NOTE__: Skip this step if the `lib\windows-phone` directory already
+contains a `CordovaWP7_x_x_x.zip` file.
+
+To simplify development, Cordova bundles a script to build Visual
+Studio templates. These allow you to rapidly generate Cordova apps,
+and you can modify them if necessary.  The steps below show how to
+generate it.
+
+### Run the Batch File to Create and Install the Templates
+
+The root of the repo contains a `createTemplates.bat` file.
+Double-clicking this file generates two `.zip` files:
+`CordovaWP7_x_x_x.zip` and `CordovaWP8_x_x_x.zip`, where _x.x.x_ is
+the current version number. To use these files easily in Visual
+Studio, copy them to the `My Documents\Visual Studio
+2012\Templates\ProjectTemplates\` subdirectory. You are then able to
+create new __Apache Cordova Windows Phone_ apps from Visual Studio's
+__File &rarr; New Project__ menu.
+
+If you run the batch file from the command line, you can also call
+with a parameter to install automatically:
+
+        >createTemplates.bat -install
+
+## Set up a New Project
+
+- Open Visual Studio Express for Windows Phone and choose __New
+  Project__.
+
+- Select __CordovaWP7__. The version number displays in the template
+  description.
+
+- Give the project a name, and select __OK__.
+
+## Review the Project Structure
+
+The `www` directory features `html`, `js`, and `css` subdirectories
+and any other resources your app requires.
+Any additional content needs to be a part of the Visual Studio
+project, and it must be set as content.
+
+The following sample structure represents a 2.3.0 project, but may
+vary depending on installed version:
+
+![](img/guide/platforms/wp8/projectStructure.png)
+
+## Build the Project for the Device
+
+Before testing your application on a device, the device must be
+registered. Consult
+[Microsoft's documentation](http://msdn.microsoft.com/en-us/library/windowsphone/develop/ff402565(v=vs.105).aspx)
+for details on how to deploy and test on Windows Phone 7. These are
+the basic steps:
+
+- Make sure your phone is connected, and the screen is unlocked.
+
+- In Visual Studio, select __Device__ from the drop-down menu at the top.
+
+- Press the green __play__ button next to the main drop-down menu to
+  start debugging, or else type __F5__.
+
+![](img/guide/platforms/wp7/wpd.png)
+
+At this point, you're done.

http://git-wip-us.apache.org/repos/asf/cordova-docs/blob/3ef0092b/docs/en/3.2.0/guide/platforms/wp8/index.md
----------------------------------------------------------------------
diff --git a/docs/en/3.2.0/guide/platforms/wp8/index.md b/docs/en/3.2.0/guide/platforms/wp8/index.md
new file mode 100644
index 0000000..011a874
--- /dev/null
+++ b/docs/en/3.2.0/guide/platforms/wp8/index.md
@@ -0,0 +1,162 @@
+---
+license: Licensed to the Apache Software Foundation (ASF) under one
+         or more contributor license agreements.  See the NOTICE file
+         distributed with this work for additional information
+         regarding copyright ownership.  The ASF licenses this file
+         to you under the Apache License, Version 2.0 (the
+         "License"); you may not use this file except in compliance
+         with the License.  You may obtain a copy of the License at
+
+           http://www.apache.org/licenses/LICENSE-2.0
+
+         Unless required by applicable law or agreed to in writing,
+         software distributed under the License is distributed on an
+         "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+         KIND, either express or implied.  See the License for the
+         specific language governing permissions and limitations
+         under the License.
+---
+
+# Windows Phone 8 Platform Guide
+
+This guide shows how to set up your SDK development environment to
+deploy Cordova apps for Windows Phone 8 devices. If you want to target
+both 7.5 and 8 devices, develop for Windows Phone 7 instead as
+detailed in the Windows Phone 7 Platform Guide.  Version 7 does not
+have all the advanced features included in Internet Explorer 10, but
+implements the same set of APIs. Windows Phone 8 apps do _not_ run on
+Windows Phone 7 devices.
+
+See the following for more detailed platform-specific information that
+applies to both versions:
+
+- Upgrading Windows Phone
+- Windows Phone Plugins
+- Windows Phone Command-line Tools
+
+The command-line tools above refer to versions prior to Cordova 3.0.
+See The Command-Line Interface for information about the
+current interface.
+
+## System Requirements
+
+- Operating System:
+    - Windows 8 or Windows 8 Pro
+        - The 64-bit version (x64) of Windows is required for the SDK.
+        - The Pro version is recommended so you can run a device emulator.
+
+- Hardware:
+    - 6.5 GB of free hard disk space
+    - 4 GB RAM
+    - 64-bit (x64) CPU
+
+- Windows Phone 8 Emulator
+    - The phone emulator uses Hyper-V, so this list includes those pre-requisites.
+    - Windows 8 Pro 64-bit edition or greater
+    - Requires a processor that supports virtualization and [Second Level Address Translation (SLAT)](http://en.wikipedia.org/wiki/Second_Level_Address_Translation)
+        - See the [list of Intel processors that support VT-x (virtualization) and EPT (SLAT)](http://ark.intel.com/Products/VirtualizationTechnology)
+    - Enable the virtualization capability (i.e., VT-x on Intel) in your BIOS settings, as usually this is disabled by default.
+
+- SDK and IDE (Visual Studio)
+    - Visual Studio 2012 Professional, Premium, or Ultimate. Note that Visual Studio Express for Windows Phone (included in the SDK) is not recommended because you can not build the template (see below) with VS Express, as it does not have the __Export Template__ functionality, which is only in VS Pro or higher.
+
+- Register and pay for a [Windows Phone Dev Center](http://dev.windowsphone.com/en-us/publish) account if you want to install your app on a real device or submit it to Market Place.
+
+__NOTE__: Running the SDK in Virtual Machine might present some challenges. You can read this blog post that gives insight on the solutions to develop for [Windows Phone on a Mac](http://aka.ms/BuildaWP8apponaMac).
+
+## Install SDK and Cordova
+
+Download and install [Windows Phone
+SDK](http://www.microsoft.com/en-us/download/details.aspx?id=35471).
+
+Download and extract the latest copy of
+[Cordova](http://phonegap.com/download). The `lib\windows-phone-8\wp8`
+subdirectory is where you need to do your work.
+
+Copy the `CordovaWP8_x_x_x.zip` file to the `\My Documents\Visual
+Studio 2012\Templates\ProjectTemplates\` directory.
+
+## Building the Template
+
+__NOTE__: Skip this step if the `lib\windows-phone` directory already
+contains a `CordovaWP8_x_x_x.zip` file.
+
+To simplify development, Cordova bundles a script to build Visual
+Studio templates. These allow you to rapidly generate Cordova apps,
+and you can modify them if necessary.  The steps below show how to
+generate it.
+
+### Run the Batch File to Create and Install the Templates
+
+The repo's root directory contains a `createTemplates.bat` file.
+Double-click this to generate two `.zip` files: `CordovaWP7_x_x_x.zip`
+and `CordovaWP8_x_x_x.zip`, where _x.x.x_ is the current version
+number. To use these files easily in Visual Studio, copy them to `My
+Documents\Visual Studio 2012\Templates\ProjectTemplates\`. You are
+then able to create new Apache Cordova Windows Phone apps from the
+__Visual Studio File &rarr; New Project__ menu.
+
+If you run the batch file from the command line, you can also call it
+with a parameter to install automatically:
+
+        >createTemplates.bat -install
+
+## Set up a New Project
+
+Open Visual Studio Express for Windows Phone and choose __New
+Project__.
+
+Select __CordovaWP8__. The version number is displayed in the
+template description.
+
+Give the project a name, and select __OK__.
+
+![](img/guide/platforms/wp8/StandAloneTemplate.png)
+
+## Review the Project Structure
+
+The `www` directory features `html`, `js`, and `css` subdirectories
+and any other resources your app requires.
+Any additional content needs to be a part of the Visual Studio
+project, and it must be set as content.
+
+The following sample structure represents a 2.3.0 project, but may
+vary depending on the installed version:
+
+![](img/guide/platforms/wp8/projectStructure.png)
+
+## Build and Deploy to Emulator
+
+Make sure __Windows Phone Emulator__ is selected in the main drop-down menu.
+
+Then press the green __play__ button next to the drop-down menu to
+start debugging, or type __F5__.
+
+![](img/guide/platforms/wp8/BuildEmulator.png)
+
+## Build the Project for the Device
+
+Before testing your application on a device, the device must be
+registered. Consult
+[Microsoft's documentation](http://msdn.microsoft.com/en-us/library/windowsphone/develop/ff402565(v=vs.105).aspx)
+for details on how to deploy and test on Windows Phone 8. These are
+the basic steps:
+
+- Make sure your phone is connected, and the screen is unlocked.
+
+- In Visual Studio, select __Device__ from the drop-down menu at the top.
+
+- Press the green __play__ button next to the main drop-down menu to
+  start debugging, or else type __F5__.
+
+![](img/guide/platforms/wp7/wpd.png)
+
+At this point, you're done.
+
+## Further Reading
+
+The Windows Phone Developer Blog provides
+[helpful details](http://blogs.windows.com/windows_phone/b/wpdev/archive/2012/11/15/adapting-your-webkit-optimized-site-for-internet-explorer-10.aspx)
+on differences between IE10 and WebKit browsers, and how to support
+both.
+

http://git-wip-us.apache.org/repos/asf/cordova-docs/blob/3ef0092b/docs/en/3.2.0/guide/platforms/wp8/plugin.md
----------------------------------------------------------------------
diff --git a/docs/en/3.2.0/guide/platforms/wp8/plugin.md b/docs/en/3.2.0/guide/platforms/wp8/plugin.md
new file mode 100644
index 0000000..194f682
--- /dev/null
+++ b/docs/en/3.2.0/guide/platforms/wp8/plugin.md
@@ -0,0 +1,224 @@
+--
+license: Licensed to the Apache Software Foundation (ASF) under one
+         or more contributor license agreements.  See the NOTICE file
+         distributed with this work for additional information
+         regarding copyright ownership.  The ASF licenses this file
+         to you under the Apache License, Version 2.0 (the
+         "License"); you may not use this file except in compliance
+         with the License.  You may obtain a copy of the License at
+
+           http://www.apache.org/licenses/LICENSE-2.0
+
+         Unless required by applicable law or agreed to in writing,
+         software distributed under the License is distributed on an
+         "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+         KIND, either express or implied.  See the License for the
+         specific language governing permissions and limitations
+         under the License.
+---
+
+# Windows Phone Plugins
+
+This section provides details for how to implement native plugin code
+on the Windows Phone platform. Before reading this, see Application
+Plugins for an overview of the plugin's structure and its common
+JavaScript interface. This section continues to demonstrate the sample
+_echo_ plugin that communicates from the Cordova webview to the native
+platform and back.
+
+Writing a plugin for Cordova on Windows Phone requires a basic
+understanding of Cordova's architecture. Cordova-WP7 consists of a
+`WebBrowser` that hosts the application's JavaScript code and manages
+native API calls. You can extend a C# `BaseCommand` class
+(`WP7CordovaClassLib.Cordova.Commands.BaseCommand`), which comes with
+most of the functionality you need:
+
+1. Select your project, and right-click to choose __Add &rarr; New
+   Item...__ If you wish, you can add it to the `Plugins` folder.
+
+2. Select __Class__ and name it `Echo.cs`.  This class name must
+   _exactly_ match what you call specify as the service in the
+   `cordova.exec()` call on the JavaScript side.
+
+3. Include the base classes implementation:
+
+        using WPCordovaClassLib.Cordova;
+        using WPCordovaClassLib.Cordova.Commands;
+        using WPCordovaClassLib.Cordova.JSON;
+
+4. Extend your class from `BaseCommand`:
+
+        public class Echo : BaseCommand
+        {
+            // ...
+        }
+
+5. Add an `echo` method that is callable from JavaScript:
+
+        public class Echo : BaseCommand
+        {
+            public void echo(string options)
+            {
+                // all JS callable plugin methods MUST have this signature!
+                // public, returning void, 1 argument that is a string
+            }
+        }
+
+See the
+[BaseCommand.cs](https://github.com/apache/cordova-wp7/blob/master/templates/standalone/cordovalib/Commands/BaseCommand.cs)
+class for methods available for the plugin to override.  For example,
+the plugin can capture 'pause' and 'resume' events.
+
+## Namespaces
+
+The default namespace for unqualified commands is:
+
+        namespace Cordova.Extension.Commands
+        {
+            // ...
+        }
+
+If you want to specify your own namespace, you need to make a fully
+qualified call to `cordova.exec`. For example, if you want to define
+your C# class like this:
+
+        namespace com.mydomain.cordovaExtensions
+        {
+            public class Echo : BaseCommand
+            {
+                // ...
+            }
+        }
+
+The JavaScript would need to call `exec` like this:
+
+        cordova.exec(win, fail, "com.mydomain.cordovaExtensions.Echo", ...);
+
+## Interpreting Arguments in C#
+
+In the example discussed in Application Plugins, the data your plugin
+receives is a string, but what if you want to pass an array of
+strings?  Suppose the JavaScript `cordova.exec` call is specified like
+this:
+
+        cordova.exec(win, fail, "Echo", "echo", ["input string"]);
+
+The value of `options` string passed to the `Echo.echo` method is
+JSON:
+
+        "[\"input string\"]"
+
+All JavaScript `exec` arguments are JSON-encoded before being passed
+into C#, and so need to be decoded:
+
+        string optVal = JsonHelper.Deserialize<string[]>(options)[0];
+        // optVal now has the value of "input string"
+
+## Passing Results from C# to JavaScript
+
+The `BaseCommand` class provides methods to pass data to JavaScript
+callback handlers.  If you simply want to signal success with no
+accompanying result, you can simply call:
+
+        DispatchCommandResult();
+        // calls back with an empty plugin result, considered a success callback
+
+To pass data back, you need to call `DispatchCommandResult`
+differently:
+
+        DispatchCommandResult(new PluginResult(PluginResult.Status.OK, "Everything went as planned, this is a result that is passed to the success handler."));
+
+Use an encoded JSON string to pass structured object data back to
+JavaScript:
+
+        DispatchCommandResult(new PluginResult(PluginResult.Status.OK, "{result:\"super awesome!\"}"));
+
+To signal an error, call `DispatchCommandResult` with a `PluginResult`
+object whose status is `ERROR`:
+
+        DispatchCommandResult(new PluginResult(PluginResult.Status.ERROR, "Echo signaled an error"));
+
+## Handling Serialization Errors
+
+When interpreting your arguments, `try`/`catch` blocks help screen out
+bad input. This pattern appears throughout the Cordova C# code:
+
+        string optVal = null;
+
+        try
+        {
+            optVal = JsonHelper.Deserialize<string[]>(options)[0];
+        }
+        catch(Exception)
+        {
+            // simply catch the exception, we handle null values and exceptions together
+        }
+
+        if (optVal == null)
+        {
+            DispatchCommandResult(new PluginResult(PluginResult.Status.JSON_EXCEPTION));
+        }
+        else
+        {
+            // ... continue on to do our work
+        }
+
+## Plugin XML
+
+The following shows how to use the `plugin.xml` file to specify a
+plugin's source files on the Windows Phone platform.  See Application
+Plugins for an overview, and Plugin Specification for details on
+available options.
+
+- The `<source-file>` element defines all plugin resources, such
+  as _.cs_, _.xaml_, _.xaml.cs_, and _.dll_ files, and image assets.
+
+- The `<config-file>` element defines elements to inject into a
+  configuration file. This example adds a plugin to the platform's
+  `config.xml` file:
+
+        <config-file target="config.xml" parent="/*">
+            <feature name="PluginName">
+                <param name="wp-package" value="PluginName"/>
+            </feature>
+        </config-file>
+
+  This example adds the contacts capability to the `WMAppManifest.xml`
+  file:
+
+        <config-file target="Properties/WMAppManifest.xml" parent="/Deployment/App/Capabilities">
+            <Capability Name="ID_CAP_CONTACTS" />
+        </config-file>
+
+## Debugging Plugins
+
+Use Visual Studio's debugger to debug a plugin's C# component. You can
+set a break point at any of the methods exposed by your class.
+
+JavaScript is more difficult to debug on Windows Phone. You need to
+use `console.log` to output the plugin's state, or to inform
+yourself of errors.
+
+## Common Pitfalls
+
+- Be careful not to pass arguments from JavaScript to the native side
+  that are difficult to deserialize as JSON. Most device platforms
+  expect the argument passed to `cordova.exec()` to be an array, such
+  as the following:
+
+        cordova.exec(win, fail, "ServiceName", "MethodName", ["this is a string", 54, {literal:'trouble'}]);
+
+  This may result in an overly complex string value for C# to decode:
+
+        "[\"this is a string\", 54, { literal:'trouble' }]"
+
+  Instead, consider converting _all_ parameters to strings before
+  calling `exec()`, and decoding each separately:
+
+        cordova.exec(win, fail, "ServiceName", "MethodName", ["this is a string", "54", "{literal:'trouble'}"]);
+        string[] optValues = JsonHelper.Deserialize<string[]>(options);
+
+- It is usually better to check parameters in JavaScript before
+  calling `exec()`. Doing so allows you to re-use more code and pull
+  unnecessary functionality from the plugin's various native
+  implementations.


Mime
View raw message