iPhoneGap Plugs

Okay, in your phonegap application in XCode, ( Without EVER having to touch the PhoneGapLib ) 1) right click the plugins folder and select Add/NewFile/ObjectiveCClass 2) Call your new class : TestPlug 3) Paste the following code into the .m + .h files:

In your header file :

#import <Foundation/Foundation.h> #import "PhoneGapCommand.h" @interface TestPlug : PhoneGapCommand { } - (void)addThemUp:(NSMutableArray*)arguments withDict:(NSMutableDictionary*)options; @end

... and in the .m file

#import "TestPlug.h" @implementation TestPlug - (void)addThemUp:(NSMutableArray*)arguments withDict:(NSMutableDictionary*)options { NSUInteger argc = [arguments count]; int total = 0; for(int n = 0; n < argc; n++) { total += [[ arguments objectAtIndex:n] intValue]; } NSString* retStr = [ NSString stringWithFormat:@"alert(\"%d\");",total]; [ webView stringByEvaluatingJavaScriptFromString:retStr ]; } @end

4) In your JS code, somewhere after deviceready, call your command like this.

PhoneGap.exec("TestPlug.addThemUp",1,2,3,4); Build and run!

Note the structure of the PhoneGap.exec call 1) a command name : TestPlug 2) a method name : addThemUp 3) a variable length list of arguments

Next time, I'll get into passing objects via the 'options' object.

If you have a compelling plug-in you want to share, you can fork my repo for plugins and send me a pull request :


If your plugin makes sense on multiple devices, and it is implemented with standards in mind, it may end up in PhoneGapLib.