Return-Path: X-Original-To: apmail-cordova-commits-archive@www.apache.org Delivered-To: apmail-cordova-commits-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id DB34A1872A for ; Thu, 19 Nov 2015 05:27:02 +0000 (UTC) Received: (qmail 45516 invoked by uid 500); 19 Nov 2015 05:27:02 -0000 Delivered-To: apmail-cordova-commits-archive@cordova.apache.org Received: (qmail 45405 invoked by uid 500); 19 Nov 2015 05:27:02 -0000 Mailing-List: contact commits-help@cordova.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Delivered-To: mailing list commits@cordova.apache.org Received: (qmail 43228 invoked by uid 99); 19 Nov 2015 05:27:00 -0000 Received: from git1-us-west.apache.org (HELO git1-us-west.apache.org) (140.211.11.23) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 19 Nov 2015 05:27:00 +0000 Received: by git1-us-west.apache.org (ASF Mail Server at git1-us-west.apache.org, from userid 33) id 3DDCCDFF73; Thu, 19 Nov 2015 05:27:00 +0000 (UTC) Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit From: dblotsky@apache.org To: commits@cordova.apache.org Date: Thu, 19 Nov 2015 05:27:45 -0000 Message-Id: <8a00c935db014a548e0bdfc97b8a100b@git.apache.org> In-Reply-To: <40e6990ff6234e50b63902481203e324@git.apache.org> References: <40e6990ff6234e50b63902481203e324@git.apache.org> X-Mailer: ASF-Git Admin Mailer Subject: [48/51] [partial] docs commit: CB-10029: rename edge to dev. This closes #426. http://git-wip-us.apache.org/repos/asf/cordova-docs/blob/f061b980/www/docs/de/dev/cordova/storage/sqlerror/sqlerror.md ---------------------------------------------------------------------- diff --git a/www/docs/de/dev/cordova/storage/sqlerror/sqlerror.md b/www/docs/de/dev/cordova/storage/sqlerror/sqlerror.md new file mode 100644 index 0000000..83fdd6f --- /dev/null +++ b/www/docs/de/dev/cordova/storage/sqlerror/sqlerror.md @@ -0,0 +1,46 @@ +--- +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: SQLError +--- + +# SQLError + +A `SQLError` Objekt wird ausgelöst, wenn ein Fehler auftritt. + +## Eigenschaften + +* **Code**: einer der vordefinierten Fehlercodes aufgeführt. + +* **Nachricht**: eine Beschreibung des Fehlers. + +## Konstanten + +* `SQLError.UNKNOWN_ERR` +* `SQLError.DATABASE_ERR` +* `SQLError.VERSION_ERR` +* `SQLError.TOO_LARGE_ERR` +* `SQLError.QUOTA_ERR` +* `SQLError.SYNTAX_ERR` +* `SQLError.CONSTRAINT_ERR` +* `SQLError.TIMEOUT_ERR` + +## Beschreibung + +Das `SQLError` Objekt wird ausgelöst, wenn ein Fehler auftritt, wenn eine [Datenbank](../database/database.html) zu manipulieren. \ No newline at end of file http://git-wip-us.apache.org/repos/asf/cordova-docs/blob/f061b980/www/docs/de/dev/cordova/storage/sqlresultset/sqlresultset.md ---------------------------------------------------------------------- diff --git a/www/docs/de/dev/cordova/storage/sqlresultset/sqlresultset.md b/www/docs/de/dev/cordova/storage/sqlresultset/sqlresultset.md new file mode 100644 index 0000000..ef57259 --- /dev/null +++ b/www/docs/de/dev/cordova/storage/sqlresultset/sqlresultset.md @@ -0,0 +1,145 @@ +--- +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: SQLResultSet +--- + +# SQLResultSet + +Wenn eine `[SQLTransaction](../sqltransaction/sqltransaction.html)` des Objekts `executeSql` -Methode wird aufgerufen, der angegebene Rückruf führt mit einem `SQLResultSet` Parameter. + +## Eigenschaften + +* **InsertId**: die Zeilen-ID der Zeile, die die `SQLResultSet` des Objekts-SQL-Anweisung, die in die [Datenbank](../database/database.html) eingefügt. + +* **RowsAffected**: die Anzahl der Zeilen geändert werden, indem die SQL-Anweisung, die 0 (null), wenn die Anweisung keine Zeilen nicht ausgewirkt hat. + +* **Zeilen**: eine `[SQLResultSetRowList](../sqlresultsetrowlist/sqlresultsetrowlist.html)` , die die zurückgegebenen Zeilen darstellen, empty, wenn keine Zeilen zurückgegeben werden. + +## Informationen + +Wenn eine `[SQLTransaction](../sqltransaction/sqltransaction.html)` des Objekts `executeSql` -Methode wird aufgerufen, der angegebene Rückruf führt mit einer `SQLResultSet` Parameter mit den drei Eigenschaften: + +* Die `insertId` gibt die Zeilennummer einer successly SQL-Einfügung-Anweisung zurück. Wenn die SQL keine Zeilen einfügen wird die `insertId` nicht festgelegt. + +* Die `rowsAffected` ist immer `` für ein SQL `select` Anweisung. Für `insert` oder `update` es die Anzahl der gibt Anweisungen geänderter Zeilen. + +* Finale `SQLResultSetList` enthält die Daten aus einer SQL-select-Anweisung zurückgegeben. + +## Unterstützte Plattformen + +* Android +* BlackBerry WebWorks (OS 6.0 und höher) +* iOS +* Tizen + +## Führen Sie SQL-schnelles-Beispiel + + function queryDB(tx) { + tx.executeSql('SELECT * FROM DEMO', [], querySuccess, errorCB); + } + + function querySuccess(tx, results) { + console.log("Returned rows = " + results.rows.length); + // this will be true since it was a select statement and so rowsAffected was 0 + if (!results.rowsAffected) { + console.log('No rows affected!'); + return false; + } + // for an insert statement, this property will return the ID of the last inserted row + console.log("Last inserted row ID = " + results.insertId); + } + + function errorCB(err) { + alert("Error processing SQL: "+err.code); + } + + var db = window.openDatabase("Database", "1.0", "Cordova Demo", 200000); + db.transaction(queryDB, errorCB); + + +## Vollständiges Beispiel + + + + + Storage Example + + + + + +

Example

+

Database

+ + \ No newline at end of file http://git-wip-us.apache.org/repos/asf/cordova-docs/blob/f061b980/www/docs/de/dev/cordova/storage/sqlresultsetrowlist/sqlresultsetrowlist.md ---------------------------------------------------------------------- diff --git a/www/docs/de/dev/cordova/storage/sqlresultsetrowlist/sqlresultsetrowlist.md b/www/docs/de/dev/cordova/storage/sqlresultsetrowlist/sqlresultsetrowlist.md new file mode 100644 index 0000000..994e275 --- /dev/null +++ b/www/docs/de/dev/cordova/storage/sqlresultsetrowlist/sqlresultsetrowlist.md @@ -0,0 +1,133 @@ +--- +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: SQLResultSetRowList +--- + +# SQLResultSetRowList + +Eine der Eigenschaften von den `[SQLResultSet](../sqlresultset/sqlresultset.html)` mit den Zeilen aus einer SQL-Abfrage zurückgegeben. + +## Eigenschaften + +* **Länge**: die Anzahl der Zeilen, die von der SQL-Abfrage zurückgegeben. + +## Methoden + +* **Element**: liefert die Zeile am angegebenen Index durch ein JavaScript-Objekt dargestellt. + +## Informationen + +Die `SQLResultSetRowList` enthält die Daten aus einer SQL zurückgegeben `select` Anweisung. Das Objekt enthält eine `length` Eigenschaft, die angibt, wie viele Zeilen der `select` Anweisung zurückgegeben. Um eine Zeile mit Daten abzurufen, rufen Sie die `item` -Methode, um einen Index angeben. Es gibt eine JavaScript `Object` deren Eigenschaften sind die Datenbankspalten der `select` Anweisung ausgeführt wurde. + +## Unterstützte Plattformen + +* Android +* BlackBerry WebWorks (OS 6.0 und höher) +* iOS +* Tizen + +## Führen Sie SQL-schnelles-Beispiel + + function queryDB(tx) { + tx.executeSql('SELECT * FROM DEMO', [], querySuccess, errorCB); + } + + function querySuccess(tx, results) { + var len = results.rows.length; + console.log("DEMO table: " + len + " rows found."); + for (var i=0; i + + + Storage Example + + + + + +

Example

+

Database

+ + \ No newline at end of file http://git-wip-us.apache.org/repos/asf/cordova-docs/blob/f061b980/www/docs/de/dev/cordova/storage/sqltransaction/sqltransaction.md ---------------------------------------------------------------------- diff --git a/www/docs/de/dev/cordova/storage/sqltransaction/sqltransaction.md b/www/docs/de/dev/cordova/storage/sqltransaction/sqltransaction.md new file mode 100644 index 0000000..624ee89 --- /dev/null +++ b/www/docs/de/dev/cordova/storage/sqltransaction/sqltransaction.md @@ -0,0 +1,111 @@ +--- +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: SQLTransaction +--- + +# SQLTransaction + +Ermöglicht die Ausführung von SQL-Anweisungen für die [Datenbank](../database/database.html). + +## Methoden + +* **ExecuteSql**: führt eine SQL­Anweisung. + +## Informationen + +Aufrufen einer `Database` -Methode des Objekts Transaktion, Pässe ein `SQLTransaction` Objekt, das die angegebene Callback-Methode. + +## Unterstützte Plattformen + +* Android +* BlackBerry WebWorks (OS 6.0 und höher) +* iOS +* Tizen + +## Führen Sie SQL-schnelles-Beispiel + + function populateDB(tx) { + tx.executeSql('DROP TABLE IF EXISTS DEMO'); + tx.executeSql('CREATE TABLE IF NOT EXISTS DEMO (id unique, data)'); + tx.executeSql('INSERT INTO DEMO (id, data) VALUES (1, "First row")'); + tx.executeSql('INSERT INTO DEMO (id, data) VALUES (2, "Second row")'); + } + + function errorCB(err) { + alert("Error processing SQL: "+err); + } + + function successCB() { + alert("success!"); + } + + var db = window.openDatabase("Database", "1.0", "Cordova Demo", 200000); + db.transaction(populateDB, errorCB, successCB); + + +## Vollständiges Beispiel + + + + + Storage Example + + + + + +

Example

+

SQLTransaction

+ + \ No newline at end of file http://git-wip-us.apache.org/repos/asf/cordova-docs/blob/f061b980/www/docs/de/dev/cordova/storage/storage.md ---------------------------------------------------------------------- diff --git a/www/docs/de/dev/cordova/storage/storage.md b/www/docs/de/dev/cordova/storage/storage.md new file mode 100644 index 0000000..b2571bc --- /dev/null +++ b/www/docs/de/dev/cordova/storage/storage.md @@ -0,0 +1,68 @@ +--- +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: Speicher +--- + +# Speicher + +> Eine [Übersicht](../../guide/overview/index.html) über Storage-Optionen für Cordova. + +Mehrere Speicher-APIs sind für Cordova-Anwendungen verfügbar. Finden Sie unter [html5rocks][1]. eine vollständigere [Übersicht](../../guide/overview/index.html) und Beispiele. + + [1]: http://www.html5rocks.com/en/features/storage + +## LocalStorage + +Auch bekannt als *web-Speicher*, *einfache Lagerung*, oder durch seine Alternative *Session-Speicherung* -Schnittstelle, diese API bietet synchrone Schlüssel/Wert-Paar Speicher, und steht im zugrunde liegenden WebView-Implementierungen. Finden Sie in [der W3C-Spezifikation][2] für Details. + + [2]: http://www.w3.org/TR/webstorage/ + +## WebSQL + +Diese API ist verfügbar in den zugrunde liegenden WebView. Der [Web SQL Database-Spezifikation][3] bietet Zugriff auf weitere vollwertige Datenbanktabellen über SQL-Abfragen. + + [3]: http://dev.w3.org/html5/webdatabase/ + +Die folgenden Plattformen unterstützen WebSQL: + +* Android +* BlackBerry 10 +* iOS +* Tizen + +## IndexedDB + +Diese API ist verfügbar in den zugrunde liegenden WebView. [Indiziert DB][4] bietet mehr Funktionen als LocalStorage aber weniger als WebSQL. + + [4]: http://www.w3.org/TR/IndexedDB/ + +Die folgenden Plattformen unterstützen IndexedDB: + +* BlackBerry 10 +* Firefox OS +* Windows Phone 8 +* Windows 8 + +## Plugin-Optionen + +Neben der Lagerung APIs oben aufgeführten, können Sie die [Datei API][5] zum Zwischenspeichern von Daten auf dem lokalen Dateisystem. Andere [Cordova Plugins][6] bieten ähnliche Speicheroptionen. + + [5]: https://github.com/apache/cordova-plugin-file/blob/master/doc/index.md + [6]: http://plugins.cordova.io/ \ No newline at end of file http://git-wip-us.apache.org/repos/asf/cordova-docs/blob/f061b980/www/docs/de/dev/cordova/storage/storage.opendatabase.md ---------------------------------------------------------------------- diff --git a/www/docs/de/dev/cordova/storage/storage.opendatabase.md b/www/docs/de/dev/cordova/storage/storage.opendatabase.md new file mode 100644 index 0000000..c44e632 --- /dev/null +++ b/www/docs/de/dev/cordova/storage/storage.opendatabase.md @@ -0,0 +1,72 @@ +--- +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: openDatabase +--- + +# openDatabase + +Gibt eine neue `Database` Objekt. + + var dbShell = window.openDatabase(database_name, database_version, database_displayname, database_size); + + +## Beschreibung + +Die Methode erstellt eine neue SQL-Lite [Datenbank](database/database.html) und gibt ein `Database` -Objekt, das Manipulation der Daten ermöglicht. + +## Unterstützte Plattformen + +* Android +* BlackBerry WebWorks (OS 6.0 und höher) +* iOS +* Tizen + +## Kleines Beispiel + + var db = window.openDatabase("test", "1.0", "Test DB", 1000000); + + +## Vollständiges Beispiel + + + + + Storage Example + + + + + +

Example

+

Open Database

+ + \ No newline at end of file http://git-wip-us.apache.org/repos/asf/cordova-docs/blob/f061b980/www/docs/de/dev/guide/appdev/hooks/index.md ---------------------------------------------------------------------- diff --git a/www/docs/de/dev/guide/appdev/hooks/index.md b/www/docs/de/dev/guide/appdev/hooks/index.md new file mode 100644 index 0000000..92233b2 --- /dev/null +++ b/www/docs/de/dev/guide/appdev/hooks/index.md @@ -0,0 +1,260 @@ +--- +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: Hooks-Guide +--- + +# Hooks-Guide + +Cordova-Hooks stellen besondere Skripts die konnten durch Anwendung und Plugin-Entwickler hinzugefügt werden oder auch durch Ihr eigenes Buildsystem Cordova Befehle anpassen. Aktionsskripte einrichten könnte definiert, indem sie auf die besonderen vordefinierte Ordner (`/hooks`) oder über Konfigurationsdateien (`config.xml` und `plugin.xml`) und nacheinander in folgender Reihenfolge ausgeführt werden: + + * Anwendung Haken aus `/hooks`; + * Anwendung-Haken von `"config.xml"`; + * Plugin-Haken aus `plugins/.../plugin.xml`. + +**Hinweis**: `/hooks` Verzeichnis gilt zugunsten der Haken Elemente in config.xml und plugin.xml. + +## Unterstützte Haken-Typen + +Die folgenden Haken-Typen werden unterstützt: + + after_build + after_compile + after_clean + after_docs + after_emulate + after_platform_add + after_platform_rm + after_platform_ls + after_plugin_add + after_plugin_ls + after_plugin_rm + after_plugin_search + after_plugin_install // Plugin hooks in plugin.xml are executed for a plugin being installed only + after_prepare + after_run + after_serve + before_build + before_clean + before_compile + before_docs + before_emulate + before_platform_add + before_platform_rm/ + before_platform_ls + before_plugin_add + before_plugin_ls + before_plugin_rm + before_plugin_search/ + before_plugin_install // Plugin hooks in plugin.xml are executed for a plugin being installed only + before_plugin_uninstall // Plugin hooks in plugin.xml are executed for a plugin being uninstalled only + before_prepare + before_run + before_serve + pre_package // Windows and Windows Phone only + + +## Möglichkeiten, Haken zu definieren + +### Über `/hooks` -Verzeichnis + +**Hinweis**: Diese Methode gilt als veraltet zugunsten der Haken Elemente in config.xml und plugin.xml. + +Um benutzerdefinierte Aktion ausgeführt wird, wenn die entsprechenden Haken-Typ ausgelöst wird, verwenden Sie Haken als Name für einen Unterordner im Verzeichnis 'Haken' und platzieren Sie Skriptdateien Sie hier zum Beispiel: + + # script file will be automatically executed after each build + hooks/after_build/after_build_custom_action.js + + +Wenn Sie diesen Haken verwenden, werden sie immer als exe-Dateien, nicht als ladbare Module in JavaScript ausgeführt werden. **Denken Sie daran**: Ihre Skripte in diesem Fall ausführbar machen. + +### "Config.xml" + +Haken können in des Projekts `"config.xml"` `` Elemente, z. B. mit definiert werden: + + + + + + + + + + ... + + + + + + + ... + + + +### Plugin-Haken (plugin.xml) + +Haken Sie Skripte mit `` Elemente in einem `plugin.xml` wie das als Plugin-Entwickler, die, den Sie definieren können: + + + + + + + + ... + + + +`Before_plugin_install`, `After_plugin_install`, `Before_plugin_uninstall` -Plugin, die ausschließlich für das Plugin installiert/deinstalliert Haken ausgelöst werden. + +## Skript-Schnittstelle + +### Javascript + +Wenn Sie Haken mit Node.js schreiben, verwenden Sie die folgende Moduldefinition: + +```javascript +module.exports = function(context) { + ... +} +``` + +Sie können Ihre Scipts Async mit f: machen. + +```javascript +module.exports = function(context) { + var Q = context.requireCordovaModule('q'); + var deferral = new Q.defer(); + + setTimeout(function(){ + console.log('hook.js>> end'); + deferral.resolve(); + }, 1000); + + return deferral.promise; +} +``` + +`context` -Objekt enthält Haken Typ, ausgeführten Skriptes vollständigen Pfad, "Optionen" Haken, Befehlszeilenargumente Cordova und auf oberster Ebene "Cordoba"-Objekt übergeben: + +```json +{ + "hook": "before_plugin_install", + "scriptLocation": "c:\\script\\full\\path\\appBeforePluginInstall.js", + "cmdLine": "The\\exact\\command\\cordova\\run\\with arguments", + "opts": { + "projectRoot":"C:\\path\\to\\the\\project", + "cordova": { + "platforms": ["wp8"], + "plugins": ["com.plugin.withhooks"], + "version": "0.21.7-dev" + }, + "plugin": { + "id": "com.plugin.withhooks", + "pluginInfo": { + ... + }, + "platform": "wp8", + "dir": "C:\\path\\to\\the\\project\\plugins\\com.plugin.withhooks" + } + }, + "cordova": {...} +} + +``` + +`context.opts.plugin` Objekt wird nur an Plugin-Haken-Skripts übergeben werden. + +Cordova-Zusatzmodule benötigen Sie auch in Ihrem Skript mithilfe von `context.requireCordovaModule` wie folgt: + +```javascript +var Q = context.requireCordovaModule('q'); +``` + +**Hinweis**: neues Modul Lader Skript Schnittstelle wird verwendet für die `js` -Dateien über `Datei config.xml` oder `plugin.xml` nur definiert. Aus Kompatibilitätsgründen werden die Haken-Dateien, die über `/hooks` Ordner angegeben über Knoten Child_process Laich, siehe "Non-Javascript" Abschnitt weiter unten ausgeführt. + +### Ohne javascript + +**Hinweis**: Wir empfehlen, schreiben Ihre Haken mit Node.js, so dass sie Cross-Plattform sind, siehe obigen Abschnitt von 'Javascript'. + +Ohne Javascript-Skripten werden über Knoten Child_process Laich von Root-Verzeichnis des Projekts ausgeführt und haben die Wurzel-Verzeichnis-Pässe als erstes Argument. Alle anderen Optionen werden an das Skript mithilfe von Umgebungsvariablen übergeben: + + * CORDOVA_VERSION - die Version der Cordova-CLI. + * CORDOVA_PLATFORMS - Komma-separierte Liste der Plattformen, für die der Befehl gilt (z.B.: android, Ios). + * CORDOVA_PLUGINS - Komma-getrennte Liste von Plugin IDs, für die der Befehl gilt (z.B.: org.apache.cordova.file, org.apache.cordova.file-Transfer) + * CORDOVA_HOOK - Pfad an den Haken, der ausgeführt wird. + * CORDOVA_CMDLINE - die genauen Befehlszeilenargumente übergeben, Cordova (z.B.: Cordova Ios--führen zu emulieren) + +Wenn ein Skript einen Exitcode ungleich NULL zurückgibt, wird der übergeordnete Cordova Befehl abgebrochen. + +Beachten Sie auch, dass selbst wenn Sie unter Windows arbeiten, und für den Fall, dass Ihre Aktionsskripte sind nicht Bat-Dateien (was empfohlen wird Sie ggf. Ihre Skripte in nicht-Windows-Betriebssystemen arbeiten,) erwarten Cordova CLI eine Shebang-Zeile die erste Zeile, damit den Interpreter weiß es nutzen, um das Skript zu starten muss. Die Shebang-Zeile sollte das folgende Beispiel entsprechen: + + #!/usr/bin/env [name_of_interpreter_executable] + + +## Verwendung des Beispiels + +Dieses Beispiel veranschaulicht Cordova Haken Nutzung zu verfolgen, die Konsolenausgabe die Größe der generierten .apk Datei für Android-Plattform. + +Erstellen Sie leere Cordova app und fügen Sie die folgende Definition zu `"config.xml"` sagen Cordova nach jedem Build Plattform `afterBuild.js` -Skript ausführen hinzu. + + + + +Erstellen Sie `scripts/afterBuild.js` -Datei, und fügen Sie die folgende Implementierung. Wir verwenden Async-Version der `fs.stat` -Methode um zu demonstrieren, wie die Async-Funktionalität über Haken getan werden könnte. + + module.exports = function(ctx) { + // make sure android platform is part of build + if (ctx.opts.platforms.indexOf('android') < 0) { + return; + } + var fs = ctx.requireCordovaModule('fs'), + path = ctx.requireCordovaModule('path'), + deferral = ctx.requireCordovaModule('q').defer(); + + var platformRoot = path.join(ctx.opts.projectRoot, 'platforms/android'); + var apkFileLocation = path.join(platformRoot, 'build/outputs/apk/android-debug.apk'); + + fs.stat(apkFileLocation, function(err,stats) { + if (err) { + deferral.reject('Operation failed'); + } else { + console.log('Size of ' + apkFileLocation + ' is ' + stats.size +' bytes'); + deferral.resolve(); + } + }); + + return deferral.promise; + }; + + +Parameter `ctx` im obigen Beispiel wird übergeben von Cordova und Ausführungskontext wie vollständigen Pfades des Skripts, Zielplattform, Befehlszeilenargumente darstellt und auch zusätzliche Helfer Funktionen verfügbar macht. Siehe `Skript Schnittstelle` Abschnitt oben für weitere Details. + +Jetzt können Sie die android-Plattform hinzufügen und ausführen Build. + + cordova platform add android + .. + cordova build + .. + Size of path\to\app\platforms\android\build\outputs\apk\android-debug.apk is 1821193 bytes + + +Weitere gute Verwendungsbeispiele konnte hier gefunden werden: + + \ No newline at end of file http://git-wip-us.apache.org/repos/asf/cordova-docs/blob/f061b980/www/docs/de/dev/guide/appdev/privacy/index.md ---------------------------------------------------------------------- diff --git a/www/docs/de/dev/guide/appdev/privacy/index.md b/www/docs/de/dev/guide/appdev/privacy/index.md new file mode 100644 index 0000000..40b7f8b --- /dev/null +++ b/www/docs/de/dev/guide/appdev/privacy/index.md @@ -0,0 +1,60 @@ +--- +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: Datenschutz-Guide +--- + +# Datenschutz-Guide + +Mobile Privatsphäre ist ein kritisches Thema, das jeder app-Entwickler widmen muss. Die Benutzer erwarten, dass ihre privaten Daten werden gesammelt und von Ihrer Anwendung entsprechend behandelt. Außerdem gibt es eine wachsende Zahl von Ländern, die jetzt rechtliche Anforderungen an mobile Datenschutzpraktiken haben. + +Leitfaden zur mobilen app Privatsphäre sollte eine *Grundierung* auf einige der bedeutendsten Fragen berücksichtigt werden. Es umreißt einige breit akzeptierten Empfehlungen und Verweise auf andere ausführlichere Anleitungen und Referenzen. + +* **Privacy Policy**: Sie app sollte eine Datenschutzerklärung, die Themen wie welche Informationen die app von oder zu den Benutzern sammelt, wie diese Informationen verwendet werden, mit denen es geteilt ist, und wie Benutzer datenschutzrelevante Entscheidungen innerhalb der app machen können. Um Verständnis zu erleichtern, sollten Sie verwenden Klartext und vermeiden Fachjargon. Sie sollten Ihre Datenschutzrichtlinien für Benutzer überprüfen Sie vor dem Download, wie z. B. in der app-Beschreibung in der app-Marktplatz verfügbar machen. Darüber hinaus sollten Sie Ihre Datenschutzerklärung innerhalb der app selbst zur Verfügung stellen. Die geringe Größe von Handy-Displays schafft Herausforderungen für Anzeigen von Datenschutzrichtlinien für Benutzer. Ziehen Sie Entwicklung einer *Kurzform* der Politik mit den wichtigsten Informationen in Betracht, und geben Sie dann einen Link zu der "Langform" Politik für mehr Details interessiert. Mehrere Gruppen versuchen, Icon -basierter Standards für die Datenschutz-Praktiken, die Sie betrachten wünschen können, sobald diese Standards ältere Kommunikation entwickeln. + +* **Sammlung vertraulicher Informationen**: eine app-Sammlung von sensiblen persönlichen Informationen wichtig Datenschutz Bedenken. Beispiele für sensible persönliche Daten Finanzinformationen, Gesundheit Informationen und Daten von Kindern. Darüber hinaus Informationen aus bestimmten Sensoren und Datenbanken, die in der Regel auf mobilen Geräten und Tabletten, wie Geolocation-Informationen, Kontakte/Telefonbuch, Mikrofon/Kamera und gespeicherte Bilder oder Videos gefunden. Die folgenden Dokumentationsseiten für weitere Informationen siehe: [Kamera][1]"," [erfassen][2]"," [Kontakte][3]"und" [Geolocation][4]. Im Allgemeinen sollten Sie erhalten die Berechtigung eines Benutzers ausdrücklich vor der Erhebung sensiblen Informationen und, wenn möglich, einen Kontrollmechanismus, der einem Benutzer ermöglicht, Berechtigungen zu ändern. App Betriebssystemen kann in einigen Fällen durch Vorlage von just-in-Time-Dialogfelder, die Zustimmung des Benutzers vor Auflistung Fragen h elfen. Sollten Sie in diesen Fällen nutzen jede Gelegenheit zum Anpassen des Text im Dialog zu klären, wie die app verwendet und gegebenenfalls diese Informationen teilt. + +* **Vermeidung von Benutzer-Überraschung**: Wenn die app sammelt oder Informationen in einer Weise, die möglicherweise überraschend für Benutzer im Lichte der Hauptzweck Ihrer Anwendung (z. B. ein Musik-Player, der auf die gespeicherten Bilder zugreift) verwendet, sollten Sie ähnliche Schritte wie bei der Auflistung von sensiblen persönlichen Informationen nehmen. Das heißt, sollten Sie dringend die Verwendung von just-in-Time-Dialogfelder informieren des Benutzers über die Sammlung oder Verwendung dieser Informationen und gegebenenfalls ein entsprechenden Datenschutz-Steuerelement bereitstellen. + +* **Dritter Datenerhebung oder Teilen**: Wenn Sie app Informationen erfasst, die auf eine andere Gesellschaft--bereitgestellt wird wie ein social-networking-Plattform oder ein Ad-Netzwerk (z. B. Wenn Ihre app Werbung angezeigt wird)--Sie sollten informieren Sie Ihre Benutzer dieser Sammlung und Austausch. Zumindest sollten Ihre Datenschutzrichtlinien beschreiben, die Sammlung von Informationen und Austausch und ggf. bieten Ihren Benutzern die Möglichkeit zu steuern oder opt-Out dieser Sammlung oder Teilen. + +* **Sammlung Begrenzung und der Sicherheit**: Ihre Nutzer vertrauen Ihre app mit ihren Informationen und sie erwarten, dass Sie entsprechende Vorsichtsmaßnahmen zum Schutz bringt. Eine der besten Möglichkeiten zur Vermeidung von Sicherheitslücken von persönlichen Informationen soll nicht in erster Linie die Informationen zu sammeln, es sei denn, Ihre Anwendung eine bestimmte und legitimen geschäftlichen Gründen für die Auflistung. Informationen, die gesammelt werden müssen, sicherstellen Sie, dass Sie entsprechenden Sicherheitskontrollen zum Schutz dieser Informationen angeben, ob diese auf dem Gerät oder auf den Back-End-Servern gespeichert sind. Sie sollte auch eine entsprechenden Daten-Aufbewahrungsrichtlinie entwickeln, die innerhalb der app und auf den Back-End-Servern implementiert wird. + + [1]: cordova_camera_camera.md.html + [2]: cordova_media_capture_capture.md.html + [3]: cordova_contacts_contacts.md.html + [4]: cordova_geolocation_geolocation.md.html + +Im folgenden werden einige zusätzliche hilfreiche mobile Datenschutz-Handbücher für Entwickler: + +* Kalifornische Generalstaatsanwalt, [Datenschutz unterwegs: Empfehlungen für das Mobile Ökosystem][5] + +* Zentrum für Demokratie & Technologie, Zukunft der Privatsphäre Forum, [Best Practices für Mobile App-Entwickler][6] + +* CTIA-The Wireless Association, [bewährte Methoden und Richtlinien für Location Based Services][7] + +* Federal Trade Commission, [Mobile Privacy Angaben: Aufbau von Vertrauen durch Transparenz][8] + +* Zukunft der Privatsphäre Forum, [Anwendung Privacy][9] -Website + + [5]: http://oag.ca.gov/sites/all/files/pdfs/privacy/privacy_on_the_go.pdf + [6]: http://www.futureofprivacy.org/wp-content/uploads/Best-Practices-for-Mobile-App-Developers_Final.pdf + [7]: http://www.ctia.org/business_resources/wic/index.cfm/AID/11300 + [8]: http://www.ftc.gov/os/2013/02/130201mobileprivacyreport.pdf + [9]: http://www.applicationprivacy.org \ No newline at end of file http://git-wip-us.apache.org/repos/asf/cordova-docs/blob/f061b980/www/docs/de/dev/guide/appdev/security/index.md ---------------------------------------------------------------------- diff --git a/www/docs/de/dev/guide/appdev/security/index.md b/www/docs/de/dev/guide/appdev/security/index.md new file mode 100644 index 0000000..44ab9dd --- /dev/null +++ b/www/docs/de/dev/guide/appdev/security/index.md @@ -0,0 +1,108 @@ +--- +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: Sicherheitshandbuch +--- + +# Sicherheitshandbuch + +Die folgende Anleitung beinhaltet einige bewährte Sicherheitsmethoden, die Sie, beim Entwickeln einer Anwendung von Cordova beachten sollten. Bitte beachten Sie, dass die Sicherheit ist ein sehr kompliziertes Thema und deshalb dieses Handbuch ist nicht erschöpfend. Wenn Sie, dass Sie zu diesem Leitfaden dazu beitragen können glauben, wenden Sie sich bitte ein Thema in Cordova's Bug-Tracker unter ["Dokumentation"][1]abzulegen. Dieser Leitfaden soll auf allgemeine Cordova Entwicklung (alle Plattformen) anwendbar, aber Plattform-spezifischen Besonderheiten zu beachten. + + [1]: https://issues.apache.org/jira/browse/CB/component/12316407 + +## Dieses Handbuch behandelt die folgenden Themen: + +* Whitelist +* Iframes und die Id Rückrufmechanismus +* Zertifikat fixieren +* Selbstsignierte Zertifikate +* Verschlüsselte Speicherung +* Allgemeine Tipps +* Empfohlene Artikel und andere Ressourcen + +## Whitelist + +* Lesen und verstehen der [Whitelist-Guide](../whitelist/index.html) + +* Domain-Whitelist funktioniert nicht auf Android API 10 und unten und WP8 für Iframes und XMLHttpRequest. Dies bedeutet ein Angreifer kann einer beliebigen Domäne in einem Iframe laden und jedes Skript auf dieser Seite in Iframe direkt auf Cordova JavaScript-Objekte und die entsprechenden native Java-Objekte zugreifen kann. Sie sollten dies in Betracht ziehen, beim Erstellen von Anwendungen für diese Plattformen. In der Praxis bedeutet dies, um sicherzustellen, dass Sie Ziel einer höher als 10 Android API und, wenn möglich nicht Iframe zu verwenden, um externe Inhalte - laden das InAppBrowser-Plugin oder andere Drittanbieter Plug-ins verwenden. + +## Iframes und die Id Rückrufmechanismus + +Wenn Inhalte in einem Iframe aus einer Whitelist-Domäne bereitgestellt werden, haben diese Domäne Zugriff auf die native Cordova-Brücke. Dies bedeutet, dass Sie ein Drittanbieter-Werbe-Netzwerk Whitelist und dienen diese anzeigen über ein Iframe, ist es möglich, dass eine böswillige Anzeige ist aus Iframe ausbrechen und bösartige Aktionen ausführen können. Aus diesem Grund sollten Sie in der Regel nicht Iframes verwenden, wenn Sie den Server steuern, der den Iframe-Inhalt hostet. Beachten Sie, dass es Drittanbieter Plug-ins zur Verfügung gibt, um Werbe-Netzwerke zu unterstützen. Beachten Sie, dass diese Aussage nicht für iOS, nämlich alles gilt, einschließlich der Iframe Verbindungen abfängt. + +## Zertifikat fixieren + +Cordova unterstützt keine wahre Zertifikat zu fixieren. Das größte Hindernis für das ist ein Mangel an systemeigenen APIs in Android zum Abfangen des SSL-Verbindungen um die Überprüfung des Zertifikats des Servers ausführen. (Obwohl es fixieren auf Android in Java mit JSSE Zertifikat kann, die Webview auf Android in C++ geschrieben ist und Server-Verbindungen für Sie, indem die Webview verarbeitet werden, ist also es nicht möglich, Java und JSSE es zu verwenden.) Da Apache Cordova über mehrere Plattformen hinweg konsistent APIs bieten soll, bricht nicht mit einer Funktion in eine größere Plattform die Konsistenz. + +Es gibt Möglichkeiten zur Angleichung Zertifikat fixieren, z. B. Überprüfung, dass die öffentlichen Schlüssel des Servers (Fingerabdruck) der erwartete Wert ist, wenn die Anwendung gestartet wird oder zu anderen verschiedenen Zeiten während der Lebensdauer der Anwendung. Es gibt Drittanbieter Plug-ins zur Cordova, die das tun kann. Jedoch ist dies nicht dasselbe wie wahre Zertifikat fixieren, die automatisch den erwarteten Wert auf jede Verbindung zu dem Server überprüft. + +## Selbstsignierte Zertifikate + +Verwendung selbstsignierter Zertifikate auf dem Server wird nicht empfohlen. Wenn Sie SSL wünschen, ist dann es dringend empfohlen, dass Ihr Server über ein Zertifikat verfügen, die von einer bekannten Zertifizierungsstelle (Certificate Authority) richtig signiert wurde. Die Unfähigkeit auf true Zertifikat festhalten, ist dies wichtiger. + +Der Grund ist, dass selbstsignierte Zertifikate zu akzeptieren umgeht die Überprüfung der Zertifikatkette, wodurch jedes Serverzertifikat vom Gerät als gültig betrachtet werden. Dies eröffnet die Kommunikation für Man-in-the-Middle-Angriffe. Es wird sehr leicht für einen Hacker nicht nur abfangen und lesen die gesamte Kommunikation zwischen dem Gerät und dem Server, sondern auch um die Mitteilung zu ändern. Das Gerät wird nie erfahren, dass dies geschieht, weil es nicht überprüfen, ob der Server-Zertifikat von einer vertrauenswürdigen Zertifizierungsstelle signiert ist. Das Gerät hat keinen Beweis, dass der Server, der sie erwartet. Wegen der Leichtigkeit einen Man-in-the-Middle-Angriff zu tun ist es nur geringfügig besser als nur http anstelle von Https auf einem nicht vertrauenswürdigen Netzwerk ausgeführt, selbstsignierte Zertifikate zu akzeptieren. Ja, der Datenverkehr verschlüsselt werden würde, aber es könnte mit dem Schlüssel aus einem Man-in-the-Middle, verschlüsselt werden, so dass die Man-in-the-Middle alles, zugreifen kann, so dass Verschlüsselung nutzlos außer für passive Beobachter ist. Nutzer vertrauen SSL um sicher zu sein, und dies absichtlich verdiene es unsicher, so wird die SSL-Verwendung irreführend. Wenn dies auf einem vertrauenswürdigen Netzwerk verwendet wird (d. h., Sie sind völlig innerhalb eines kontrollierten Unternehmen), selbstsignierte Zertifikate noch nicht empfohlen werden. Die beiden Empfehlungen in einem vertrauenswürdigen Netzwerk sind nur http verwenden, da das Netzwerk selbst vertrauenswürdig ist oder ein Zertifikat von einer vertrauenswürdigen Zertifizierungsstelle (nicht selbstsigniert) unterzeichnet. Das Netzwerk vertrauenswürdig ist oder nicht. + +Die hier beschriebenen Prinzipien beziehen sich nicht auf Apache Cordova, sie gelten für alle Client-Server-Kommunikation. + +Beim Ausführen von Cordova auf Android verwenden `android:debuggable="true"` in der Anwendung Manifest erlauben SSL-Fehler, z. B. Zertifikat Kette Validierungsfehler auf selbstsignierte Zertifikate. So Sie selbstsignierte Zertifikate in dieser Konfiguration können, aber dies keine Konfiguration, die verwendet werden soll ist, wenn die Anwendung in der Produktion ist. Es soll nur während der Anwendungsentwicklung verwendet werden. + +## Verschlüsselte Speicherung + +(TBD) + +## Allgemeine Tipps + +### Verwenden Sie keine Android Gingerbread! + +* Legen Sie Ihr höher als 10 min-Ziel-Sdk-Niveau. API 10 ist Lebkuchen und Lebkuchen wird nicht mehr von Google oder Geräte-Herstellern unterstützt und wird daher nicht empfohlen von Cordova-Team. +* Lebkuchen nachweislich unsicher und einer der wichtigsten gezielte mobile OSs [http://www.mobilemag.com/2012/11/06/andriod-2-3-gingerbread-security/][2]. +* Die Whitelist auf Android funktioniert nicht mit Lebkuchen oder niedriger. Dies bedeutet, dass ein Angreifer schädlichen Code in einem Iframe geladen werden kann, das müsste dann Zugriff auf alle von Cordova-APIs und können, dass der Zugang zu persönliche Daten stehlen, SMS-Nachrichten an Premium-Rate-Nummern zu schicken und andere böswillige Aktionen durchzuführen. + + [2]: http://bgr.com/2012/11/06/android-security-gingerbread-malware/ + +### InAppBrowser für externe Links verwenden + +* Verwenden Sie die InAppBrowser beim Öffnen von Links zu externen Websites. Das ist viel sicherer als Whitelisting eines Domain-namens und einschließlich der Inhalte direkt in der Anwendung, da die InAppBrowser der native Browser-Sicherheits-Features verwenden und nicht die Website geben auf Ihre Cordova-Umgebung Zugriff. Selbst wenn Sie der Website Dritter Vertrauen und direkt in Ihre Anwendung aufnehmen, kann diese Websites Dritter schädlichen Webinhalten verknüpfen. + +### Validieren Sie alle Benutzereingaben + +* Überprüfen Sie immer alle Eingaben, die die Anwendung akzeptiert. Dazu gehören Benutzernamen, Kennwörter, Termine, hochgeladen Medien usw.. Da ein Angreifer Ihr HTML und JS Vermögen (entweder durch Dekompilierung der Anwendung oder mithilfe von debugging-Tools wie Chrome://inspect) manipulieren könnte, sollten diese Validierung auch auf Ihrem Server durchgeführt werden, insbesondere vor der Übergabe der Daten an einen Back-End-Dienst. +* Andere Quellen, wo die Daten überprüft werden sollten: Benutzerdokumente, Kontakte, push-Benachrichtigungen + +### Sensible Daten nicht zwischenspeichern + +* Wenn Benutzernamen, Kennwort, Geolocation-Informationen und andere sensiblen Daten werden zwischengespeichert, konnte dann es möglicherweise später durch ein nicht autorisierter Benutzer oder eine Anwendung abgerufen werden. + +### Verwenden Sie keine eval(), es sei denn, Sie wissen was Sie tun + +* Die JavaScript-Funktion eval() hat eine lange Geschichte, die missbraucht werden. Benutze es falsch kann Ihren Code für Injection-Angriffen, Debuggen von Schwierigkeiten und langsamer Ausführung von Code öffnen. + +### Nicht davon ausgehen Sie, dass der Quellcode sicher ist + +* Da eine Anwendung von Cordova aus HTML und JavaScript basiert, die in einem einheitlichen Container gepackt bekommen, sollten Sie nicht Ihr Code sicher sein. Es ist möglich, reverse Engineering eine Cordova-Anwendung. + +## Empfohlene Artikel und andere Ressourcen + +* [HTML5-Sicherheit-Spickzettel, Detaillierung die HTML5-Anwendung sichern][3] +* [PhoneGap's Artikel auf Gerätesicherheit, wie die Verwendung von verschlüsselten Daten][4] +* [Whitepaper über bekannte Sicherheitslücken in Webview basierte Hybridanwendungen][5] + + [3]: https://www.owasp.org/index.php/HTML5_Security_Cheat_Sheet + [4]: https://github.com/phonegap/phonegap/wiki/Platform-Security + [5]: http://www.cis.syr.edu/~wedu/Research/paper/webview_acsac2011.pdf \ No newline at end of file http://git-wip-us.apache.org/repos/asf/cordova-docs/blob/f061b980/www/docs/de/dev/guide/appdev/whitelist/index.md ---------------------------------------------------------------------- diff --git a/www/docs/de/dev/guide/appdev/whitelist/index.md b/www/docs/de/dev/guide/appdev/whitelist/index.md new file mode 100644 index 0000000..2715cec --- /dev/null +++ b/www/docs/de/dev/guide/appdev/whitelist/index.md @@ -0,0 +1,145 @@ +--- +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: Whitelist-Guide +--- + +# Whitelist-Guide + +Domain-Whitelist ist ein Sicherheitsmodell, das den Zugriff steuert an externe Domänen, die auf die Anwendung keine Kontrolle hat. Cordova bietet eine konfigurierbare Sicherheitspolitik definieren, welche externen Websites zugegriffen werden können. Standardmäßig werden neue apps so konfiguriert, dass Zugriff auf jeder Website. Sie sollten vor dem Umzug Ihre Anwendung auf die Produktion, eine Whitelist zu formulieren und ermöglichen den Zugriff auf bestimmte Netzwerk-Domains und Sub-Domains. + +Für Android und iOS (Stand ihren 4,0 Releases) ist Cordovas Sicherheitspolitik erweiterbar über eine Plugin-Schnittstelle. Ihre Anwendung sollte [Cordova-Plugin-Whitelist][1], verwenden, wie es höhere Sicherheit und Konfigurierbarkeit als frühere Versionen von Cordova bietet. Es ist, zwar möglich, eigene Whitelist-Plugin implementieren empfiehlt es sich nicht, wenn Ihre app sehr spezifischen Sicherheitsanforderungen Politik hat. Finden Sie die [Cordova-Plugin-Whitelist][1] für Informationen zur Verwendung und Konfiguration. + + [1]: https://github.com/apache/cordova-plugin-whitelist + +Für andere Plattformen entspricht Cordova der [W3C Widget Zugang][2]-Spezifikation, die auf die `< access >`-Element innerhalb `der app Datei config.XML aktivieren Netzwerkzugriff auf bestimmte Domänen` angewiesen ist. Für Projekte, die auf der CLI-Workflow in der Command-Line Interface beschrieben, befindet sich diese Datei im Wurzelverzeichnis des Projekts. Sonst sind die Standorte für plattformspezifische Entwicklungswege, in den folgenden Abschnitten aufgeführt. (Siehe die verschiedenen Plattform-Leitfäden für weitere Informationen auf jeder Plattform.) + + [2]: http://www.w3.org/TR/widgets-access/ + +Die folgenden Beispiele veranschaulichen `< access >` Whitelist-Syntax: + +* Zugang zu [google.com][3]: + + + + +* Zugriff auf die sicheren [google.com][4] ( `https://` ): + + + + +* Zugriff auf die Subdomain [maps.google.com][5]: + + + + +* Zugriff auf alle Subdomains von [google.com][3], z. B. [mail.google.com][6] und [docs.google.com][7]: + + + + +* Zugriff auf *alle* Domänen, z. B. [Google.de][3] und [developer.mozilla.org][8]: + + + + + Dies ist der Standardwert für neu erstellte CLI-Projekte. + + [3]: http://google.com + [4]: https://google.com + [5]: http://maps.google.com + [6]: http://mail.google.com + [7]: http://docs.google.com + [8]: http://developer.mozilla.org + +Beachten Sie, dass einige Webseiten automatisch auf deren Homepage zu einer anderen Url, z. B. mit Https-Protokoll oder eine landesspezifische Domain umleiten können. Zum Beispiel http://www.google.com leitet sich für die Nutzung von SSL/TLS bei https://www.google.com, und dann kann weiter leiten in eine geography-Instanz wie https://www.google.co.uk. Solche Szenarien erfordern veränderte oder zusätzliche Whitelist-Einträge über Ihre ersten Bedarfs. Bitte berücksichtigen Sie dies, wie Sie Ihre Whitelist erstellen. + +Beachten Sie, dass die weiße Liste nur für die wichtigsten Cordova Webview gilt und nicht für eine InAppBrowser Webview oder Öffnung Links in der System-Web-Browser gilt. + +## Amazon Fire OS Whitelisting + +Plattformspezifische Whitelisting-Regeln werden in `res/xml/config.xml` gefunden. + +## Android Whitelisting + +Wie oben, siehe [Cordova-Plugin-Whitelist][1] für Details. Cordova-Android vor 4.0.0 finden Sie unter älteren Versionen dieser Dokumentation. + +## iOS Whitelisting + +Wie oben, siehe [Cordova-Plugin-Whitelist][1] für Details. Cordova-Ios vor 4.0.0 finden Sie unter älteren Versionen dieser Dokumentation. + +## BlackBerry 10 Whitelisting + +Die Whitelist-Regeln werden in `www/config.xml` gefunden.. + +BlackBerry 10 Verwendung von Platzhaltern unterscheidet sich von anderen Plattformen auf zwei Arten: + +* Alle Inhalte erreichbar `XMLHttpRequest` muss explizit deklariert werden. Festlegen von `origin="*"` funktioniert nicht in diesem Fall. Alternativ kann die gesamte Websicherheit verwenden die `WebSecurity`-Präferenz beschrieben in [BlackBerry-Konfiguration](../../platforms/blackberry/config.html) deaktiviert werden: + + + + +* Als Alternative zur Einstellung `*.domain` ein zusätzliche `Subdomains`-Attribut auf `true` festgelegt. Es sollte standardmäßig auf `false` festgelegt werden. Beispielsweise ermöglicht Folgendes den Zugriff auf `google.com` und `maps.google.com` `docs.google.com`: + + + + + Die folgenden Narrows-Zugang zu `google.com`: + + + + + Geben Sie Zugriff auf alle Domänen, einschließlich lokalen `file://` Protokoll an: + + + + +(Weitere Informationen zum Support finden Sie BlackBerry Dokumentation auf dem [Access-element][9].) + + [9]: https://developer.blackberry.com/html5/documentation/ww_developing/Access_element_834677_11.html + +## Firefox-OS + +In Firefox-OS gibt es kein Konzept für Whitelisting eine bestimmte Domäne. Stattdessen gibt es eine Ausnahmegenehmigung, genannt [SystemXHR][10]. Besteht die Notwendigkeit dieser Berechtigung `"config.xml"` hinzu: + + [10]: https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest#Permissions + + + + + + +Das `XMLHttpRequest`-Objekt muss mit zwei Parametern `MozAnon` und `MozSystem` instanziiert werden: + + var request = new XMLHttpRequest({ + mozAnon: true, + mozSystem: true}); + + +Diese Lösung ist transparent, so gibt es keinen Unterschied für andere Plattformen. + +## Windows Phone Whitelisting + +Die Whitelist-Regeln für Windows Phone 8 befinden sich in der app Datei `config.xml`. + +## Tizen Whitelisting + +Whitelisting-Regeln werden in der app-`config.xml`-Datei gefunden. Die Plattform basiert auf dem gleichen `subdomains`-Attribut als die BlackBerry-Plattform. (Weitere Informationen zur Unterstützung finden Sie Tizens Dokumentation für das [Access-element][11].) + + [11]: https://developer.tizen.org/help/index.jsp?topic=%2Forg.tizen.web.appprogramming%2Fhtml%2Fide_sdk_tools%2Fconfig_editor_w3celements.htm \ No newline at end of file http://git-wip-us.apache.org/repos/asf/cordova-docs/blob/f061b980/www/docs/de/dev/guide/cli/index.md ---------------------------------------------------------------------- diff --git a/www/docs/de/dev/guide/cli/index.md b/www/docs/de/dev/guide/cli/index.md new file mode 100644 index 0000000..d4ac64c --- /dev/null +++ b/www/docs/de/dev/guide/cli/index.md @@ -0,0 +1,418 @@ +--- +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: Die Befehlszeilenschnittstelle +--- + +# Die Befehlszeilenschnittstelle + +Diese Anleitung zeigt Ihnen, wie Anwendungen zu erstellen und auf verschiedene native mobile Plattformen mit Bereitstellen der `cordova` Befehlszeilenschnittstelle (CLI). Mit diesem Tool können Sie neue Projekte erstellen und bauen sie auf verschiedenen Plattformen laufen auf echten Geräten oder innerhalb von Emulatoren. Die CLI ist das wichtigste Hilfsmittel für die Cross-Plattform-Workflow in der [Übersicht](../overview/index.html) beschrieben verwenden. Ansonsten können Sie auch die CLI Projektcode zu initialisieren, dann wechseln Sie in die verschiedenen Plattformen SDKs und Shell-Hilfsmittel für die weitere Entwicklung. + +## Voraussetzungen + +Sie müssen vor dem Ausführen alle Kommandozeilen-Tools, SDKs für jede Plattform zu installieren, möchten Sie als Ziel. (Siehe die Plattform-Führer für weitere Details). + +Hinzufügen von Unterstützung oder ein Projekt für jede Plattform neu erstellen, müssen Sie die Befehlszeilenschnittstelle aus dem gleichen Computer ausführen, die die Plattform SDK unterstützt. Die CLI unterstützt die folgenden Kombinationen: + +* iOS (Mac) +* Amazon Fire Betriebssystem (Mac, Linux, Windows) +* Android (Mac, Linux, Windows) +* BlackBerry 10 (Mac, Linux, Windows) +* Windows Phone 8 (Windows) +* Windows (Windows) +* Firefox Betriebssystem (Mac, Linux, Windows) + +Auf dem Mac ist die Befehlszeile über die *Terminal* -Anwendung verfügbar. Auf dem PC steht als *Eingabeaufforderung* unter *Zubehör*. + +**Hinweis**: für nur-Windows-Plattformen, noch kann Ihre Entwicklung auf Mac-Hardware unter Windows in einer virtuellen Umgebung oder im Dual-Boot-Modus. Verfügbaren Optionen finden Sie unter der Windows Phone 8 Platform Guide oder die Anleitung für die Windows-Plattform. + +Desto wahrscheinlicher ist es, dass die CLI von verschiedenen Maschinen ausführen, desto mehr macht es Sinn, einen entfernten Quellcode-Repository, deren Vermögen verwalten Sie zu lokalen Arbeitsverzeichnisse-down Pull. + +## Installieren der Cordova-CLI + +Das Befehlszeilentool Cordova ist als Npm-Paket in ein Ready-to-Use-Format verteilt. Es ist nicht notwendig, um es von Quellcode kompilieren. + +Installieren der `cordova` Command-line tool, gehen Sie folgendermaßen vor: + +1. Downloaden und Installieren von [Node.js][1]. Nach der Installation sollte man in der Lage, rufen Sie `node` und `npm` auf der Befehlszeile. Falls gewünscht, optional verwenden Sie ein Tool wie `nvm` oder `nave` , Ihre Node.js-Installation zu verwalten. + +2. Downloaden Sie und installieren Sie ein [Git-Client][2], wenn Sie nicht bereits ein haben. Nach der Installation sollte man in der Lage, rufen Sie `git` auf der Befehlszeile. Auch wenn Sie nicht verwenden `git` manuell, nutzt die CLI es hinter den Kulissen um einige Vermögenswerte herunterladen, wenn Sie ein neues Projekt zu erstellen. + +3. Installieren der `cordova` Modul mit `npm` von Node.js-Dienstprogramm. Das `cordova` Modul wird automatisch heruntergeladen werden, indem die `npm` Dienstprogramm. + + [1]: http://nodejs.org/ + [2]: http://git-scm.com/ + +* auf OS X und Linux: + + $ sudo npm install -g cordova + + + Auf OS X und Linux voranstellen der `npm` mit Befehl `sudo` kann erforderlich sein, um diese Entwicklung zu installieren-Dienstprogramm in andere Art eingeschränkt Verzeichnisse wie `/usr/local/share` . Wenn Sie für das Installationsverzeichnis Schreibrechte oder das optionale Nvm/Kirchenschiff-Tool verwenden, können Sie möglicherweise auslassen der `sudo` Präfix. Es gibt [Weitere Tipps][3] zur Verwendung von `npm` ohne `sudo` , wenn Sie das tun wollen. + +* unter Windows: + + C:\>npm install -g cordova + + + Das `-g` Flag oben teilt `npm` Installieren `cordova` weltweit. Andernfalls wird es installiert werden, der `node_modules` Unterverzeichnis des aktuellen Arbeitsverzeichnis. + + Möglicherweise müssen Sie Hinzufügen der `npm` Verzeichnis in Ihrem `PATH` weltweit installierten Inanspruchnahme `npm` Module. Unter Windows `npm` in der Regel finden Sie unter `C:\Users\username\AppData\Roaming\npm` . Auf OS X und Linux kann es in der Regel bei gefunden werden`/usr/local/share/npm`. + + Das Installationsprotokoll kann Fehler für alle deinstallierten Platform SDKs erzeugen. + + Nach der Installation sollte man laufen `cordova` in der Befehlszeile keine Argumente und es sollte Hilfetext drucken. + + [3]: http://justjs.com/posts/npm-link-developing-your-own-npm-modules-without-tears + +## Erstellen Sie die App + +Gehe in das Verzeichnis wo verwalten Sie Ihren Quellcode, und führen Sie einen Befehl wie den folgenden: + + $ cordova create hello com.example.hello HelloWorld + + +Es kann einige Zeit dauern für den Befehl abgeschlossen, also etwas Geduld. Ausführen des Befehls mit der `-d` Option zeigt Informationen über den Fortschritt. + +Das erste Argument *Hallo* gibt ein Verzeichnis für Ihr Projekt generiert werden. Dieses Verzeichnis sollte nicht bereits vorhanden, Cordova wird es für Sie erstellen. Seine `www` Unterverzeichnis Häuser Ihre Anwendung-Homepage, zusammen mit verschiedenen Ressourcen unter `css` , `js` , und `img` , die gemeinsame Web Entwicklung Dateibenennungskonventionen folgen. Diese Vermögenswerte werden lokalen Dateisystem des Geräts, nicht aus der Ferne bedient gespeichert. Die `config.xml` -Datei enthält wichtige Metadaten erzeugen und Verteilen der Anwendung erforderlich. + +Das zweite Argument `com.example.hello` stellt Ihr Projekt mit einem reverse Domain-Stil-Bezeichner. Dieses Argument ist optional, aber nur, wenn Sie auch das dritte Argument weglassen, da die Argumente positionelle sind. Sie können diesen Wert später in bearbeiten die `config.xml` Datei, aber beachten Sie, dass es möglicherweise außerhalb der generierte Code `config.xml` mit diesem Wert, wie z. B. Java-Package-Namen. Der Standardwert ist `io.cordova.hellocordova` , aber es wird empfohlen, dass Sie einen geeigneten Wert auswählen. + +Das dritte Argument `HelloWorld` bietet die Anwendung Anzeigetitel. Dieses Argument ist optional. Sie können diesen Wert später in bearbeiten die `config.xml` Datei, aber beachten Sie, dass es möglicherweise außerhalb der generierte Code `config.xml` mit diesem Wert, wie z. B. Java Klassennamen. Der Standardwert ist `HelloCordova` , aber es wird empfohlen, dass Sie einen geeigneten Wert auswählen. + +## Hinzufügen von Plattformen + +Alle nachfolgenden Befehle müssen in das Verzeichnis des Projekts oder eines der Unterverzeichnisse innerhalb des Bereichs ausgeführt werden: + + $ cd hello + + +Bevor Sie das Projekt erstellen, müssen Sie eine Reihe von Zielplattformen angeben. Ihre Fähigkeit, diese Befehle ausführen hängt davon ab, ob Ihre Maschine jede SDK unterstützt, und ob Sie bereits installiert jedes SDK. Führen Sie einen der folgenden von einem Mac: + + $ cordova platform add ios + $ cordova platform add amazon-fireos + $ cordova platform add android + $ cordova platform add blackberry10 + $ cordova platform add firefoxos + + +Führen Sie einen aus einer Windows-Maschine, wo verschiedene Versionen des Betriebssystems Windows Phone *wp* bezeichnet: + + $ Cordova Plattform hinzufügen wp8 $ Cordova Plattform hinzufügen Fügen Sie $ Cordova Plattform Windows Amazon-Fireos $ Cordova Plattform hinzufügen android $ Cordova Plattform hinzufügen blackberry10 $ Cordova Plattform hinzufügen Firefoxos + + +Führen Sie diese um Ihren aktuellen Satz von Plattformen zu überprüfen: + + $ cordova platforms ls + + +(Beachten Sie die `platform` und `platforms` Befehle werden synonym verwendet.) + +Führen Sie einen der folgenden Synonym Befehle, eine Plattform zu entfernen: + + $ cordova platform remove blackberry10 + $ cordova platform rm amazon-fireos + $ cordova platform rm android + + +Ausführen Befehle hinzufügen oder Entfernen von Plattformen wirkt sich auf den Inhalt des Verzeichnis des Projekts *Plattformen* , wo jede angegebene Plattform als Unterverzeichnis angezeigt wird. Das *Www* -Quellverzeichnis wird wiedergegeben in jede Plattform-Unterverzeichnis, erscheinen zum Beispiel in `platforms/ios/www` oder `platforms/android/assets/www` . Da die CLI ständig über Dateien aus dem *Www* -Quellordner kopiert, sollten Sie nur diese Dateien und nicht diejenigen, die die *Plattformen* Unterverzeichnisse unterhalb bearbeiten. Wenn Sie Software für die Versionskontrolle verwenden, sollten Sie diese Quelle *Www* Ordner, zusammen mit Ordner *führt* zu Ihrem Versionsverwaltungssystem hinzufügen. (Weitere Informationen zum *verschmilzt* -Ordner finden Sie im Abschnitt Anpassen von jeder Plattform). + +**Warnung**: Wenn die CLI verwenden, um Ihre Anwendung zu erstellen, sollten Sie *nicht* bearbeiten, Dateien in, das `/platforms/` Verzeichnis, wenn Sie wissen, was du tust, oder wenn die Dokumentation nicht anders angegeben. Die Dateien in diesem Verzeichnis werden routinemäßig überschrieben, wenn Anwendungen für Gebäude vorbereiten oder Plugins installiert werden. + +Möchten Sie an dieser Stelle, können Sie eine SDK wie Eclipse oder Xcode verwenden, um das Projekt zu öffnen, die, das Sie erstellt. Sie müssen die abgeleitete Gruppe von Vermögenswerten aus öffnen die `/platforms/` Verzeichnis mit einem SDK entwickeln. Dies ist da die SDK-spezifische Metadaten-Dateien, innerhalb der entsprechenden gespeichert werden `/platform/` Unterverzeichnis. (Siehe die Plattform-Führer für Informationen zum Entwickeln von Anwendungen in jeder IDE.) Verwenden Sie diese Methode, wenn Sie möchten einfach Initialisieren eines Projekts mit der CLI und wechseln Sie dann zu einem SDK für native Arbeit. + +Lesen Sie weiter, wenn Sie das plattformübergreifende Workflow-Konzept (CLI) für den gesamten Entwicklungszyklus verwenden möchten. + +## Die App zu bauen + +In der Standardeinstellung der `cordova create` Skript generiert eine Skeletts Web-basierte Anwendung, deren Homepage des Projekts ist `www/index.html` Datei. Diese Anwendung zu bearbeiten, aber Sie wollen, aber Initialisierungen werden, als Teil angegeben sollte der `[deviceready](../../cordova/events/events.deviceready.html)` -Ereignishandler, standardmäßig von verwiesen`www/js/index.js`. + +Führen Sie den folgenden Befehl, um das Projekt iterativ zu erstellen: + + $ cordova build + + +Dies erzeugt plattformspezifischer Code innerhalb des Projekts `platforms` Unterverzeichnis. Optional können Sie den Bereich der einzelnen Builds auf bestimmten Plattformen einschränken: + + $ cordova build ios + + +Der `cordova build` Befehl ist eine Kurzform für die folgenden, die in diesem Beispiel auch auf einer einzigen Plattform ausgerichtet ist: + + $ cordova prepare ios + $ cordova compile ios + + +In diesem Fall einmal ausführen `prepare` , können Sie Apples Xcode SDK als Alternative zu ändern und kompilieren Sie den Plattform-spezifischen Code, die in Cordova generiert `platforms/ios` . Sie können den gleichen Ansatz mit anderen Plattformen SDKs. + +## Testen Sie die App auf einem Emulator oder Gerät + +SDKs für mobile Plattformen kommen oft mit Emulatoren, die ein Gerätebild ausgeführt, so dass Sie können starten Sie die app aus dem home-Bildschirm und Interaktion mit vielen Plattformfeatures gebündelt. Führen Sie einen Befehl wie den folgenden erstellen Sie die Anwendung neu und innerhalb einer bestimmten Plattform Emulator anzeigen: + + $ cordova emulate android + + +Einige mobilen Plattformen emulieren ein bestimmtes Gerät wie das iPhone für iOS-Projekte in der Standardeinstellung. Für die anderen Plattformen müssen Sie zuerst ein Gerät mit einem Emulator zuordnen. + +**Hinweis**: Emulator Unterstützung ist derzeit nicht für Amazon Fire OS. + +(Siehe die Plattform-Führer für Details.) Beispielsweise Sie möglicherweise zunächst führen Sie den `android` Befehl zum Starten des Android SDK, dann führen Sie ein bestimmtes Gerät-Image, das es laut sein Standardverhalten startet: + +![][4] + + [4]: {{ site.baseurl }}/static/img/guide/cli/android_emulate_init.png + +Folgende oben mit den `cordova emulate` Befehl aktualisiert das Emulator-Bild, um die neueste Anwendung angezeigt, die jetzt für den Start aus dem home-Bildschirm vorhanden ist: + +![][5] + + [5]: {{ site.baseurl }}/static/img/guide/cli/android_emulate_install.png + +Alternativ können Sie schließen den Hörer an den Computer und testen die app direkt: + + $ cordova run android + + +Bevor Sie diesen Befehl ausführen, müssen Sie das Gerät zum Testen einrichten nach Verfahren, die für jede Plattform variieren. In Android und Amazon-Feuer-OS-Geräte müssten Sie eine Option **USB-debugging** auf dem Gerät zu aktivieren, und vielleicht einen USB-Treiber je nach Ihrer Entwicklung-Environmnent. Einzelheiten über jede Plattform Anforderungen finden Sie unter Plattform Guides. + +## Plugin-Features hinzufügen + +Wenn Sie erstellen und eines neues Projekts anzeigen, nicht sehr viel die Standardanwendung, die angezeigt wird. Sie können ändern, die app in vielerlei Hinsicht zu standard-Web-Technologien nutzen, aber für die app eng mit verschiedenen Geräteebene Features zu kommunizieren, müssen Sie Plugins hinzufügen, die Zugriff auf Kern-Cordova-APIs. + +Ein *Plugin* ist ein Add-on-Code, die eine Schnittstelle zu systemeigenen Komponenten bereitstellt. Sie können Ihr eigenes Plugin-Schnittstelle, z. B. wenn eine Hybrid-app zu entwerfen, die einen Cordova WebView mit systemeigenen Komponenten mischt entwerfen. (Siehe Einbettung Webansichten für und [Plugin Development Guide][6] für Details.) Häufiger, fügen Sie eine Plugin um eine Cordovas Geräteebene Grundfunktionen in der API-Referenz detailliert aktivieren. + + [6]: guide_hybrid_plugins_index.md.html#Plugin%20Development%20Guide + +Ab der Version 3.0 beim Erstellen eines Projekts Cordova hat es irgendwelche Plugins vorhanden keinen. Dies ist das neue Standardverhalten. Alle Plugins, die Sie wünschen, die auch die Core-Plugins muss explizit hinzugefügt werden. + +Eine Liste dieser Plugins, einschließlich zusätzliche Drittanbieter Plug-ins der Gemeinschaft finden Sie in der Registrierung unter [plugins.cordova.io][7]. Die CLI können Sie Plugins aus dieser Registrierung suchen. Z. B. Suche nach `bar` und `code` erzeugt ein einzelnes Ergebnis, die beide Begriffe als groß-und Kleinschreibung Teilzeichenfolgen entspricht: + + [7]: http://plugins.cordova.io/ + + $ cordova plugin search bar code + + com.phonegap.plugins.barcodescanner - Scans Barcodes + + +Nur bei der Suche nach der `bar` Erträge und weiteres Ergebnis: + + cordova-plugin-statusbar - Cordova StatusBar Plugin + + +Der `cordova plugin add` Befehl müssen Sie das Repository für den Plugin-Code angeben. Hier sind Beispiele für die Verwendung der CLI die app Features hinzugefügt: + +* Grundlegenden Geräteinformationen (Device-API): + + $ cordova plugin add cordova-plugin-device + + +* Netzwerkverbindung und Batterie-Veranstaltungen: + + $ cordova plugin add cordova-plugin-network-information + $ cordova plugin add cordova-plugin-battery-status + + +* Beschleunigungssensor, Kompass und Geolocation: + + $ cordova plugin add cordova-plugin-device-motion + $ cordova plugin add cordova-plugin-device-orientation + $ cordova plugin add cordova-plugin-geolocation + + +* Kamera, Medien-Wiedergabe und Aufnahme: + + $ cordova plugin add cordova-plugin-camera + $ cordova plugin add cordova-plugin-media-capture + $ cordova plugin add cordova-plugin-media + + +* Zugriff auf Dateien auf Gerät oder Netzwerk (File API): + + $ cordova plugin add cordova-plugin-file + $ cordova plugin add cordova-plugin-file-transfer + + +* Benachrichtigung per Dialogfeld oder Vibration: + + $ cordova plugin add cordova-plugin-dialogs + $ cordova plugin add cordova-plugin-vibration + + +* Kontakte: + + $ cordova plugin add cordova-plugin-contacts + + +* Globalisierung: + + $ cordova plugin add cordova-plugin-globalization + + +* SplashScreen: + + $ cordova plugin add cordova-plugin-splashscreen + + +* Neue Browserfenster öffnen (InAppBrowser): + + $ cordova plugin add cordova-plugin-inappbrowser + + +* Debug-Konsole: + + $ cordova plugin add cordova-plugin-console + + +**Hinweis**: die CLI fügt Plugin-Code entsprechend für jede Plattform. Wenn Sie mit Low-Level-Shell-Werkzeugen oder Platform SDKs wie in der [Übersicht](../overview/index.html) beschrieben entwickeln wollen, müssen Sie das Plugman-Dienstprogramm zum Hinzufügen von Plugins separat für jede Plattform ausführen. (Weitere Informationen finden Sie unter Using Plugman zu Plugins verwalten.) + +Verwendung `plugin ls` (oder `plugin list` , oder `plugin` von selbst) derzeit anzeigen Plugins installiert. Jede zeigt durch seinen Bezeichner: + + $ cordova plugin ls # or 'plugin list' + [ 'cordova-plugin-console' ] + + +Um ein Plugin zu entfernen, finden Sie es durch den gleichen Bezeichner, der in der Liste angezeigt wird. Zum Beispiel, ist hier, wie Sie Unterstützung für eine Debug-Konsole aus einer Release-Version entfernen würde: + + $ cordova plugin rm cordova-plugin-console + $ cordova plugin remove cordova-plugin-console # same + + +Sie können Batch-entfernen oder Hinzufügen von Plugins durch mehr als ein Argument für jeden Befehl angeben: + + $ cordova plugin add cordova-plugin-console cordova-plugin-device + + +## Erweiterte Plugin-Optionen + +Wenn Sie eine Plugin hinzufügen, können mehrere Optionen Sie angeben, wo Sie das Plugin zu holen. Die obigen Beispiele verwenden eine bekannte `registry.cordova.io` Registrierung und das Plugin wird angegeben durch die `id` : + + $ cordova plugin add cordova-plugin-console + + +Die `id` kann auch die Plugin-Versionsnummer, angefügt nach enthalten einen `@` Charakter. Die `latest` Version ist ein Alias für die aktuellste Version. Zum Beispiel: + + $ cordova plugin add cordova-plugin-console@latest + $ cordova plugin add cordova-plugin-console@0.2.1 + + +Wenn das Plugin nicht registriert ist `registry.cordova.io` aber befindet sich in einem anderen Git Repository, Sie können eine Alternative URL angeben: + + $ cordova plugin add https://github.com/apache/cordova-plugin-console.git + + +Das Git-Beispiel oben holt das Plugin vom Ende des Zweiges master, aber eine Alternative Git-Ref z. B. einen Tag oder Zweig kann angehängt werden, nach einem `#` Charakter: + +Installieren von einem Tag: + + $ cordova plugin add https://github.com/apache/cordova-plugin-console.git#r0.2.0 + + +oder einer Zweigniederlassung: + + $ cordova plugin add https://github.com/apache/cordova-plugin-console.git#CB-8438cordova-plugin-console + + +oder Git-Ref wäre auch ein bestimmtes Commit: + + $ cordova plugin add https://github.com/apache/cordova-plugin-console.git#f055daec45575bf08538f885e09c85a0eba363ff + + +Wenn das Plugin (und seine Datei `plugin.xml` ) in einem Unterverzeichnis innerhalb der Git Repo ist, können Sie es mit einem `:` -Zeichen angeben. Beachten Sie, dass das Zeichen `#` noch benötigt wird: + + $ cordova plugin add https://github.com/someone/aplugin.git#:/my/sub/dir + + +Sie können auch die Git-Ref und das Unterverzeichnis kombinieren: + + $ cordova plugin add https://github.com/someone/aplugin.git#r0.0.1:/my/sub/dir + + +Alternativ geben Sie einen lokalen Pfad in das Pluginverzeichnis die Datei `plugin.xml` enthaltenen: + + $ cordova plugin add ../my_plugin_dir + + +## Verwendung von *merges* , auf jeder Plattform anpassen + +Während Cordova auf einfache Weise eine app für viele verschiedene Plattformen bereitstellen kann, müssen Sie manchmal Anpassungen hinzufügen. In diesem Fall möchten nicht Sie die Quelldateien in verschiedenen `www` -Verzeichnisse in das Verzeichnis der obersten Ebene `platforms` ändern, weil sie regelmäßig mit der obersten Ebene `www` -Verzeichnis plattformübergreifende Quelle ersetzt sind. + +Stattdessen bietet das Verzeichnis der obersten Ebene `merges` einen Ort um Vermögenswerte auf bestimmten Plattformen bereitstellen anzugeben. Jedes plattformspezifischen Unterverzeichnis innerhalb `merges` spiegelt die Verzeichnisstruktur des `www` Source-Trees, sodass Sie überschreiben oder Dateien nach Bedarf hinzufügen. Hier ist beispielsweise, wie Sie verwendet `merges` zur Erhöhung der Standardschriftgrad für Android und Amazon Fire OS Geräte könnten: + +* Bearbeiten Sie die `www/index.html` Datei, Hinzufügen eines Links zu einer weiteren CSS-Datei `overrides.css` in diesem Fall: + + + + +* Erstellen Sie optional ein leeres `www/css/overrides.css` Datei, die für alle nicht-Android Builds, einen fehlende Datei-Fehler zu verhindern, gelten würden. + +* Erstellen einer `css` Unterverzeichnis innerhalb `merges/android` , fügen Sie eine entsprechende `overrides.css` Datei. Angeben von CSS, die den angegebenen innerhalb 12-Punkt-Standard-Schriftgrad überschreibt `www/css/index.css` , zum Beispiel: + + body { font-size:14px; } + + +Wenn Sie das Projekt neu erstellen, verfügt die Android Version die benutzerdefinierte Schriftgröße, während andere unverändert bleiben. + +Sie können `merges` auch zum Hinzufügen von Dateien in das ursprüngliche `Www` -Verzeichnis nicht vorhanden. Beispielsweise kann eine app integrieren eine *zurück-Schaltfläche* Grafik in die iOS-Benutzeroberfläche, gespeichert in `merges/ios/img/back_button.png`, während die Android Version stattdessen `Backbutton` Ereignisse über die entsprechende Taste erfassen kann. + +## Hilfebefehle + +Cordova verfügt über ein paar globale Befehle, die Ihnen helfen können, wenn Sie stecken bleiben oder ein Problem. Der Befehl `help` zeigt alle verfügbaren Cordova-Befehle und deren Syntax: + + $ cordova help + $ cordova # same + + +Darüber hinaus erhalten Sie weitere detaillierte Hilfe zu einem bestimmten Befehl. Zum Beispiel: + + $ cordova run --help + + +Der `Info` -Befehl erzeugt eine Liste von potentiell nützliche Details, wie derzeit installierten Plattformen und Plugins, für jede Plattform SDK-Versionen und Versionen der CLI und `node.js`: + + $ cordova info + + +Es stellt die Informationen zum Bildschirm und erfasst die Ausgabe in einer lokalen `info.txt` Datei. + +**Hinweis**: Derzeit sind nur Details auf iOS und Android-Plattformen verfügbar. + +## Aktualisierung von Cordova und Ihr Projekt + +Nach der Installation des Dienstprogramms `cordova` , können Sie immer auf die neueste Version aktualisieren, indem Sie Ausführen den folgenden Befehl verwenden: + + $ sudo npm update -g cordova + + +Verwenden Sie diese Syntax, um eine bestimmte Version zu installieren: + + $ sudo npm install -g cordova@3.1.0-0.2.0 + + +`cordova -v` um zu sehen, welche Version aktuell ausgeführt wird ausgeführt. Führen Sie den Befehl `npm info` für eine längere Liste enthält, die die aktuelle Version und anderen verfügbaren Versionsnummern: + + $ npm info cordova + + +Cordova 3.0 ist die erste Version, die in diesem Abschnitt beschriebenen Befehlszeilenschnittstelle unterstützt. Wenn Sie von einer Version vor 3.0 aktualisieren, müssen Sie ein neues Projekt erstellen, wie oben beschrieben, dann die ältere Anwendung Vermögenswerte in der obersten Ebene `Www` -Verzeichnis kopieren. Gegebenenfalls stehen weitere Informationen zum Upgrade auf 3.0 in den Plattform-Führern. Sobald Sie ein auf die Befehlszeilenschnittstelle `cordova upgrade` und `npm update` verwenden, auf um dem Laufenden zu bleiben, sind die dort beschriebenen zeitaufwändigen Verfahren nicht mehr relevant. + +Cordova 3.0 oder höher benötigen noch verschiedene Änderungen auf Projektebene Verzeichnisstrukturen und andere Abhängigkeiten. Nach dem Ausführen des `npm` -Befehls oben Cordova selbst zu aktualisieren, müssen Sie sicherstellen, dass die Ressourcen des Projekts den aktuellsten Anforderungen entsprechen. Führen Sie einen Befehl wie den folgenden für jede Plattform, dass Sie Gebäude sind: + + $ cordova platform update android + $ cordova platform update ios + ...etc. --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscribe@cordova.apache.org For additional commands, e-mail: commits-help@cordova.apache.org