Skip to content

Latest commit

 

History

History
50 lines (39 loc) · 1.75 KB

5.UniApi.md

File metadata and controls

50 lines (39 loc) · 1.75 KB

UniAPI 类

Unify 提供的类,它主要是给原生侧使用的,方便原生侧完成桥接的注册和协议接口的调用。

UniAPI 类的是自动生成的。
如果配置了`---uniapi_prefix`参数,生成的 UniAPI 类会带有配置的前缀信息。 > 更多`---uniapi_prefix`参数说明,请参见 [API CLI 参数集合](../04.CLI 使用教程.md)。

Android 中的 UniAPI 类

Android 中的 UniAPI 类主要提供以下能力:

  1. 提供模块注册,用于注册实现Unify 生成的 interface的Module对象,调用方法:
public static void registerModule(Object module)
  1. 提供Class作为参数,查找注册的Module对象,调用方法:
public static<T> T get(Class<T> aClass)

注意:如果您的 Flutter 项目所依赖的插件中,有多个插件是通过Unify生成的代码,那么会存在多个 UniAPI 类。在使用这些 UniAPI 类时,需要注意 UniAPI 类的类名,不要用错了。

iOS 中的 UniAPI 类

iOS 中的 UniAPI 类主要提供以下能力:

  1. 导出遵守Unify 生成的 Protocol的类,通过UNI_EXPORT()宏函数,实现类导出。
......
#import "UniAPI.h" // 以实际引用的 含有UniAPI前缀 的.h文件
......
@implementation xxxxExprotClasss
UNI_EXPORT(xxxxExprotClasss) // 当前类的类名作为UNI_EXPORT宏函数的参数,导出当前类
......
@end 
  1. 加载遵守Unify 生成的 Protocol的类,调用方法:
+ (void)loadExportClass

详细使用参见:《iOS 端注册 Unify》。

  1. 基于Unify 生成的 Protocol的名称,查询协议的遵守者,调用方法:
+ (id)get:(NSString *)protocolName