コルドバのチュートリアルを読みましたが、十分な情報が得られているかどうかはわかりません。
更新されたコードを表示するように編集:
私のコードをお見せしましょう:
config.xmlから:
<plugin name="someMethod" value="MyPluginClass" />
Plugin.hの場合:
#import <Cordova/CDV.h>
@interface MyPluginClass : CDVPlugin
- (void)someMethod:(CDVInvokedUrlCommand*)command;
@end
Plugin.mの場合:
#import "Plugin.h"
@implementation MyPluginClass
- (void)someMethod:(CDVInvokedUrlCommand *)command
{
NSLog(@"YOU ARE READING THIS NATIVELY FROM A PLUGIN");
}
@end
表示される最初のhtmlページは「index.html」と呼ばれます
cordova.exec()関数を呼び出すスクリプトを実行するだけの空白のhtmlページが必要です。そうする私の試みは失敗しました。スクリプトで何か間違ったことをしたのか、他の場所で間違ったことをしたのかはわかりませんが、ここに私のindex.htmlがあります。
<!DOCTYPE html>
<html>
<head>
<title>Cordova Device Ready Example</title>
<script type="text/javascript" charset="utf-8" src="cordova-2.3.0.js"></script>
<script type="text/javascript" charset="utf-8">
// Call onDeviceReady when Cordova is loaded.
//
// At this point, the document has loaded but cordova-2.3.0.js has not.
// When Cordova is loaded and talking with the native device,
// it will call the event `deviceready`.
//
function onLoad() {
document.addEventListener("deviceready", onDeviceReady, false);
}
// Cordova is loaded and it is now safe to make calls Cordova methods
//
function onDeviceReady() {
// Now safe to use the Cordova API
document.addEventListener("deviceready", function() {
cordova.exec(null,null,"MyPluginClass","someMethod",[]);
}, false);
}
</script>
</head>
<body onload="onLoad()">
</body>
</html>
次のエラーログが表示されます。
2013-01-17 11:36:31.782 CCT [1293:907]エラー:プラグイン'MyPluginClass'が見つからないか、CDVPluginではありません。config.xmlでプラグインのマッピングを確認してください。
2013-01-17 11:36:31.787 CCT [1293:907]-[CDVCommandQueueexecutePending][103行目]FAILEDpluginJSON = ["INVALID"、 "MyPluginClass"、 "someMethod"、[]]