Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
你丑我先上
unidocs-zh
提交
d7a5fc97
U
unidocs-zh
项目概览
你丑我先上
/
unidocs-zh
与 Fork 源项目一致
Fork自
DCloud / unidocs-zh
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
U
unidocs-zh
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
d7a5fc97
编写于
10月 31, 2022
作者:
DCloud-yyl
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
完善iOS平台uts插件注意事项
上级
0531b10b
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
32 addition
and
27 deletion
+32
-27
docs/plugin/uts-plugin.md
docs/plugin/uts-plugin.md
+32
-27
未找到文件。
docs/plugin/uts-plugin.md
浏览文件 @
d7a5fc97
...
...
@@ -280,27 +280,31 @@ dependencies {
#### iOS 平台原生配置
app-ios 文件夹下存在
iOS
平台原生配置,包括以下目录或文件
app-ios 文件夹下存在
iOS
平台原生配置,包括以下目录或文件
|目录名/文件名 |用途|
|:---
|:---
|
|
Frameworks |iOS 插件需要引用的三方 framework 依赖库存放目录
|
|
Resources |iOS 插件需要引用的资源文件存放目录
|
|
info.plist|iOS 插件需要添加到原生工程 info.plist 中的配置文件
|
|
config.json| iOS 原生工程的配置文件
|
|index.uts
| 主入口,index.d.ts 声明的能力在 iOS 平台下的实现
|
|目录名/文件名 |用途
|
|:---
|:---
|
|
Frameworks |iOS平台插件需要引用的三方 framework 依赖库存放目录
|
|
Resources |iOS平台插件需要引用的资源文件存放目录
|
|
Info.plist |iOS平台插件需要添加到原生工程Info.plist中的配置文件
|
|
config.json |iOS平台原生工程的配置文件
|
|index.uts
|主入口,index.d.ts声明的能力在iOS平台下的实现
|
##### Frameworks
如果 uts 插件需要依赖三方库,需要将三方依赖库存放到 Frameworks 目录中,注意:目前仅支持 .framework 依赖库
iOS平台插件依赖的三方库存放目录,支持以下类型文件:
-
a
-
framework
-
xcframework
##### Resources
iOS平台原生资源目录,建议只保存uts插件内置的资源文件。云端打包时会将此目录下的所有文件添加到应用 main bundle 中。
如果 uts 插件需要依赖资源文件,需要将资源文件存放到 Resources 目录中,打包时会将 Resources 目录中的所有文件添加到应用 main bundle 中
除了插件下有Resources目录,项目下也有。注意2者的区别。一般使用者的配置不放在插件下,而放在自己的项目下。项目下配置
[
详见
](
https://uniapp.dcloud.net.cn/tutorial/app-nativeresource-ios.html#%E8%B5%84%E6%BA%90%E6%96%87%E4%BB%B6-bundle-resources
)
##### info.plist
##### Info.plist
iOS平台原生 Info.plist 文件配置,云端打包时会将配置信息合并到原生工程的 Info.plist 中。
如果 uts 插件需要在原生工程的 info.plist 中添加配置,则需要在插件工程中添加 info.plist 配置文件添加插件所需要的配置项,打包时会将配置信息同步到原生工程的 info.plist 中
除了插件下有Info.plist,项目下也有。注意2者的区别。一般使用者的配置不放在插件下,而放在自己的项目下。项目下配置
[
详见
](
https://uniapp.dcloud.net.cn/tutorial/app-nativeresource-ios.html#%E9%85%8D%E7%BD%AE%E6%96%87%E4%BB%B6-info-plist
)
示例: 添加位置权限描述信息 和 开启后台定位
...
...
@@ -313,8 +317,6 @@ app-ios 文件夹下存在 iOS 平台原生配置,包括以下目录或文件
<string>
访问位置权限
</string>
<key>
NSLocationWhenInUseUsageDescription
</key>
<string>
使用期间获取位置权限
</string>
<key>
TencentLBSAPIKey
</key>
<string>
LZTBZ-77PCJ-HJAFN-KWXJ2-H357V-DJBK4
</string>
<key>
UIBackgroundModes
</key>
<array>
<string>
location
</string>
...
...
@@ -324,8 +326,7 @@ app-ios 文件夹下存在 iOS 平台原生配置,包括以下目录或文件
```
##### config.json
uts 插件在 iOS 平台的原生层配置文件,可以在其中配置依赖的系统库等配置信息
uts插件在iOS平台的其它原生配置文件,可以在其中配置依赖的系统库等信息
```
json
{
...
...
@@ -343,6 +344,7 @@ uts 插件在 iOS 平台的原生层配置文件,可以在其中配置依赖
-
iOS 平台 uts 原生插件需提交云端打包才能生效,真机运行时需使用
[
自定义基座
](
https://uniapp.dcloud.net.cn/tutorial/run/run-app.html#customplayground
)
## 3 开发uts原生插件
以获取电量为例,介绍uts原生插件开发步骤
...
...
@@ -486,36 +488,39 @@ getBatteryCapacity()
-
Android上,运行体验与uni-app基本无差异。一样可以热刷新,打印console.log。
-
iOS上,uts
插件需提交云端打包才能生效,真机运行时需使用
[
自定义基座
](
https://uniapp.dcloud.net.cn/tutorial/run/run-app.html#customplayground
)
-
iOS上,uts
插件暂不支持热刷新,真机需提交云端打包生成
[
自定义基座
](
https://uniapp.dcloud.net.cn/tutorial/run/run-app.html#customplayground
)
才能生效
### 5.2 自定义基座
自定义基座
也
支持uts插件。
自定义基座支持uts插件。
Android上编写普通uts代码时标准基座也可以。但与原生插件一样,涉及以下场景,需要自定义基座后方能生效:
#### Android平台
普通uts代码可以直接使用标准基座真机运行。但与原生插件一样,涉及以下场景,需要自定义基座后方能生效:
-
1 集成三方sdk
-
2 新增资源(包括res/asset 等)
总结来说,就是所有 涉及新增依赖/gralde配置/androidManifest.xml/资源 等标准基座不具备的能力时,需要自定义基座
#### iOS平台
uts代码暂不支持直接使用标准基座真机运行。与原生插件一眼,需要自定义基座才能生效。
### 5.3 遗留问题
截止到HBuilderX 3.6.2 时遗留事项:
-
不能debug断点uts源码
-
uts插件还不支持远程仓库依赖,目前添加插件的配置方法参考
[
这个章节
](
#tempnotice
)
-
uts插件无法使用res。图片资源建议放在assets目录。
-
不能debug断点uts源码
-
Android平台uts插件还不支持远程仓库依赖,目前添加插件的配置方法参考
[
这个章节
](
#tempnotice
)
-
Android平台uts插件无法使用res,图片资源建议放在assets目录
-
iOS平台uts插件需要提交云端生成自定义基座才能真机运行,修改uts代码后需重新提交云端打包才能生效
遗留事项后续升级完善。
## 6 云端打包
正常支持云端打包。
## 6 云端打包
注意:虽然uts在Android真机运行时支持热刷,但打包后uts编译为了纯原生二进制代码,不支持wgt热更新。
正常支持云端打包。但打包后uts编译为了纯原生二进制代码,不支持wgt热更新。
打包若包含了uni-app引擎内置的依赖库,会报错。需注意参考
[
这个章节
](
#tempnotice
)
## uni-app的Android内置库@iodcloudutsandroid
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录