TestPluginModule
类继承自NSObjec
t,导入weexSDK
,将类实现WXModuleProtocol
协议,如下图:TestPluginModule.m
文件中导入WeexPluginLoader
(图标记1),使用该类的宏定义方法注册该插件(图标记2),使用weexSDK的宏定义方法,暴露插件方法给前端(图标记3),方法实现所需功能。注:WX_PlUGIN_EXPORT_MODULE(TestPlugin, TestPluginModule) 中,“TestPlugin”为插件名,前端会通过 (插件名.方法名)的形式调用插件。“TestPluginModule”为需要注册的weex插件类。
web Module
使用(如下图)TestPluginEntry
,创建web插件类TestPluginWebModule
,继承自NSObject
,在TestPluginEntry.m
文件中导入#import <PMUISDK/WeexInitManager.h>
#import <WebKit/WKWebView.h>
#import "TestPluginWebModule.h"
使用WeexInitManager
宏定义方法注册web插件入口(图标记4)。
TestPluginEntry.m
文件中注册web插件名与web插件类名(如下图)注:注册的web插件名需和weex插件名保持一致,方便前端调用。
3.配置TestPluginWebModule
TestPluginWebModule.m
导入WeekSDK、weexModule类:TestPluginModule.hTestPluginModule.m
单利对象调用TestPluginModule
中的方法,并传递相应的参数(如下图)。podspec
文件,将刚创建的插件文件以下面的路径保存。注:将podspec文件与保存插件类的文件夹目录保持同级
podspec
文件Pod::Spec.new do |s|
#插件名
s.name = "TestPlugin"
#插件版本
s.version = "1.0.0"
s.summary = "pmui plugin."
s.description = <<-DESC
pmui plugin.
DESC
s.homepage = "https://pmui.app"
s.license = "MIT"
s.author = { "zd" => "863058066@qq.com" }
#插件文件所在路径
s.source = { :path => '.' }
s.source_files = "TestPlugin", "TestPlugin/**/*.{h,m,mm,c}"
s.platform = :ios, "9.0"
s.requires_arc = true
#必要的依赖库(插件必须引用)
s.dependency 'WeexSDK'
s.dependency 'PMUISDK'
s.dependency 'WeexPluginLoader'
end
更多配置请参照(https://guides.cocoapods.org/syntax/podspec.html)
Podfile
,配置插件名、插件路径注:../ 表示以Podfile为当前路径返回一层,../../ 则表示返回两层,最终是要找到podspec文件所在的路径