Internet Plug-Ins
Internet Plug-Ins is a directory in /System/Library/ and /Library/ that contains plug-ins for WebKit. As of iOS 6 and 7, the only default plugin there is QuickTime.
Structure of an Internet Plug-In
Internet plug-ins should have an extension of .webplugin. The principal class should be a subclass of UIView and adopts the WebPlugInViewFactory and WebPlugIn protocols:
@protocol WebPlugInViewFactory <NSObject> -(UIView*)plugInViewWithArguments:(NSDictionary*)args; @end @protocol WebPlugIn @optional -(void)webPlugInInitialize; -(void)webPlugInDestroy; -(void)webPlugInStop; -(void)webPlugInStart; -(id)objectForWebScript; -(void)webPlugInMainResourceDidFailWithError:(NSError*)error; -(void)webPlugInMainResourceDidFinishLoading; -(void)webPlugInMainResourceDidReceiveData:(NSData*)data; -(void)webPlugInMainResourceDidReceiveResponse:(NSURLResponse*)response; // UIKit extras -(BOOL)webPlugInReceivesEventsDirectly; // inform UIKit that this plug-in should handle the events directly. -(void)webPlugInLayout; // similar to UIView's -layoutSubview -(void)webPlugInDidDraw; // similar to UIView's -drawRect: @end
The Info.plist should contain some keys starting with WebPlugin…. See [1] for detail.
References
- Introduction to WebKit Plug-in Programming Topics (on Mac OS X; should be similar on iOS though).
|