iOS插件开发文档

iOS插件开发文档

一、创建weex插件类

  • 1.创建TestPluginModule类继承自NSObject,导入weexSDK,将类实现WXModuleProtocol 协议,如下图:

  • 2.在TestPluginModule.m文件中导入WeexPluginLoader(图标记1),使用该类的宏定义方法注册该插件(图标记2),使用weexSDK的宏定义方法,暴露插件方法给前端(图标记3),方法实现所需功能。

注:WX_PlUGIN_EXPORT_MODULE(TestPlugin, TestPluginModule) 中,“TestPlugin”为插件名,前端会通过 (插件名.方法名)的形式调用插件。“TestPluginModule”为需要注册的weex插件类。

  • 3.公开已经注册的方法,以供web Module使用(如下图)

二、创建web插件

  • 1.创建web插件入口类TestPluginEntry,创建web插件类TestPluginWebModule,继承自NSObject,在TestPluginEntry.m文件中导入
#import <PMUISDK/WeexInitManager.h>
#import <WebKit/WKWebView.h>
#import "TestPluginWebModule.h"

使用WeexInitManager宏定义方法注册web插件入口(图标记4)。

  • 2.在TestPluginEntry.m文件中注册web插件名与web插件类名(如下图)

注:注册的web插件名需和weex插件名保持一致,方便前端调用。

  • 3.配置TestPluginWebModule

    • TestPluginWebModule.m导入WeekSDK、weexModule类:TestPluginModule.h
    • 定义的方法名与weex插件方法名保持一致,通过TestPluginModule.m单利对象调用TestPluginModule中的方法,并传递相应的参数(如下图)。

三、配置插件

  • 1.创建podspec文件,将刚创建的插件文件以下面的路径保存。

注:将podspec文件与保存插件类的文件夹目录保持同级

  • 2.配置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)

四、安装插件

  • 1.打开项目配置Podfile,配置插件名、插件路径

注:../ 表示以Podfile为当前路径返回一层,../../ 则表示返回两层,最终是要找到podspec文件所在的路径

  • 2.在终端中执行 pod install