提交 d74446ca 编写于 作者: lizhongyi_'s avatar lizhongyi_

docs: update uts-for-ios.md uts-plugin.md

上级 c70cd351
......@@ -581,6 +581,7 @@ HBuilderX 目前写iOS uts 插件时部分语法提示会有缺失、参数类
- 缺失可选类型标识;
- 参数标签没有标记无法知道是否需要忽略参数标签;
- 不支持导入包含有子模块的原生模块;
- 暂不支持.a依赖库的代码提示;
这些问题会在后续版本中优化
......@@ -594,3 +595,68 @@ HBuilderX 目前写iOS uts 插件时部分语法提示会有缺失、参数类
### 7.3 类型兼容问题
- 元组类型目前不支持
### 8 .a依赖库相关说明
#### 8.1 .a库存放的目录结构
<pre v-pre="" data-lang="">
<code class="lang-" style="padding:0">
└─Libs // .a库存放目录
├─MyStaticLibA //A静态库(该库所有文件放在此文件夹内,OC库)
│ ├─libMyStaticLib.a //.a文件,必须
│ ├─MyStaticLib.h //A.a库对应的头文件,必须
│ ├─MyClassA.h //需要暴露的头文件A,可选
│ └─MyClassB.h //需要暴露的头文件B,可选
└─TestSwiftLibrary //B静态库(该库所有文件放在此文件夹内,Swift库)
├─libTestSwiftLibrary.a //.a文件,必须
└─TestSwiftLibrary.swiftmodule //.swiftmodule文件夹,必须
</code>
</pre>
注意:
- 将.a库的所有文件存放在一个文件夹内,多个.a库就创建多个文件夹;
- 未对某个.a库文件夹下的文件做递归查找,请不要将.a或.h文件嵌套在多层文件夹内,以免发生错误;
#### 8.2 .a库的使用说明
- OC语言创建的.a库在使用时无需import,可直接使用;
- Swift语言创建的.a库在使用前需要在uts文件中import;
- HBuilder X目前暂不支持.a库相关代码的语法提示;
#### 8.3 .a库的使用示例
- OC语言创建的.a库使用示例:
```ts
// uts
const aResult = ToolA.toolAMethod();
const bResult = ToolB.toolBMethod();
const libResult = TestLib.testLib();
const res = {
aResult: aResult,
bResult: bResult,
libResult: libResult
};
options.success?.(res);
```
- Swift语言创建的.a库使用示例:
```ts
// uts
import { Tool, Manager, TestLibraryExa } from 'TestLibraryExa';
Manager.testManager();
Tool.testTool()
let lib = TestLibraryExa();
lib.test()
console.log(lib.version);
```
### 9 有关Swift语言创建的Framework和.a的Swift版本兼容性问题
- 由于高版本XCode编译的Swift语言Framework动态库、静态库、.a库在低版本XCode上无法编译通过,因此存在Swift版本兼容性问题;
- 目前打包机使用的XCode版本号是13.2.1,对应的Swift版本是5.5.2;
- 请在编译Swift相关Framework和.a库时选择和打包机相同或者更低版本的XCode;
- 选择比打包机更低版本XCode编译Swift库时请在Target->buildSettings设置Buid Libraries for Distribution 为Yes。
\ No newline at end of file
......@@ -129,6 +129,7 @@ package.json 为 uni_modules 插件配置清单文件,负责描述插件的基
│ │ └─index.uts //Android原生插件能力实现
│ ├─app-ios //iOS平台目录
│ │ ├─Frameworks //iOS原生依赖的第三方 framework 依赖库存放目录,可选
│ │ ├─Libs //iOS原生依赖的第三方 .a 依赖库存放目录,可选
│ │ ├─Resources //iOS原生所依赖的资源文件存放目录,可选
│ │ ├─info.plist //iOS原生所需要添加到主 info.plist 文件中的配置文件,可选
│ │ ├─UTS.entitlements //iOS原生所需要添加到主工程 .entitlements 文件中的配置文件,可选
......@@ -288,6 +289,7 @@ app-ios 文件夹下存在iOS平台原生配置,包括以下目录或文件
|目录名/文件名 |用途 |
|:--- |:--- |
|Frameworks |iOS平台插件需要引用的三方 framework 依赖库存放目录 |
|Libs |iOS平台插件需要引用的三方 .a 依赖库存放目录 |
|Resources |iOS平台插件需要引用的资源文件存放目录 |
|Info.plist |iOS平台插件需要添加到原生工程Info.plist中的配置文件 |
|UTS.entitlements |iOS平台插件需要添加到原生工程 entitlements 文件中的配置文件 |
......@@ -295,12 +297,22 @@ app-ios 文件夹下存在iOS平台原生配置,包括以下目录或文件
|index.uts |主入口,index.d.ts声明的能力在iOS平台下的实现 |
##### Frameworks
iOS平台插件依赖的三方存放目录,支持以下类型文件:
iOS平台插件依赖的三方framework存放目录,支持以下类型文件:
- framework
- xcframework
注意:目前只支持静态库
注意:目前支持静态库和动态库
##### Libs
> HBuilder X 3.7.2+ 版本支持
iOS平台插件依赖的三方.a库存放目录,支持以下类型的.a库:
- 使用OC语言创建的.a库
- 使用Swift语言创建的.a库
备注:有关OC及Swift创建的.a库的区别、.a库的使用方法和注意事项[详见](https://uniapp.dcloud.net.cn/plugin/uts-for-ios)
##### Resources
iOS平台原生资源目录,建议只保存uts插件内置的资源文件。云端打包时会将此目录下的所有文件添加到应用 main bundle 中。
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册