3

iOS用のphoneGapプラグインを作成しています。このプラグインは、NativeCodeを使用して署名を描画し、コールバック値をJavaScriptに渡します。

naticeコードを使用して署名を正常に描画することはできますが、保存された署名の戻り値をJavaScriptに渡すことはできません。

JavaScriptコードは以下の通りです

var MyPlugin = {
 nativeFunction: function(types, success, fail) {
      return Cordova.exec(success, fail, "MyPlugin", "print", types);
 }
};

「印刷」関数では、署名を描画するUIViewContollerクラスを呼び出しており、[保存]ボタンでJavaScriptに戻り値を渡します。

SAVEボタンクリックのコード

// The first argument in the arguments parameter is the callbackID.
// We use this to send data back to the successCallback or failureCallback
// through PluginResult
self.callbackID = [arguments pop];

// Get the string that javascript sent us
NSString *stringObtainedFromJavascript = [arguments objectAtIndex:0];                 

// Create the Message that we wish to send to javascript   
NSMutableString *stringToReturn = [NSMutableString stringWithString: @"StringReceived:"];

// Append the received string to the string we plan to send out        
[stringToReturn appendString: stringObtainedFromJavascript];

// Create Plugin Result 
CDVPluginResult* pluginResult = [CDVPluginResult resultWithStatus:CDVCommandStatus_OK
                                                  messageAsString: [stringToReturn stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]];

// Checking if the string received is HelloWorld or not    
 if ([stringObtainedFromJavascript isEqualToString:@"SAVED"] == YES)    
 {   
 // Call the javascript success function
 [self writeJavascript: [pluginResult toSuccessCallbackString:self.callbackID]];
 }else    
 {    
 // Call the javascript error function
 [self writeJavascript: [pluginResult toErrorCallbackString:self.callbackID]];
 }

エラーや例外は発生していません。

誰か助けてくれませんか。どんな提案も歓迎されます。

前もって感謝します。

4

1 に答える 1

2

このGitHubプロジェクトを見てください:https ://github.com/rohdef/PGPlugins

phonegap用のプラグインを作成する良い例がいくつかあります。

于 2013-02-09T00:00:14.707 に答える