我是手機開發新手。我爲iphone創建了一個插件類,其中包含一些加密方法。我想使用.h和.m文件來加密我的數據,並從我的html頁面中的類文件中獲取數據。但我不知道如何在我的頁面中調用JavaScript文件中的類函數。請任何人有想法如何調用任何類文件和它的方法在JavaScript的iPhone應用程序,然後幫助我,我在等待答覆。如何使用手機插件
Q
如何使用手機插件
0
A
回答
3
請參閱Paul回答的鏈接。爲了快速運行,有一些方法可以做到這一點,但我通常會得到這樣的結果。
的Javascript:
PhoneGap.exec("NameOfObjectiveCFile.nameofMethod","parameter1", "parameter2");
目標C:
-(void)nameOfMethod:(NSMutableArray*)paramArray withDict: (NSMutableDictionary*) options
{
//Do your stuff
//Access your params you sent in javascript by doing the following
NSString *parameter1 = [paramArray objectAtIndex:0];
//Send stuff back to Javascript using a callback function
NSString *jsCallBack = [NSString stringWithFormat:@"nameofJavascriptFinishedMethod(%@)",parameterToSendBack];
[self.webview stringByEvaluatingJavaScriptFromString:jsCallBack];
}
返回的Javascript:
function nameofJavascriptFinishedMethod(parameterFromObjectiveC)
{
//Do stuff with information from objective C
}
還記得你需要在你Phonegap.plist 希望這會註冊你的插件幫助,祝你好運。
更新:如果你想要你的html發送信息到你的插件,我會使用一個HTML表單或按鈕或觸發一個動作,將調用你的JavaScript函數(上面的第一個)並傳遞你收集到的變量從你的領域。有關表單基礎知識,請參閱此link。
更新2
1)在Xcode中創建新的PhoneGap項目,並建立獲得WWW文件夾
2)加入現有的加密對象的C文件到項目
3)創建新的目標C級,稱之爲EncryptPlugin (參見下一個步驟5)
4)編輯PhoneGap.plist文件
一)添加插件下的新條目
b)命名它EncryptPlugin字符串EncryptPlugin
爲EncryptPlugin 5)頭文件應該是這樣
#import <Foundation/Foundation.h>
#import <UIKit/UIkit.h>
#ifdef PHONEGAP_FRAMEWORK
#import <PhoneGap/PGPlugin.h>
#else
#import "PGPlugin.h"
#endif
@interface EncryptPlugin : PGPlugin {
}
-(void) useMyEncryptionFiles:(NSMutableArray*)paramArray withDict:(NSMutableDictionary*)options;
@end
6)實現文件應該是這樣的
#import "EncryptPlugin.h"
#import "EncryptPacket.h"
@implementation EncryptPlugin
//phonegap magic -- basically ignore
-(PGPlugin*) initWithWebView:(UIWebView*)theWebView
{
self = (PdfCreator*)[super initWithWebView:theWebView];
return self;
}
//The method that your javascript is going to call
-(void) useMyEncryptionFiles:(NSMutableArray*)paramArray withDict:(NSMutableDictionary*)options
{
//This gives you your string
NSString *stringFromJavascript = [paramArray objectAtIndex:0];
EncryptPacket *ep = [[EncryptPacket alloc] init];
NSString *encryptedString = [ep encryptRequest:stringFromJavascript];
NSLog(@"encryptedString = %@",encryptedString);
}
@end
7)在你的HTML中使用這樣的事情 p1.html JavaScript調用該函數
<head><script type="text/javascript" src="encryptdata.js"></script></head>
<body>
<input type="password" name="confirmPassword" id="confirmPassword" value="" />
<input type="button" value="FetchR" onclick="fetchRelation()"/>
</body>
encryptdata.js
function fetchRelation()
{
var getvalue=document.getElementById('confirmPassword').value;
//what is next step....... to send the data to the plugin class
PhoneGap.exec("EncryptPlugin.useMyEncrptionFiles",getValue);
}
這應該讓你開始。如果你想送的東西回來給你的HTML的JavaScript然後用我上面指定的功能:
NSString *jsCallBack = [NSStringstringWithFormat:@"nameofJavascriptFinishedMethod(%@)",parameterToSendBack];
[self.webview stringByEvaluatingJavaScriptFromString:jsCallBack];
希望這會有所幫助,你應該能夠使用這些指令來弄明白。它們可能並不完美,但我沒有時間將它們放在一起並使用代碼進行編譯。祝你好運。
1
相關問題
- 1. 如何使用cordova 2.6的手機差距插件?
- 2. Android手機插件OCR
- 3. jquery手機插件創建
- 4. 手機插件中的OnResume?
- 5. 手機閃存插件
- 6. 手機天氣插件
- 7. 如何使用手機在Android手機上顯示相機
- 8. 僅在手機上禁用jQuery插件?
- 9. 如何使用Ionic 2 Cordova插件在手機上獲取音頻文件?
- 10. 如何在javascript中調用手機插件
- 11. 我如何使用插件codova插件相機離子V1
- 12. 如何使用xamarin Android手機應用
- 13. 如何使用webview代替意圖在android手機版的videoplayer插件?
- 14. 使用其他手機驗證插件進行電話驗證
- 15. 使用郵件撰寫插件使用手機的差距jQuery Mobile的
- 16. 黑莓手機:如何使用PersistableRIMKeyStore?
- 17. 廣告如何在手機上使用?
- 18. 如何使用Windows手機類庫
- 19. 如何在rooted手機上使用android.permission.SHUTDOWN?
- 20. 如何使用手機顯示網頁
- 21. 如何使引導組件與我的手機一起使用?
- 22. 如何在jQuery UI的插件驗證10 0(手機號碼)
- 23. 如何在手機中添加ios插件?
- 24. 如何鏈接到本地插件與手機3.6.3
- 25. 如何將手機插件從1.6.x升級到2.7?
- 26. AdMob插件的iPhone手機的iAd?
- 27. jQuery手機插件彈出支持
- 28. IOS手機AVSpeechSynthesizer插件pauseSpeakingAtBoundary不工作
- 29. 以往的黑莓手機Eclipse插件
- 30. EmailComposer插件的Windows 8手機的PhoneGap
從JavaScript調用Obj C函數。 HTTP://計算器。com/questions/1662473/how-to-call-objective-c-from-javascript – AAV 2012-01-12 18:51:18