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]];
}
エラーや例外は発生していません。
誰か助けてくれませんか。どんな提案も歓迎されます。
前もって感謝します。