http://git-wip-us.apache.org/repos/asf/cordova-docs/blob/21c8e8f0/www/docs/en/6.x/guide/platforms/blackberry/upgrade.md ---------------------------------------------------------------------- diff --git a/www/docs/en/6.x/guide/platforms/blackberry/upgrade.md b/www/docs/en/6.x/guide/platforms/blackberry/upgrade.md new file mode 100644 index 0000000..c608bb8 --- /dev/null +++ b/www/docs/en/6.x/guide/platforms/blackberry/upgrade.md @@ -0,0 +1,434 @@ +--- +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. + +title: Upgrading BlackBerry +--- + +# Upgrading BlackBerry + +This guide shows how to modify BlackBerry projects to upgrade from +older versions of Cordova. 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](../../cli/index.html) for information +how to update the version of the CLI. + +## Upgrading 2.8.0 projects to 2.9.0 ## + +BlackBerry 10: + +1. Download and extract the Cordova 2.9.0 source to a permanent location on your hard drive, for example to `~/Cordova-2.9.0`. + +2. Quit any running SDK tools: Eclipse, Momentics and the like. + +3. Navigate to the directory where you put the downloaded source above, using a unix like terminal: Terminal.app, Bash, Cygwin, etc. + +4. Create a new project, as described in BlackBerry Shell Tool Guide. This becomes the home of your updated project. + +5. Copy your project's source from the old project's `/www` directory to the new project's `/www` directory. + +6. Update the Cordova script reference in the `www/index.html` file (and any other files that contain the script reference) to point to the new `cordova.js` file. + +### BlackBerryOS/Playbook ### + +1. Download and extract the Cordova 2.9.0 source to a permanent location on your hard drive, for example to `~/Cordova-2.9.0`. + +2. Quit any running SDK tools: Eclipse, Momentics and the like. + +3. Navigate to the directory where you put the downloaded source above, using a unix like terminal: Terminal.app, Bash, Cygwin, etc. + +4. Create a new project, as described in BlackBerry Shell Tool Guide. You need the assets from this new project. + +5. Copy the `www/cordova.js` file from the new project into the `www` directory, and delete the `www/cordova.js` file. + +6. Update the Cordova script reference in the `www/index.html` file (and any other files that contain the script reference) to point to the new `cordova.js` file. + +7. Copy the `native` directory from the new project into the existing project, overwriting the old `native` directory. + +8. Copy the `lib` directory from the new project into the existing project, overwriting the old `lib` directory. + +9. Copy the `cordova` directory from the new project into the existing project, overwriting the old `cordova` directory. + +## Upgrading 2.7.0 projects to 2.8.0 ## + +BlackBerry 10: + +BlackBerry 10 uses the new CLI tooling and manages core APIs as plugins. The instructions migrate your project to a new project, rather than updating an existing project, due to the complexity of updating an old project. +Also note that the cordova js script file is now called 'cordova.js' and no longer contains a version string. + +1. Download and extract the Cordova 2.8.0 source to a permanent location on your hard drive, for example to `~/Cordova-2.8.0`. + +2. Quit any running SDK tools: Eclipse, Momentics and the like. + +3. Navigate to the directory where you put the downloaded source above, using a unix like terminal: Terminal.app, Bash, Cygwin, etc. + +4. Create a new project, as described in BlackBerry Shell Tool Guide. This becomes the home of your updated project. + +5. Copy your project's source from the old project's `/www` directory to the new project's `/www` directory. + +6. Update the Cordova script reference in the `www/index.html` file (and any other files that contain the script reference) to point to the new `cordova.js` file. + +BlackBerryOS/Playbook: + +1. Download and extract the Cordova 2.8.0 source to a permanent location on your hard drive, for example to `~/Cordova-2.8.0`. + +2. Quit any running SDK tools: Eclipse, Momentics and the like. + +3. Navigate to the directory where you put the downloaded source above, using a unix like terminal: Terminal.app, Bash, Cygwin, etc. + +4. Create a new project, as described in BlackBerry Shell Tool Guide. You need the assets from this new project. + +5. Copy the `www/cordova.js` file from the new project into the `www` directory, and delete the `www/cordova.js` file. + +6. Update the Cordova script reference in the `www/index.html` file (and any other files that contain the script reference) to point to the new `cordova.js` file. + +7. Copy the `native` directory from the new project into the existing project, overwriting the old `native` directory. + +8. Copy the `lib` directory from the new project into the existing project, overwriting the old `lib` directory. + +9. Copy the `cordova` directory from the new project into the existing project, overwriting the old `cordova` directory. + +## Upgrading 2.6.0 projects to 2.7.0 ## + +1. Download and extract the Cordova 2.7.0 source to a permanent location on your hard drive, for example to `~/Cordova-2.7.0`. + +2. Quit any running SDK tools: Eclipse, Momentics and the like. + +3. Navigate to the directory where you put the downloaded source above, using a unix like terminal: Terminal.app, Bash, Cygwin, etc. + +4. Create a new project, as described in BlackBerry Shell Tool Guide. You need the assets from this new project. + +5. Copy the `www/cordova-2.7.0.js` file from the new project into the `www` directory, and delete the `www/cordova-2.6.0.js` file. + +6. Update the Cordova script reference in the `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. Copy the `native` directory from the new project into the existing project, overwriting the old `native` directory. + +8. Copy the `lib` directory from the new project into the existing project, overwriting the old `lib` directory. + +9. Copy the `cordova` directory from the new project into the existing project, overwriting the old `cordova` directory. + +## Upgrade to 2.6.0 from 2.5.0 ## + +Updating the PhoneGap download directory: + +It is recommended that you download a fresh copy of the entire directory. + +However, here are the new parts needed for the piecemeal update: + +1. Update the cordova.blackberry.js file in the `Phonegap-2.6.0/lib/blackberry/javascript` directory. + +2. Update the `ext`, `ext-air`, and `ext-qnx` in the `Phonegap-2.6.0/lib/blackberry/framework` directory. + +3. Update the `build.xml` file in the `Phonegap-2.6.0/lib/blackberry` directory. + +4. Update the `Phonegap-2.6.0/lib/blackberry/bin` directory. + +5. Update the `VERSION` file in the `Phonegap-2.6.0/lib/blackberry` directory. + +Updating the `example/` directory or migrating an existing project: + +1. Open the `www` directory, which contains the app. + +2. Remove and update the .jar file in the `ext/` directory. + +3. Update the contents of the `ext-air/` directory. + +4. Update the contents of the `ext-qnx/` directory. + +4. Copy the new `cordova-2.6.0.js` into your project. + +5. Update your HTML to use the new `cordova-2.6.0.js` file. + +## Upgrade to 2.5.0 from 2.4.0 ## + +Updating the PhoneGap download directory: + +It is recommended that you download a fresh copy of the entire directory. + +However, here are the new parts needed for the piecemeal update: + +1. Update the cordova.blackberry.js file in the `Phonegap-2.5.0/lib/blackberry/javascript` directory. + +2. Update the `ext`, `ext-air`, and `ext-qnx` in the `Phonegap-2.5.0/lib/blackberry/framework` directory. + +3. Update the `build.xml` file in the `Phonegap-2.5.0/lib/blackberry` directory. + +4. Update the `Phonegap-2.5.0/lib/blackberry/bin` directory. + +5. Update the `VERSION` file in the `Phonegap-2.5.0/lib/blackberry` directory. + +Updating the example/ directory or migrating an existing project: + +1. Open the `www` directory, which contains the app. + +2. Remove and update the .jar file in the `ext/` directory. + +3. Update the contents of the `ext-air/` directory. + +4. Update the contents of the `ext-qnx/` directory. + +4. Copy the new `cordova-2.5.0.js` into your project. + +5. Update your HTML to use the new `cordova-2.5.0.js` file. + +## Upgrade to 2.4.0 from 2.3.0 ## + +Updating just the `www` directory: + +1. Open the `www` directory, which contains the app. + +2. Remove and update the .jar file in the `ext/` directory. + +3. Update the contents of the `ext-air/` directory. + +4. Copy the new `cordova-2.4.0.js` into your project. + - If playbook, then update the .js file in the `playbook/` directory. + - If BlackBerry 10, then update the .js file in the `qnx/` directory. + +5. Update your HTML to use the new `cordova-2.4.0.js` file. + +Updating the sample directory (ie, updating using the ant tools): + +1. Open the `sample/lib/` directory. + +2. Update the .jar file in the `cordova.2.3.0/ext/` directory. + +3. Update the contents of the `cordova.2.3.0/ext-air/` directory. + +4. Update the contents of the `cordova.2.3.0/ext-qnx/` directory. + +5. Update the .js file in the `cordova.2.3.0/javascript/` directory. + +6. Open the `sample/lib/` directory and rename the `cordova.2.3.0/` directory to `cordova.2.4.0/`. + +7. Type `ant blackberry build` or `ant playbook build` to update the `www` directory with updated Cordova. + +8. Open the `www` directory and update your HTML to use the new `cordova-2.4.0.js` file. + +## Upgrade to 2.3.0 from 2.2.0 ## + +Updating just the `www` directory: + +1. Open the `www` directory, which contains the app. + +2. Remove and update the .jar file in the `ext/` directory. + +3. Update the contents of the `ext-air/` directory. + +4. Copy the new `cordova-2.3.0.js` into your project. + - If playbook, then update the .js file in the `playbook/` directory. + - If BlackBerry 10, then update the .js file in the `qnx/` directory. + +5. Update your HTML to use the new `cordova-2.3.0.js` file. + +Updating the sample directory (ie, updating using the ant tools): + +1. Open the `sample/lib/` directory. + +2. Update the .jar file in the `cordova.2.2.0/ext/` directory. + +3. Update the contents of the `cordova.2.2.0/ext-air/` directory. + +4. Update the contents of the `cordova.2.2.0/ext-qnx/` directory. + +5. Update the .js file in the `cordova.2.2.0/javascript/` directory. + +6. Open the `sample/lib/` directory and rename the `cordova.2.2.0/` directory to `cordova.2.3.0/`. + +7. Type `ant blackberry build` or `ant playbook build` to update the `www` directory with updated Cordova. + +8. Open the `www` directory and update your HTML to use the new `cordova-2.3.0.js` file. + +## Upgrade to 2.2.0 from 2.1.0 ## + +Updating just the www directory: + +1. Open the `www` directory, which contains the app. + +2. Remove and update the .jar file in the `ext/` directory. + +3. Update the contents of the `ext-air/` directory. + +4. Copy the new `cordova-2.2.0.js` into your project. + - If playbook, then update the .js file in the `playbook/` directory. + - If BlackBerry 10, then update the .js file in the `qnx/` directory. + +5. Update your HTML to use the new `cordova-2.2.0.js` file. + +Updating the sample directory (ie, updating using the ant tools): + +1. Open the `sample/lib/` directory. + +2. Update the .jar file in the `cordova.2.1.0/ext/` directory. + +3. Update the contents of the `cordova.2.1.0/ext-air/` directory. + +4. Update the contents of the `cordova.2.1.0/ext-qnx/` directory. + +5. Update the .js file in the `cordova.2.1.0/javascript/` directory. + +6. Open the `sample/lib/` directory and rename the `cordova.2.1.0/` directory to `cordova.2.2.0/`. + +7. Type `ant blackberry build` or `ant playbook build` to update the `www` directory with updated Cordova. + +8. Open the `www` directory and update your HTML to use the new `cordova-2.2.0.js` file. + +## Upgrade to 2.1.0 from 2.0.0 ## + +Updating just the `www` directory: + +1. Open the `www` directory, which contains the app. + +2. Remove and update the .jar file in the `ext/` directory. + +3. Update the contents of the `ext-air/` directory. + +4. Copy the new `cordova-2.1.0.js` into your project. + - If playbook, then update the .js file in the `playbook/` directory. + +5. Update your HTML to use the new `cordova-2.1.0.js` file. + +Updating the sample directory (ie, updating using the ant tools): + +1. Open the `sample/lib/` directory. + +2. Update the .jar file in the `cordova.2.0.0/ext/` directory. + +3. Update the contents of the `cordova.2.0.0/ext-air/` directory. + +4. Update the .js file in the `cordova.2.0.0/javascript/` directory. + +5. Open the `sample/lib/` directory and rename the `cordova.2.0.0/` directory to `cordova.2.1.0/`. + +6. Type `ant blackberry build` or `ant playbook build` to update the `www` directory with updated Cordova. + +7. Open the `www` directory and update your HTML to use the new `cordova-2.1.0.js` file. + +## Upgrade to 2.0.0 from 1.9.0 ## + +Updating just the `www` directory: + +1. Open the `www` directory, which contains the app. + +2. Remove and update the .jar file in the `ext/` directory. + +3. Update the contents of the `ext-air/` directory. + +4. Copy the new `cordova-2.0.0.js` into your project. + - If playbook, then update the .js file in the `playbook/` directory. + +5. Update your HTML to use the new `cordova-2.0.0.js` file. + +6. Update the `www/plugins.xml` file. Two plugins changed their + namespace/service label. Change the old entries for the Capture and + Contact plugins from: + + <plugin name="Capture" value="org.apache.cordova.media.MediaCapture"/> + <plugin name="Contact" value="org.apache.cordova.pim.Contact"/> + + To: + + <plugin name="Capture" value="org.apache.cordova.capture.MediaCapture"/> + <plugin name="Contacts" value="org.apache.cordova.pim.Contact"/> + +Updating the sample directory (ie, updating using the ant tools): + +1. Open the `sample/lib/` directory. + +2. Update the .jar file in the `cordova.1.9.0/ext/` directory. + +3. Update the contents of the `cordova.1.9.0/ext-air/` directory. + +4. Update the .js file in the `cordova.1.9.0/javascript/` directory. + +5. Open the `sample/lib/` directory and rename the `cordova.1.9.0/` directory to `cordova.2.0.0/`. + +6. Type `ant blackberry build` or `ant playbook build` to update the `www` directory with updated Cordova. + +7. Open the `www` directory and update your HTML to use the new `cordova-2.0.0.js` file. + +8. Open the `www` directory and update the `plugins.xml` file. Two plugins + changed their namespace/service label. Change the old entries for the + Capture and Contact plugins from: + + <plugin name="Capture" value="org.apache.cordova.media.MediaCapture"/> + <plugin name="Contact" value="org.apache.cordova.pim.Contact"/> + + To: + + <plugin name="Capture" value="org.apache.cordova.capture.MediaCapture"/> + <plugin name="Contacts" value="org.apache.cordova.pim.Contact"/> + +- To upgrade to 1.8.0, please go from 1.7.0 + +## Upgrade to 1.8.0 from 1.7.0 ## + +Updating just the `www` directory: + +1. Open the `www` directory, which contains the app. + +2. Remove and update the .jar file in the `ext/` directory. + +3. Update the contents of the `ext-air/` directory. + +4. Copy the new `cordova-1.8.0.js` into your project. + - If playbook, then update the .js file in the `playbook/` directory. + +5. Update your HTML to use the new `cordova-1.8.0.js` file. + +6. Update the `www/plugins.xml` file. Two plugins changed their + namespace/service label. Change the old entries for the Capture and + Contact plugins from: + + <plugin name="Capture" value="org.apache.cordova.media.MediaCapture"/> + <plugin name="Contact" value="org.apache.cordova.pim.Contact"/> + + To: + + <plugin name="Capture" value="org.apache.cordova.capture.MediaCapture"/> + <plugin name="Contacts" value="org.apache.cordova.pim.Contact"/> + +Updating the sample directory (ie, updating using the ant tools): + +1. Open the `sample/lib/` directory. + +2. Update the .jar file in the `cordova.1.7.0/ext/` directory. + +3. Update the contents of the `cordova.1.7.0/ext-air/` directory. + +4. Update the .js file in the `cordova.1.7.0/javascript/` directory. + +5. Open the `sample/lib/` directory and rename the `cordova.1.7.0/` directory to `cordova.1.8.0/`. + +6. Type `ant blackberry build` or `ant playbook build` to update the `www` directory with updated Cordova. + +7. Open the `www` directory and update your HTML to use the new `cordova-1.8.0.js` file. + +8. Open the `www` directory and update the `plugins.xml` file. Two plugins + changed their namespace/service label. Change the old entries for the + Capture and Contact plugins from: + + <plugin name="Capture" value="org.apache.cordova.media.MediaCapture"/> + <plugin name="Contact" value="org.apache.cordova.pim.Contact"/> + + To: + + <plugin name="Capture" value="org.apache.cordova.capture.MediaCapture"/> + <plugin name="Contacts" value="org.apache.cordova.pim.Contact"/> +
http://git-wip-us.apache.org/repos/asf/cordova-docs/blob/21c8e8f0/www/docs/en/6.x/guide/platforms/blackberry10/config.md ---------------------------------------------------------------------- diff --git a/www/docs/en/6.x/guide/platforms/blackberry10/config.md b/www/docs/en/6.x/guide/platforms/blackberry10/config.md new file mode 100644 index 0000000..9ffa87f --- /dev/null +++ b/www/docs/en/6.x/guide/platforms/blackberry10/config.md @@ -0,0 +1,54 @@ +--- +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. + +title: BlackBerry 10 Configuration +--- + +# BlackBerry 10 Configuration + +The `config.xml` file controls an app's basic settings that apply +across each application and CordovaWebView instance. This section +details preferences that only apply to BlackBerry 10 builds. See [The config.xml +File](config_ref_index.md.html#The%20config.xml%20File) for information on global configuration options. + +- `ChildBrowser` (`disable` or the default `enable`): Disables child + browser windows. By default, apps launch a secondary browser window + to display resources accessed via `window.open()` or by specifying a + `_blank` anchor target. Specify `disable` to override this default + behavior. + + <preference name="ChildBrowser" value="disable"/> + +- `PopupBlocker` (`enable` or the default `disable`): Enables the + popup blocker, which prevents calls to `window.open()`. By default, + popups display in a child browser window. Setting the preference to + `enable` prevents it from displaying at all. + + <preference name="PopupBlocker" value="enable"/> + +- `WebSecurity` (`disable` or the default `enable`): Set to `disable` + to override web security settings, allowing access to remote content + from unknown sources. This preference is intended as a development + convenience only, so remove it before packaging the app for + distribution. For the released app, all URIs should be known and + whitelisted using the `<access>` element, described in the Domain + [Whitelist Guide](../../appdev/whitelist/index.html). + + <preference name="WebSecurity" value="disable"/> + http://git-wip-us.apache.org/repos/asf/cordova-docs/blob/21c8e8f0/www/docs/en/6.x/guide/platforms/blackberry10/index.md ---------------------------------------------------------------------- diff --git a/www/docs/en/6.x/guide/platforms/blackberry10/index.md b/www/docs/en/6.x/guide/platforms/blackberry10/index.md new file mode 100644 index 0000000..7bdcdbc --- /dev/null +++ b/www/docs/en/6.x/guide/platforms/blackberry10/index.md @@ -0,0 +1,270 @@ +--- +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. + +title: BlackBerry 10 Platform Guide +--- + +# BlackBerry 10 Platform Guide + +This guide shows how to set up your SDK environment to deploy +Cordova apps for BlackBerry 10 devices. For previous versions of +BlackBerry, you need to use a different SDK environment and set of +command-line tools, described in the BlackBerry Platform Guide. +For BlackBerry 10, you need to install the SDK regardless of whether +you want to use the cross-platform Cordova CLI for development, or a +narrower set of platform-centered command-line tools. For a +comparison of the two development paths, see the [Overview](../../overview/index.html). For +details on each, see [The Command-Line Interface](../../cli/index.html) and the BlackBerry 10 +Shell Tool Guide. + +## Requirements + +The development environment is available on Windows, Mac and Linux. + +Developers should use the `cordova` utility in conjunction with the +BlackBerry WebWorks SDK or BlackBerry Native SDK. See The Command-Line +Interface for information how to install `cordova`, add projects, then +build and deploy for each platform. + +BlackBerry 10 Device Simulator: + +* Processor: Intel dual core 2.0 GHz/AMD Athlon 4200+ or higher +* Disk space: 10 GB +* RAM Memory: 4 GB +* Virtualization: one of the following: + * __Intel Virtualization Technology__ (VT, VT-x, vmx) → [Intel VT-x supported processor list](http://ark.intel.com/products/virtualizationtechnology) + * __AMD Virtualization__ (AMD-V, SVM) (Since May 2006 all AMD CPUs include AMD-V except Sempron). + +More information about requirements: [BB10 Simulator requeriments](http://developer.blackberry.com/devzone/develop/simulator/simulator_systemrequirements.html). + +## Install the BlackBerry WebWorks SDK + +Download and install the BlackBerry WebWorks SDK from [developer.blackberry.com](https://developer.blackberry.com/html5/download/) + +The installer will add command-line tools to your path. Depending on your OS, +you may need to open a new terminal window or re-log in. + +## Install the BlackBerry Native SDK + +If you need to compile native code, for example when developing a native plugin, you +will need to install the BlackBerry Native SDK. + +In order to get the BlackBerry Native SDK, download and install the IDE for BlackBerry available from +[developer.blackberry.com](http://developer.blackberry.com/native/download/), then using the IDE, install the BlackBerry Native SDK. +Following installation, you need to add its command-line tools to your +system path. + +On Windows: + +* Go to __My Computer → Properties → Advanced → Environment Variables__. + +* Append the Native SDK's install directory to the PATH, for example: + + ;C:\bbndk\host_10_1_0_132\win32\x86\usr\bin\ + +On Mac and Linux: + +* Edit the `~/.bash_profile` file, adding a line such as the + following, depending on where the Native SDK was installed: + + $ export PATH=${PATH}:/Applications/bbndk/host_10_1_0_132/darwin/x86/usr/bin/ + + or for the 10.2 Native SDK: + + $ export PATH=${PATH}:/Applications/Momentics.app/host_10_2_0_15/darwin/x86/usr/bin/ + +* Run the following to apply the change in the current session: + + $ source ~/.bash_profile + +If you got any environmental problem, using the Native SDK from the command line, execute the appropriate file for your platform, located within the installation path: + +* On Windows → MS-DOS shell: + + C:\> \bbndk\bbndk-env_xx_xx_xx_xxxx.bat + +* On Windows → git bash shell: + + $ `\bbndk\bbndk-env_xx_xx_xx_xxxx.bat` + +* On Linux → Installed as root user: + + $ `./opt/bbndk/bbndk-env_xx_xx_xx_xxxx.sh` + +* On Linux → Installed as non-root user: + + $ `./home/username/bbndk/bbndk-env_xx_xx_xx_xxxx.sh` + +* On Mac: + + $ `/Developer/SDKs/bbndk/bbndk-env_xx_xx_xx_xxxx.sh` + + +## Set up for Signing + +If you wish to test on a device or distribute apps through BlackBerry +World, your system must be setup for code signing. + +To obtain a signing key, go to the [BlackBerry Keys Order Form] (https://www.blackberry.com/SignedKeys/codesigning.html). + +Select the first checkbox: "for BlackBerry10 apps developed using BlackBerry +NDK" and then sign in or create a BBID. + +Enter a password and click "Get Token" to download bbidtoken.csk. Save this +file to the default location for your OS which will be displayed on the +download page. + +The final step is to generate a signing certificate: + + $ blackberry-keytool -genkeypair -storepass <password> -author 'Your Nameâ + +## Create a Project + +Use the `cordova` utility to set up a new project, as described in +[The Command-Line Interface](../../cli/index.html). For example, in a source-code directory: + + $ cordova create hello com.example.hello + $ cd hello + $ cordova platform add blackberry10 + $ cordova build + +## Deploy to Emulator + +If you wish to run a device emulator, download and install the +BlackBerry 10 Simulator. + +* [Download](http://developer.blackberry.com/native/download/) +* [Getting Started](http://developer.blackberry.com/devzone/develop/simulator/blackberry_10_simulator_start.html) + +Before testing an app on either an emulator or a device, you need to +enable development mode. + +Launch the emulator image, then choose __Settings__ from the home screen: + +![]({{ site.baseurl }}/static/img/guide/platforms/blackberry10/bb_home.png) + +Navigate to the __Security and Privacy → Development Mode__ +section and enable the option: + +![]({{ site.baseurl }}/static/img/guide/platforms/blackberry10/bb_devel.png) + +An additional set of command-line utilities are included when you set +up the BlackBerry 10 platform for your project. The following +command, in this case invoked from the project top-level directory, +associates a target named _emu_ with the IP address displayed above. + +* On Windows: + + $ platforms\blackberry10\cordova\target.bat add emu 169.254.0.1 -t simulator + +* On Mac/Linux: + + $ platforms/blackberry10/cordova/target add emu 169.254.0.1 -t simulator + +Then, run the `emulate` command to view the app: + + $ cordova emulate blackberry10 + +## Deploy to Device + +To deploy to a device, make sure it is plugged into your computer. +Enable development mode and obtain the IP address as desribed in the +emulator section above. You will also need to obtain the PIN from the +the __Settings__ application under __About → Hardware__: + +![]({{ site.baseurl }}/static/img/guide/platforms/blackberry10/bb_pin.png) + +Run the target command-line utility to associate a name with an IP +address, device password and PIN. + +* On Windows: + + $ platforms\blackberry10\cordova\target.bat add mydevice 169.254.0.1 -t device --password 123456 --pin FFFF972E + +* On Mac/Linux: + + $ platforms/blackberry10/cordova/target add mydevice 169.254.0.1 -t device --password 123456 --pin FFFF972E + +where: + +* `--password` refers to the password to unlock the device. + +* `--pin` refers to the device PIN obtained from the __Settings__ application. + +Then, run the `run` command to view the app: + + $ cordova run blackberry10 + +If a debug token is not yet set up for the device, an error message +prompts you to use the platform run script with the password you +provided when registering for signing keys. + +* On Windows: + + $ platforms\blackberry10\cordova\run.bat --device --keystorepass mysecret + +* On Mac/Linux: + + $ platforms/blackberry10/cordova/run --device --keystorepass mysecret + +## Debugging with WebInspector + +When debugging on the device or an emulator, you may run WebInspector +remotely to view the application's internal state. A prompt displays +the URL that allows you to connect to the app with a standard web +browser. For more information, see +[Debugging using WebInspector](http://developer.blackberry.com/html5/documentation/web_inspector_overview_1553586_11.html). + +## Building a Release Version + +By default, running the `cordova build` command creates an unsigned +_.bar_ package file suitable for testing on a device or simulator. + +Use `--release` to create a release version suitable for distribution +through BlackBerry World. + + $ cordova build --release --keystorepass <signing password> + +The `--keystorepass` option specifies the password you defined when +configuring your computer to sign applications. + + +## Deploy to Other Locations + +The instructions above assume a device is plugged in via USB or a +simulator is running on the local machine. It is also possible to +deploy to other locations. + +An additional set of command-line utilities are included when you set +up the BlackBerry 10 platform for your project. The following +command, in this case invoked from the project top-level directory, +associates a target named _emu_ with an IP address. + +* On Windows: + + $ platforms\blackberry10\cordova\build.bat --release --keystorepass mysecret + +* On Mac/Linux: + + $ platforms/blackberry10/cordova/build --release --keystorepass mysecret + +Once the target is defined, you can provide it to the run command using +`--target`: + + $ cordova run blackberry10 --target=emu http://git-wip-us.apache.org/repos/asf/cordova-docs/blob/21c8e8f0/www/docs/en/6.x/guide/platforms/blackberry10/plugin.md ---------------------------------------------------------------------- diff --git a/www/docs/en/6.x/guide/platforms/blackberry10/plugin.md b/www/docs/en/6.x/guide/platforms/blackberry10/plugin.md new file mode 100644 index 0000000..c6d02d5 --- /dev/null +++ b/www/docs/en/6.x/guide/platforms/blackberry10/plugin.md @@ -0,0 +1,258 @@ +--- +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. + +title: BlackBerry 10 Plugins +--- + +# BlackBerry 10 Plugins + +This section provides details for how to implement native plugin code +on the BlackBerry 10 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. + +The Echo plugin basically returns whatever string the `window.echo` +function sends from JavaScript: + + window.echo = function(str, callback) { + cordova.exec(callback, function(err) { + callback('Nothing to echo.'); + }, "Echo", "echo", [str]); + }; + +A Cordova plugin for BlackBerry 10 contains both JavaScript and native +code, which communicate with each other through a framework provided +by JNEXT. Every plugin must also include a `plugin.xml` file. + +## Creating the Native Class + +To create the native portion of your plugin, open the BlackBerry 10 +NDK IDE and select __File → New → BlackBerry Project → +Native Extension → BlackBerry 10__. Enter the desired +project name and location, then press __Finish__. + +The project created by the IDE contains sample code for a memory +plugin. You may replace or modify these files to implement your own +functionality: + +- `*name*_js.hpp`: C++ header for the JNEXT code. + +- `*name*_js.cpp`: C++ code for JNEXT. + +The native interface for the JNEXT extension can be viewed in the +plugin header file located in the project's public directory. It also +features constants and utility functions available from within native +code. The plugin must be derived from `JSExt`, which is defined in +`plugin.h`. That is, you must implement the following class: + + class JSExt + { + public: + virtual ~JSExt() {}; + virtual string InvokeMethod( const string& strCommand ) = 0; + virtual bool CanDelete( void ) = 0; + private: + std::string m_id; + }; + +The extension should include the `plugin.h` header file. In the `Echo` +example, you use `JSExt` as follows in the `echo_js.hpp` file: + + #include "../public/plugin.h" + #include <string> + + #ifndef ECHO_JS_H_ + #define ECHO_JS_H_ + + class Echo : public JSExt + { + public: + explicit Echo(const std::string& id); + virtual ~Echo(); + virtual std::string InvokeMethod(const std::string& command); + virtual bool CanDelete(); + private: + std::string m_id; + }; + + #endif // ECHO_JS_H_ + +The `m_id` attribute contains the `JNEXT` id for the object, which is +passed to the class as an argument to the constructor. It is needed +for the native side to trigger events on the JavaScript side. The +`CanDelete` method determines whether the native object can be +deleted. The `InvokeMethod` function is called as a result from a +request from JavaScript to invoke a method of this particular +object. The only argument to this function is a string passed from +JavaScript that this method parses to determine which of the native +object's methods should execute. These methods are implemented in +`echo_js.cpp`. Here is the `InvokeMethod` function for the `Echo` +example: + + string Echo::InvokeMethod(const string& command) { + + //parse command and args from string + int index = command.find_first_of(" "); + string strCommand = command.substr(0, index); + string strValue = command.substr(index + 1, command.length()); + + // Determine which function should be executed + if (strCommand == "echo") { + return strValue; + } else { + return "Unsupported Method"; + } + } + +The native plugin must also implement the following callback +functions: + +- `extern char* onGetObjList( void );` + +- `extern JSExt* onCreateObject( const string& strClassName, const string& strObjId );` + +The `onGetObjList` function returns a comma-separated list of classes +supported by JNEXT. JNEXT uses this function to determine the set of +classes that JNEXT can instantiate. The `Echo` plugin implements the +following in `echo_js.cpp`: + + char* onGetObjList() { + static char name[] = "Echo"; + return name; + } + +The `onCreateObject ` function takes two parameters. The first is the +name of the requested class to be created from the JavaScript side, +with valid names as those returned in `onGetObjList`. The second +parameter is the class's unique object id. This method returns a +pointer to the created plugin object. The `Echo` plugin implements the +following in `echo_js.cpp`: + + JSExt* onCreateObject(const string& className, const string& id) { + if (className == "Echo") { + return new Echo(id); + } + return NULL; + } + +## Creating the Plugin's JavaScript + +The plugin must contain the following JavaScript files: + +- `client.js`: This is considered the client side and contains the API + available to a Cordova application. The API in `client.js` calls + makes calls to `index.js`. The API in `client.js` also connects + callback functions to the events that fire the callbacks. + +- `index.js`: Cordova loads `index.js` and makes it accessible through + the cordova.exec bridge. The `client.js` file makes calls to the API + in the `index.js` file, which in turn makes call to JNEXT to + communicate with the native side. + +The client and server side (`client.js` and `index.js`) interacts +through the `Cordova.exec` function. The `client.js` needs to invoke +the `exec` function and provide the necessary arguments. The `Echo` +plugin implements the following in the `client.js` file: + + var service = "org.apache.cordova.blackberry.echo", + exec = cordova.require("cordova/exec"); + + module.exports = { + echo: function (data, success, fail) { + exec(success, fail, service, "echo", { data: data }); + } + }; + +The `index.js` component uses JNEXT to interact with the native +side. Attaching a constructor function named `Echo` to JNEXT allows +you to perform the following key operations using the `init` function: + +- Specify the required module exported by the native side. The name of + the required module must match the name of a shared library file + (`.so` file): + + JNEXT.require("libecho") + +- Create an object by using an acquired module and save the ID that's + returned by the call: + + self.m_id = JNEXT.createObject("libecho.Echo"); + + When the application calls the `echo` function in `client.js`, that + call in turn calls the `echo` function in `index.js`, where the + `PluginResult` object sends data as a response back to `client.js`. + Since the `args` argument passed into the functions was converted by + `JSON.stringfy()` and encoded as a `URIcomponent`, you must call the + following: + + data = JSON.parse(decodeURIComponent(args.data)); + +You can now send the data back, as in the following: + + module.exports = { + echo: function (success, fail, args, env) { + var result = new PluginResult(args, env), + data = JSON.parse(decodeURIComponent(args.data)), + response = echo.getInstance().echo(data); + result.ok(response, false); + } + }; + +## Plugin Architecture + +You can place the plugin's artifacts, including the `plugin.xml` file, +the JavaScript and C++ source files, and the `.so` binary files within +any directory structure, as long as you correctly specify the file +locations in the `plugin.xml` file. Here is a typical structure: + +***project_directory*** (>plugin.xml) + +- **www** (>client.js) +- **src** + - **blackberry10** (>index.js, **native** >*.cpp, *.hpp) + - **device** (>*binary file* *.so) + - **simulator** (>*binary file* *.so) + +The list shows the hierarchical relationship among the top-level +folders. The parenthesis shows the contents of a given directory. All +directory names appear in bold text. File names are preceded by the `>` +sign. + +## The _plugin.xml_ file + +The `plugin.xml` file contains the extension's namespace and other +metadata. Set up the `Echo` plugin as follows: + + <plugin xmlns="http://www.phonegap.com/ns/plugins/1.0" + id="org.apache.cordova.blackberry.echo" + version="1.0.0"> + <js-module src="www/client.js"> + <merges target="navigator" /> + </js-module> + <platform name="blackberry10"> + <source-file src="src/blackberry10/index.js" /> + <lib-file src="src/blackberry10/native/device/libecho.so" arch="device" /> + <lib-file src="src/blackberry10/native/simulator/libecho.so" arch="simulator" /> + <config-file target="www/config.xml" parent="/widget"> + <feature name="org.apache.cordova.blackberry.echo" value="org.apache.cordova.blackberry.echo" /> + </config-file> + </platform> + </plugin> http://git-wip-us.apache.org/repos/asf/cordova-docs/blob/21c8e8f0/www/docs/en/6.x/guide/platforms/blackberry10/tools.md ---------------------------------------------------------------------- diff --git a/www/docs/en/6.x/guide/platforms/blackberry10/tools.md b/www/docs/en/6.x/guide/platforms/blackberry10/tools.md new file mode 100644 index 0000000..197d1dd --- /dev/null +++ b/www/docs/en/6.x/guide/platforms/blackberry10/tools.md @@ -0,0 +1,181 @@ +--- +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. + +title: BlackBerry 10 Shell Tool Guide +--- + +# BlackBerry 10 Shell Tool Guide + +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](../../../plugin_ref/plugman.html). See Application Plugins +for details on how to develop plugins. + +If you need help with any command listed below, type the command along +with the `-h` or `-help` arguments, which are supported by all +commands and which provide descriptions for each of the available +arguments. + +## Create an App + +The `create` command creates a new project: + + bin/create <path-to-project> <project-package> <project-name> + +where + +- `<path-to-project>` specifies the directory you want the project created in + +- `<project-package>` specifies a reverse domain style identifier + +- `<project-name>` specifies the apps display name + +__NOTE__: the `create` command bootstraps dependency installation +through the `npm install` command. Depending on the installation +directory and system permissions, this may require administrator +privileges. If there's problem on OSX/Linux, run `sudo npm install` +before using the `create` command. On Windows, run `npm install` in a +command-line utility opened with administrator privileges. + +## Create a Target + +The `target` command allows you to manage the emulator or BlackBerry +devices that you use to test the app. You can add or remove a target, +or set a target as the default target. + +### Add a Target + + <path-to-project>/cordova/target add <name> <ip-address> [-t | --type <device | simulator>] [-p | --password <password>] [--pin <device-pin>] + +where + +- `<name>` specifies a unique name for the target. + +- `<ip-address>` specifies the ip address of the BlackBerry device or + simulator. + +- `-p | --password <password>` specifies the password for the device or + emulator. This is required only if the device or emulator is + password protected. + +- `--pin <device-pin>` specifies the PIN of the BlackBerry device, + which identifies that device as a valid host for the debug + token. This argument is required only when creating a debug + token. + +### Remove a Target + + <path-to-project>/cordova/target remove <name> + +### Set a Target as the Default + + <path-to-project>/cordova/target default <name> + +## Build the App + +The `build` command builds the project as a .bar file. You can build +the app in either release mode (which produces a signed .bar file) or +in debug mode (which produces an unsigned .bar file). + +### Build the App in Release Mode + + <path-to-project>/cordova/build release [-k | --keystorepass <password>] [-b | --buildId <number>] [-p | --params <params-JSON-file>] + +where + +- `-k | --keystorepass <password>` specifies the password you defined when you configured your computer to sign applications. + +- `-b | --buildId <number>` specifies the build version number of your application. Typically, this number should be incremented from the previous signed version. This argument is optional. + +- `-p | --params <params-JSON-file>` specifies a JSON file containing additional parameters to pass to downstream tools. This argument is optional. + +### Build the Project in Debug Mode + + <path-to-project>/cordova/build debug [<target>] [-k | --keystorepass <password>] [-p | --params <params-JSON-file>] [-ll | --loglevel <error|warn|verbose>] + +where + +- `<target>` specifies the name of a previously added target. If + `<target>` is not specified, the default target is used, if one has + been created. This argument is only required if you want the script + to deploy the app to a BlackBerry device or emulator and you have + not created a default target. Additionally, if `<target>` is a + device, then that device must be connected to your computer by USB + connection or be connected to the same Wi-Fi network as your + computer. + +- `-k | --keystorepass <password>` specifies the password you defined + when you configured your computer to sign applications. This + password is also used to create your debug token. This argument is + only required if you want the script to create and install the debug + token for you. + +- `-p | --params <params-JSON-file>` specifies a JSON file containing + additional parameters to pass to downstream tools. + +- `-ll | --loglevel <level>` specifies the log level. The log level may + be one of `error`, `warn`, or `verbose`. + +If you have previously defined a default target (and previously +installed a debug token, if that target is a BlackBerry device), you +can run the script with no arguments, and the script packages your +app and deploys it to the default target. For example: + + <path-to-project>/cordova/build debug + +## Run the App + +The `run` command deploys the app's most recent build on the specified +BlackBerry device or an emulator. To deploy your app, you need to +specify a target for the device or emulator: + + <path-to-project>/cordova/run <target> + +...where `<target> `specifies the name of a previously added target. +If `<target>` is a device, then it must be connected to your computer +via USB cable, or else over the same Wi-Fi network as your computer. + +## Handle Plugins + +The `target` command allows you to add and remove plugins. To fetch a +locally hosted plugin: + + <path-to-project>/cordova/plugin fetch <path-to-plugin> + +View a list of installed plugins: + + <path-to-project>/cordova/plugin ls + +Add a plugin: + + <path-to-project>/cordova/plugin add <name> + +Remove a plugin: + + <path-to-project>/cordova/plugin rm <name> http://git-wip-us.apache.org/repos/asf/cordova-docs/blob/21c8e8f0/www/docs/en/6.x/guide/platforms/blackberry10/upgrade.md ---------------------------------------------------------------------- diff --git a/www/docs/en/6.x/guide/platforms/blackberry10/upgrade.md b/www/docs/en/6.x/guide/platforms/blackberry10/upgrade.md new file mode 100644 index 0000000..c821e4f --- /dev/null +++ b/www/docs/en/6.x/guide/platforms/blackberry10/upgrade.md @@ -0,0 +1,505 @@ +--- +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. + +title: Upgrading BlackBerry 10 +--- + +# Upgrading BlackBerry 10 + +This guide shows how to modify BlackBerry 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](../../cli/index.html) for information how to update the +version of the CLI. + +## Upgrading 3.6.0 Projects to 4.0.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](../../cli/index.html). + +2. Run `cordova platform update blackberry` in your existing projects. + +## Upgrading 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](../../cli/index.html). + +2. Run `cordova platform update blackberry` + +For projects not created with the cordova CLI, run: + + bin/update <project_path> + +## Upgrade to 3.1.0 from 3.0.0 + +1. Create a new Apache Cordova 3.1.0 project using the cordova CLI, as + described in [The Command-Line Interface](../../cli/index.html). + +2. Add your platforms to the cordova project, for example: `cordova + platform add blackberry10`. + +3. Copy the contents of the original 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.) + +5. Copy the `config.xml` file into the `www` directory, and remove any + plugin definitions. You need to modify settings here rather than + within 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 plugins marked 3.0.0 and above are compatible with the CLI. + +7. Build and test. + +Please note that the CLI supports the BlackBerry10 platform exclusively. For PlayBook and BBOS, please see Cordova version 2.9.0 and below. + +## 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](../../cli/index.html). + +2. Add your platforms to the cordova project, for example: `cordova + platform add blackberry10`. + +3. Copy the contents of the original 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.) + +5. Copy the `config.xml` file into the `www` directory, and remove any + plugin definitions. You need to modify settings here rather than + within 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.8.0 Projects to 2.9.0 + +For BlackBerry 10: + +1. Download and extract the Cordova 2.9.0 source to a permanent directory location on your hard drive, for example to `~/Cordova-2.9.0`. + +2. Quit any running SDK tools: Eclipse, Momentics and the like. + +3. Navigate to the directory where you put the downloaded source above, using a unix like terminal: Terminal.app, Bash, Cygwin, etc. + +4. Create a new project, as described in BlackBerry Shell Tool Guide. This becomes the home of your updated project. + +5. Copy your projects source from the old project's `/www` directory to the new project's `/www` directory. + +6. Update the Cordova script reference in the `www/index.html` file (and any other files that contain the script reference) to point to the new `cordova.js` file. + +For BlackBerryOS/Playbook: + +1. Download and extract the Cordova 2.9.0 source to a permanent directory location on your hard drive, for example to `~/Cordova-2.9.0`. + +2. Quit any running SDK tools: Eclipse, Momentics and the like. + +3. Navigate to the directory where you put the downloaded source above, using a unix like terminal: Terminal.app, Bash, Cygwin, etc. + +4. Create a new project, as described in BlackBerry Shell Tool Guide. You need the assets from this new project. + +5. Copy the `www/cordova.js` file from the new project into the `www` directory, and delete the `www/cordova.js` file. + +6. Update the Cordova script reference in the `www/index.html` file (and any other files that contain the script reference) to point to the new `cordova.js` file. + +7. Copy the `native` directory from the new project into the existing project, overwriting the old `native` directory. + +8. Copy the `lib` directory from the new project into the existing project, overwriting the old `lib` directory. + +9. Copy the `cordova` directory from the new project into the existing project, overwriting the old `cordova` directory. + +## Upgrading 2.7.0 Projects to 2.8.0 + +BlackBerry 10 uses the new CLI tooling and manages core APIs as plugins. The instructions migrate your project to a new project, rather than updating an existing project, due to the complexity of updating an old project. +Also note that the cordova js script file is now called 'cordova.js' and no longer contains a version string. + +1. Download and extract the Cordova 2.8.0 source to a permanent directory location on your hard drive, for example to `~/Cordova-2.8.0`. + +2. Quit any running SDK tools: Eclipse, Momentics and the like. + +3. Navigate to the directory where you put the downloaded source above, using a unix like terminal: Terminal.app, Bash, Cygwin, etc. + +4. Create a new project, as described in BlackBerry Shell Tool Guide. This becomes the home of your updated project. + +5. Copy your projects source from the old project's `/www` directory to the new project's `/www` directory. + +6. Update the Cordova script reference in the `www/index.html` file (and any other files that contain the script reference) to point to the new `cordova.js` file. + +For BlackBerryOS/Playbook: + +1. Download and extract the Cordova 2.8.0 source to a permanent directory location on your hard drive, for example to `~/Cordova-2.8.0`. + +2. Quit any running SDK tools: Eclipse, Momentics and the like. + +3. Navigate to the directory where you put the downloaded source above, using a unix like terminal: Terminal.app, Bash, Cygwin, etc. + +4. Create a new project, as described in BlackBerry Shell Tool Guide. You need the assets from this new project. + +5. Copy the `www/cordova.js` file from the new project into the `www` directory, and delete the `www/cordova.js` file. + +6. Update the Cordova script reference in the `www/index.html` file (and any other files that contain the script reference) to point to the new `cordova.js` file. + +7. Copy the `native` directory from the new project into the existing project, overwriting the old `native` directory. + +8. Copy the `lib` directory from the new project into the existing project, overwriting the old `lib` directory. + +9. Copy the `cordova` directory from the new project into the existing project, overwriting the old `cordova` directory. + +## 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 `~/Cordova-2.7.0`. + +2. Quit any running SDK tools: Eclipse, Momentics and the like. + +3. Navigate to the directory where you put the downloaded source above, using a unix like terminal: Terminal.app, Bash, Cygwin, etc. + +4. Create a new project, as described in BlackBerry Shell Tool Guide. You need the assets from this new project. + +5. Copy the `www/cordova-2.7.0.js` file from the new project into the `www` directory, and delete the `www/cordova-2.6.0.js` file. + +6. Update the Cordova script reference in the `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. Copy the `native` directory from the new project into the existing project, overwriting the old `native` directory. + +8. Copy the `lib` directory from the new project into the existing project, overwriting the old `lib` directory. + +9. Copy the `cordova` directory from the new project into the existing project, overwriting the old `cordova` directory. + +## Upgrade to 2.6.0 from 2.5.0 + +Updating the PhoneGap download directory: + +It is recommended that you download a fresh copy of the entire directory. + +However, here are the new parts needed for the piecemeal update: + +1. Update the cordova.blackberry.js file in the `Phonegap-2.6.0/lib/blackberry/javascript` directory. + +2. Update the `ext`, `ext-air`, and `ext-qnx` in the `Phonegap-2.6.0/lib/blackberry/framework` directory. + +3. Update the `build.xml` file in the `Phonegap-2.6.0/lib/blackberry` directory. + +4. Update the `Phonegap-2.6.0/lib/blackberry/bin` directory. + +5. Update the `VERSION` file in the `Phonegap-2.6.0/lib/blackberry` directory. + +Updating the example/ directory or migrating an existing project: + +1. Open the `www` directory, which contains the app. + +2. Remove and update the .jar file in the `ext/` directory. + +3. Update the contents of the `ext-air/` directory. + +4. Update the contents of the `ext-qnx/` directory. + +4. Copy the new `cordova-2.6.0.js` into your project. + +5. Update your HTML to use the new `cordova-2.6.0.js` file. + +## Upgrade to 2.5.0 from 2.4.0 + +Updating the PhoneGap download directory: + +It is recommended that you download a fresh copy of the entire directory. + +However, here are the new parts needed for the piecemeal update: + +1. Update the cordova.blackberry.js file in the `Phonegap-2.5.0/lib/blackberry/javascript` directory. + +2. Update the `ext`, `ext-air`, and `ext-qnx` in the `Phonegap-2.5.0/lib/blackberry/framework` directory. + +3. Update the `build.xml` file in the `Phonegap-2.5.0/lib/blackberry` directory. + +4. Update the `Phonegap-2.5.0/lib/blackberry/bin` directory. + +5. Update the `VERSION` file in the `Phonegap-2.5.0/lib/blackberry` directory. + +Updating the example/ directory or migrating an existing project: + +1. Open the `www` directory, which contains the app. + +2. Remove and update the .jar file in the `ext/` directory. + +3. Update the contents of the `ext-air/` directory. + +4. Update the contents of the `ext-qnx/` directory. + +4. Copy the new `cordova-2.5.0.js` into your project. + +5. Update your HTML to use the new `cordova-2.5.0.js` file. + +## Upgrade to 2.4.0 from 2.3.0 + +Updating just the `www` directory: + +1. Open the `www` directory, which contains the app. + +2. Remove and update the .jar file in the `ext/` directory. + +3. Update the contents of the `ext-air/` directory. + +4. Copy the new `cordova-2.4.0.js` into your project. + - If playbook, then update the .js file in the `playbook/` directory. + - If BlackBerry 10, then update the .js file in the `qnx/` directory. + +5. Update your HTML to use the new `cordova-2.4.0.js` file. + +Updating the sample directory (i.e., updating using the ant tools): + +1. Open the `sample/lib/` directory. + +2. Update the .jar file in the `cordova.2.3.0/ext/` directory. + +3. Update the contents of the `cordova.2.3.0/ext-air/` directory. + +4. Update the contents of the `cordova.2.3.0/ext-qnx/` directory. + +5. Update the .js file in the `cordova.2.3.0/javascript/` directory. + +6. Open the `sample/lib/` directory and rename the `cordova.2.3.0/` directory to `cordova.2.4.0/`. + +7. Type `ant blackberry build` or `ant playbook build` to update the `www` directory with updated Cordova. + +8. Open the `www` directory and update your HTML to use the new `cordova-2.4.0.js` file. + +## Upgrade to 2.3.0 from 2.2.0 + +Updating just the `www` directory: + +1. Open the `www` directory, which contains the app. + +2. Remove and update the .jar file in the `ext/` directory. + +3. Update the contents of the `ext-air/` directory. + +4. Copy the new `cordova-2.3.0.js` into your project. + - If playbook, then update the .js file in the `playbook/` directory. + - If BlackBerry 10, then update the .js file in the `qnx/` directory. + +5. Update your HTML to use the new `cordova-2.3.0.js` file. + +Updating the sample directory (i.e., updating using the ant tools): + +1. Open the `sample/lib/` directory. + +2. Update the .jar file in the `cordova.2.2.0/ext/` directory. + +3. Update the contents of the `cordova.2.2.0/ext-air/` directory. + +4. Update the contents of the `cordova.2.2.0/ext-qnx/` directory. + +5. Update the .js file in the `cordova.2.2.0/javascript/` directory. + +6. Open the `sample/lib/` directory and rename the `cordova.2.2.0/` directory to `cordova.2.3.0/`. + +7. Type `ant blackberry build` or `ant playbook build` to update the `www` directory with updated Cordova. + +8. Open the `www` directory and update your HTML to use the new `cordova-2.3.0.js` file. + +## Upgrade to 2.2.0 from 2.1.0 + +Updating just the www directory: + +1. Open the `www` directory, which contains the app. + +2. Remove and update the .jar file in the `ext/` directory. + +3. Update the contents of the `ext-air/` directory. + +4. Copy the new `cordova-2.2.0.js` into your project. + - If playbook, then update the .js file in the `playbook/` directory. + - If BlackBerry 10, then update the .js file in the `qnx/` directory. + +5. Update your HTML to use the new `cordova-2.2.0.js` file. + +Updating the sample directory (i.e., updating using the ant tools): + +1. Open the `sample/lib/` directory. + +2. Update the .jar file in the `cordova.2.1.0/ext/` directory. + +3. Update the contents of the `cordova.2.1.0/ext-air/` directory. + +4. Update the contents of the `cordova.2.1.0/ext-qnx/` directory. + +5. Update the .js file in the `cordova.2.1.0/javascript/` directory. + +6. Open the `sample/lib/` directory and rename the `cordova.2.1.0/` directory to `cordova.2.2.0/`. + +7. Type `ant blackberry build` or `ant playbook build` to update the `www` directory with updated Cordova. + +8. Open the `www` directory and update your HTML to use the new `cordova-2.2.0.js` file. + +## Upgrade to 2.1.0 from 2.0.0 + +Updating just the `www` directory: + +1. Open the `www` directory, which contains the app. + +2. Remove and update the .jar file in the `ext/` directory. + +3. Update the contents of the `ext-air/` directory. + +4. Copy the new `cordova-2.1.0.js` into your project. + - If playbook, then update the .js file in the `playbook/` directory. + +5. Update your HTML to use the new `cordova-2.1.0.js` file. + +Updating the sample directory (i.e., updating using the ant tools): + +1. Open the `sample/lib/` directory. + +2. Update the .jar file in the `cordova.2.0.0/ext/` directory. + +3. Update the contents of the `cordova.2.0.0/ext-air/` directory. + +4. Update the .js file in the `cordova.2.0.0/javascript/` directory. + +5. Open the `sample/lib/` directory and rename the `cordova.2.0.0/` directory to `cordova.2.1.0/`. + +6. Type `ant blackberry build` or `ant playbook build` to update the `www` directory with updated Cordova. + +7. Open the `www` directory and update your HTML to use the new `cordova-2.1.0.js` file. + +## Upgrade to 2.0.0 from 1.9.0 + +Updating just the `www` directory: + +1. Open the `www` directory, which contains the app. + +2. Remove and update the .jar file in the `ext/` directory. + +3. Update the contents of the `ext-air/` directory. + +4. Copy the new `cordova-2.0.0.js` into your project. + - If playbook, then update the .js file in the `playbook/` directory. + +5. Update your HTML to use the new `cordova-2.0.0.js` file. + +6. Update the `www/plugins.xml` file. Two plugins changed their + namespace/service label. Change the old entries for the Capture and + Contact plugins from: + + <plugin name="Capture" value="org.apache.cordova.media.MediaCapture"/> + <plugin name="Contact" value="org.apache.cordova.pim.Contact"/> + + To: + + <plugin name="Capture" value="org.apache.cordova.capture.MediaCapture"/> + <plugin name="Contacts" value="org.apache.cordova.pim.Contact"/> + +Updating the sample directory (i.e., updating using the ant tools): + +1. Open the `sample/lib/` directory. + +2. Update the .jar file in the `cordova.1.9.0/ext/` directory. + +3. Update the contents of the `cordova.1.9.0/ext-air/` directory. + +4. Update the .js file in the `cordova.1.9.0/javascript/` directory. + +5. Open the `sample/lib/` directory and rename the `cordova.1.9.0/` directory to `cordova.2.0.0/`. + +6. Type `ant blackberry build` or `ant playbook build` to update the `www` directory with updated Cordova. + +7. Open the `www` directory and update your HTML to use the new `cordova-2.0.0.js` file. + +8. Open the `www` directory and update the `plugins.xml` file. Two plugins + changed their namespace/service label. Change the old entries for the + Capture and Contact plugins from: + + <plugin name="Capture" value="org.apache.cordova.media.MediaCapture"/> + <plugin name="Contact" value="org.apache.cordova.pim.Contact"/> + + To: + + <plugin name="Capture" value="org.apache.cordova.capture.MediaCapture"/> + <plugin name="Contacts" value="org.apache.cordova.pim.Contact"/> + +- To upgrade to 1.8.0, please go from 1.7.0 + +## Upgrade to 1.8.0 from 1.7.0 + +Updating just the `www` directory: + +1. Open the `www` directory, which contains the app. + +2. Remove and update the .jar file in the `ext/` directory. + +3. Update the contents of the `ext-air/` directory. + +4. Copy the new `cordova-1.8.0.js` into your project. + - If playbook, then update the .js file in the `playbook/` directory. + +5. Update your HTML to use the new `cordova-1.8.0.js` file. + +6. Update the `www/plugins.xml` file. Two plugins changed their + namespace/service label. Change the old entries for the Capture and + Contact plugins from: + + <plugin name="Capture" value="org.apache.cordova.media.MediaCapture"/> + <plugin name="Contact" value="org.apache.cordova.pim.Contact"/> + + To: + + <plugin name="Capture" value="org.apache.cordova.capture.MediaCapture"/> + <plugin name="Contacts" value="org.apache.cordova.pim.Contact"/> + +Updating the sample directory (i.e., updating using the ant tools): + +1. Open the `sample/lib/` directory. + +2. Update the .jar file in the `cordova.1.7.0/ext/` directory. + +3. Update the contents of the `cordova.1.7.0/ext-air/` directory. + +4. Update the .js file in the `cordova.1.7.0/javascript/` directory. + +5. Open the `sample/lib/` directory and rename the `cordova.1.7.0/` directory to `cordova.1.8.0/`. + +6. Type `ant blackberry build` or `ant playbook build` to update the `www` directory with updated Cordova. + +7. Open the `www` directory and update your HTML to use the new `cordova-1.8.0.js` file. + +8. Open the `www` directory and update the `plugins.xml` file. Two plugins + changed their namespace/service label. Change the old entries for the + Capture and Contact plugins from: + + <plugin name="Capture" value="org.apache.cordova.media.MediaCapture"/> + <plugin name="Contact" value="org.apache.cordova.pim.Contact"/> + + To: + + <plugin name="Capture" value="org.apache.cordova.capture.MediaCapture"/> + <plugin name="Contacts" value="org.apache.cordova.pim.Contact"/> + http://git-wip-us.apache.org/repos/asf/cordova-docs/blob/21c8e8f0/www/docs/en/6.x/guide/platforms/firefoxos/index.md ---------------------------------------------------------------------- diff --git a/www/docs/en/6.x/guide/platforms/firefoxos/index.md b/www/docs/en/6.x/guide/platforms/firefoxos/index.md new file mode 100644 index 0000000..d7d7b1d --- /dev/null +++ b/www/docs/en/6.x/guide/platforms/firefoxos/index.md @@ -0,0 +1,79 @@ +--- +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. + +title: Firefox OS Platform Guide +--- + +# Firefox OS Platform Guide + +This guide describes how to set up your development environment to +create Cordova apps for Firefox OS devices, then test and publish those apps. + +## Requirements and Support + +Firefox OS apps are basically just web apps, with the addition of a manifest.webapp file that defines metadata about the app and allows it to be installed on Firefox OS devices. Any platform that Cordova supports can be used.To find out more about building web apps, consult the [App Center](https://developer.mozilla.org/en-US/Apps) on [MDN](https://developer.mozilla.org/en-US/). + +## Installation and Environment Setup + +First install [Node.js](http://nodejs.org/), then install the Cordova package like so: + + $ npm install -g cordova + +Next, create a sample Cordova app then navigate into the newly created directory: + + $ cordova create test-app + $ cd test-app + +Add Firefox OS as a supported platform to the app with the following: + + $ cordova platform add firefoxos + +This creates a Firefox OS app in platforms/firefoxos/www directory, which currently looks the same except that it has a Firefox manifest file (manifest.webapp) inside the www directory. + +## Developing your app + +At this point you are ready to go â change the code inside test-app/www to whatever you want your app to be. You can add [supported plugins]() to the app using "cordova plugin add", for example: + + cordova plugin add cordova-plugin-device + cordova plugin add cordova-plugin-vibration + +When your app code is written, deploy your changes to the Firefox OS app you've added to your project with + + $ cordova prepare firefoxos + +To create a packaged app one can zip the platforms/firefoxos/www directory. You can also simply build it using + + $ cordova build firefoxos + +The Firefox OS packaged app will be built in platforms/firefoxos/build/package.zip + +## Testing and Debugging + +The app can be tested using the Firefox OS [Web IDE](https://developer.mozilla.org/en-US/docs/Tools/WebIDE). + +When you have connected the Web IDE to your test device/simulator, select the "Open Packaged App" option, then make sure you point to the test-app/platforms/firefoxos/www/ directory to include the App in the Manager interface. + +For here you can install the app on your test device/simulator (with the "Play" button). Using the "Pause" button you can then debug the app and edit its code live. + +Note: Before attempting to publish your app you should consider validating it using the [App validator](https://marketplace.firefox.com/developers/validator). + +## Publishing your app on the Firefox Marketplace + +You can submit your app to the Firefox Marketplace, or publish it yourself. Visit the [Firefox Marketplace Zone](https://developer.mozilla.org/en-US/Marketplace) on MDN to find out more about how to do this; [App publishing options](https://developer.mozilla.org/en-US/Marketplace/Publishing/Publish_options) is the best place to start. + http://git-wip-us.apache.org/repos/asf/cordova-docs/blob/21c8e8f0/www/docs/en/6.x/guide/platforms/index.md ---------------------------------------------------------------------- diff --git a/www/docs/en/6.x/guide/platforms/index.md b/www/docs/en/6.x/guide/platforms/index.md new file mode 100644 index 0000000..7eb4abf --- /dev/null +++ b/www/docs/en/6.x/guide/platforms/index.md @@ -0,0 +1,102 @@ +--- +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. + +title: Platform Guides +--- + +# Platform Guides + +Before developing for any of the platforms listed below, install +cordova's command-line interface (CLI). +(For details, see [The Command-Line Interface](../cli/index.html).) + +To develop Cordova applications, you must install SDKs for each mobile +platform you are targeting. This installation is necessary regardless +of whether you do the majority of your work in the SDK or use the CLI +for your build cycle. + +Each _Platform Guide_ listed below tells you what you need to know to +set up each platform's development environment: where to obtain the +SDK, how to set up device emulators, how to connect devices for direct +testing, and how to manage signing key requirements. Additional +guides provide information on each platform's unique set of +configuration options, instructions to add plugins, how to upgrade +each platform, and platform-specific command-line tools that serve as +a lower-level alternative to the `cordova` command-line utility. + +## Amazon Fire OS + +* [Amazon Fire OS Platform Guide](amazonfireos/index.html) +* [Amazon Fire OS Configuration](amazonfireos/config.html) +* [Amazon Fire OS WebViews](amazonfireos/webview.html) +* [Amazon Fire OS Plugins](amazonfireos/plugin.html) + +## Android + +* [Android Platform Guide](android/index.html) +* [Android Shell Tool Guide](android/tools.html) +* [Android Configuration](android/config.html) +* [Android Plugins](android/plugin.html) +* [Android WebViews](android/webview.html) +* [Upgrading Android](android/upgrade.html) +* [Android Lifecycle Guide](android/lifecycle.html) + +## BlackBerry 10 + +* [BlackBerry 10 Platform Guide](blackberry10/index.html) +* [BlackBerry 10 Shell Tool Guide](blackberry10/tools.html) +* [BlackBerry 10 Configuration](blackberry10/config.html) +* [BlackBerry 10 Plugins](blackberry10/plugin.html) +* [Upgrading BlackBerry](blackberry/upgrade.html) 10 + +## Firefox OS + +* [Firefox OS Platform Guide](firefoxos/index.html) + +## iOS + +* [iOS Platform Guide](ios/index.html) +* [iOS Shell Tool Guide](ios/tools.html) +* [iOS Configuration](ios/config.html) +* [iOS Plugins](ios/plugin.html) +* [iOS WebViews](ios/webview.html) +* [Upgrading iOS](ios/upgrade.html) + +## Ubuntu + +* [Ubuntu Platform Guide](ubuntu/index.html) + +## Windows Phone 8 + +* [Windows Phone 8 Platform Guide](wp8/index.html) +* [Windows Phone 8 Plugins](wp8/plugin.html) +* [Upgrading Windows Phone 8](wp8/upgrade.html) + +## Windows + +* [Windows Platform Guide](win8/index.html) +* [Windows Plugins](win8/plugin.html) +* [Windows Packaging](win8/packaging.html) +* [Upgrading Windows 8](win8/upgrade.html) + +## OS X + +* [OS X Platform Guide](osx/index.html) +* [OS X Configuration](osx/config.html) +* [OS X Plugins](osx/plugin.html) \ No newline at end of file http://git-wip-us.apache.org/repos/asf/cordova-docs/blob/21c8e8f0/www/docs/en/6.x/guide/platforms/ios/config.md ---------------------------------------------------------------------- diff --git a/www/docs/en/6.x/guide/platforms/ios/config.md b/www/docs/en/6.x/guide/platforms/ios/config.md new file mode 100644 index 0000000..d316d0d --- /dev/null +++ b/www/docs/en/6.x/guide/platforms/ios/config.md @@ -0,0 +1,173 @@ +--- +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. + +title: iOS Configuration +--- + +# iOS Configuration + +The `config.xml` file controls an app's basic settings that apply +across each application and CordovaWebView instance. This section +details preferences that only apply to iOS builds. See [The config.xml +File](config_ref_index.md.html#The%20config.xml%20File) for information on global configuration options. + +- `EnableViewportScale` (boolean, defaults to `false`): Set to `true` + to allow a viewport meta tag to either disable or restrict the range + of user scaling, which is enabled by default. + + <preference name="EnableViewportScale" value="true"/> + + Place a viewport such as the following in the HTML to disable + scaling and fit content flexibly within the rendering WebView: + + <meta name='viewport' content='width=device-width, initial-scale=1, user-scalable=no' /> + +- `MediaPlaybackAllowsAirPlay` (boolean, defaults to `true`): + Set to `false` to prevent Air Play from being used in this view. Available in default UIWebView and WKWebView. + + <preference name="MediaPlaybackAllowsAirPlay" value="false"/> + +- `MediaPlaybackRequiresUserAction` (boolean, defaults to `false`): + Set to `true` to prevent HTML5 videos or audios from playing + automatically with the `autoplay` attribute or via JavaScript. + + <preference name="MediaPlaybackRequiresUserAction" value="true"/> + +- `AllowInlineMediaPlayback` (boolean, defaults to `false`): Set to + `true` to allow HTML5 media playback to appear _inline_ within the + screen layout, using browser-supplied controls rather than native + controls. For this to work, add the `webkit-playsinline` attribute + to any `<video>` elements. + + <preference name="AllowInlineMediaPlayback" value="true"/> + +- `BackupWebStorage` (string, either `none`, `local`, or the default + `cloud`): Set to `cloud` to allow web storage data to backup via + iCloud. Set to `local` to allow only local backups via iTunes + sync. Set to `none` prevent web storage backups. + + <preference name="BackupWebStorage" value="local"/> + +- `TopActivityIndicator` (string, defaults to `gray`): Controls the + appearance of the small spinning icon in the status bar that + indicates significant processor activity. Valid values are + `whiteLarge`, `white`, and `gray`. + + <preference name="TopActivityIndicator" value="white"/> + +- `KeyboardDisplayRequiresUserAction` (boolean, defaults to `true`): + Set to `false` to allow the keyboard to appear when calling + `focus()` on form inputs. + + <preference name="KeyboardDisplayRequiresUserAction" value="false"/> + +- `SuppressesIncrementalRendering` (boolean, defaults to `false`): Set + to `true` to wait until all content has been received before it + renders to the screen. + + <preference name="SuppressesIncrementalRendering" value="true"/> + +- `GapBetweenPages` (float, defaults to `0`): The size of the gap, in points, between pages. + + <preference name="GapBetweenPages" value="0"/> + +- `PageLength` (float, defaults to `0`): The size of each page, in points, in the + direction that the pages flow. When PaginationMode is right to left or left to right, + this property represents the width of each page. When PaginationMode is topToBottom + or bottomToTop, this property represents the height of each page. The default value + is 0, which means the layout uses the size of the viewport to determine the dimensions + of the page. + + <preference name="PageLength" value="0"/> + +- `PaginationBreakingMode` (string, defaults to `page`): Valid values are `page` and + `column`.The manner in which column- or page-breaking occurs. This property + determines whether certain CSS properties regarding column- and page-breaking are + honored or ignored. When this property is set to `column`, the content respects + the CSS properties related to column-breaking in place of page-breaking. + + <preference name="PaginationBreakingMode" value="page"/> + +- `PaginationMode` (string, defaults to `unpaginated`): Valid values are `unpaginated`, + `leftToRight`, `topToBottom`, `bottomToTop`, and `rightToLeft`. This property determines + whether content in the web view is broken up into pages that fill the view one screen + at a time, or shown as one long scrolling view. If set to a paginated form, this + property toggles a paginated layout on the content, causing the web view to use the + values of PageLength and GapBetweenPages to relayout its content. + + <preference name="PaginationMode" value="unpaginated"/> + +- `UIWebViewDecelerationSpeed` (string, defaults to `normal`): Valid values are `normal`, + `fast`. This property controls the deceleration speed of momentum scrolling. `normal` is + the default speed for most native apps, and `fast` is the default for Mobile Safari. + + <preference name="UIWebViewDecelerationSpeed" value="fast" /> + +- `ErrorUrl` (string, not set by default): + If set, will display the referenced local page upon an error in the application. + + <preference name="ErrorUrl" value="myErrorPage.html"/> + +- `OverrideUserAgent` (string, not set by default): + If set, the value will replace the old UserAgent of webview. + It is helpful to identify the request from app/browser when requesting remote pages. + Use with caution, this may causes compitiable issue with web servers. + For most cases, use AppendUserAgent instead. + + <preference name="OverrideUserAgent" value="Mozilla/5.0 My Browser" /> + +- `AppendUserAgent` (string, not set by default): + If set, the value will append to the end of old UserAgent of webview. + When using with OverrideUserAgent, this value will be ignored. + + <preference name="AppendUserAgent" value="My Browser" /> + +- `target-device` (string, defaults to `universal`): Valid values are `handset`, `tablet`, `universal` + For targeting a specific device family. This property maps directly to `TARGETED_DEVICE_FAMILY` + in the xcode project. + Note that if you target `universal` (which is the default) you will need to supply screen shots for + both iPhone and iPad or your app may be rejected. + + <preference name="target-device" value="universal" /> + +- `deployment-target` (string, not set by default): + This sets the `IPHONEOS_DEPLOYMENT_TARGET` in the build, which ultimately tranlsates to the `MinimumOSVersion` in the ipa. + For more details please refer to Apple's documentation on + [`Deployment Target Settings`](https://developer.apple.com/library/mac/documentation/DeveloperTools/Conceptual/cross_development/Configuring/configuring.html) + + <preference name="deployment-target" value="7.0" /> + +- `CordovaWebViewEngine` (string, defaults to 'CDVUIWebViewEngine'): + This sets the WebView engine plugin to be used to render the host app. The plugin must conform to the CDVWebViewEngineProtocol protocol. The 'value' here should match the 'feature' name of the WebView engine plugin that is installed. This preference usually would be set by the WebView engine plugin that is installed, automatically. + + <preference name="CordovaWebViewEngine" value="CDVUIWebViewEngine" /> + +- `SuppressesLongPressGesture` (boolean, defaults to `false`): Set to `true` to + avoid iOS9+ rendering a magnifying glass widget when the user longpresses the webview. + Test your app thoroughly since this may interfere with text selection capabilities. + + <preference name="SuppressesLongPressGesture" value="true" /> + +- `Suppresses3DTouchGesture` (boolean, defaults to `false`): Set to `true` to + avoid 3D Touch capable iOS devices rendering a magnifying glass widget when the user + applies force while longpressing the webview. Test your app thoroughly since this + disables `onclick` handlers, but plays nice with `ontouchend`. + If this setting is `true`, `SuppressesLongPressGesture` will effectively be `true` as well. + + <preference name="Suppresses3DTouchGesture" value="true" /> --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@cordova.apache.org For additional commands, e-mail: commits-h...@cordova.apache.org