UTS iOS插件

devtools/2024/9/24 21:25:59/

1、使用时插件无法出现,内容显示不出来的原因

  • 再uniapp x中使用时,必须给这个插件高度和宽度,否则出不来!
///uniapp x 中使用
<uts-hello-view buttonText="点击按钮内容" style="width:375px;height: 375px;background-color: aqua;"></uts-hello-view>
  • 在IOS中编写这个插件的内容时候,不能全用self.bounds,有可能出不来啊!!!!需要直接写死frame,或者使用约束;
  • 同时,在didMoveToSuperview中获取view的frame不行,都是0,需要在layoutSubviews方法中获取view的frame才可以
  • 每次添加新的自定义UTS组件后最好重新走一遍自定义基座

2、无法运行

  • 检查是否都已经Podfile文件中版本修改为12
  • 问题:Sandbox: bash(72928) deny(1) file-write-create

方法:build settings->User Script Sandboxing 修改为NO在这里插入图片描述

3、使用第三方库时,不能在.h文件中导入这个内容第三方库 !!!

4、swift 如果类添加了public前缀,那么无法添加协议MAMapViewDelegate,会报错!!!

5、如何在uts插件中调用swift的方法

首先,swift必须是public 或者open修饰,比如 public class NHT_DemoView
但是高德地图又不能用这个修饰,所以将高德地图添加到一个view上,然后将这个view添加到另一个通过
public修饰的类上,通过这个类调用高德地图的api;

UTSswift_27">6、如何在UTS插件中使用swift的闭包

swift:
@objc open var SelectLocationChangeBlock: (([String:Any])->Void)?

UTS插件:

NVLoad() : NHT_DemoView {// -----NHT_AMAPViewlet button = new NHT_DemoView()button.SelectLocationChangeBlock = (res : any) => {this.$emit('fetchgis', res)};return button},

7、 this.$emit传值报错,error: cannot convert value of type ‘String’ to expected argument type ‘[String : Any]?’

因为传值类型不对,可以自己声明一个变量,然后当参数传值

const map1 = new Map<string,any>()map1.set('a', 'alpha');

或者改变响应回调的写法(必须按照你实际的返回内容),

button.SelectLocationChangeBlock = (res : Map<string, any>) => {this.$emit('fetchgis', res)};

iossrcindexswift619_error_contextual_closure_type_Any_Any__Void_expects_2_arguments_but_1_was_used_in_closure_body_59">8、error: uni_modules/nhyt-texs/utssdk/app-ios/src/index.swift:61:9: error: contextual closure type ‘(Any, Any) -> Void’ expects 2 arguments, but 1 was used in closure body

可能是watch中出现的问题
比如监听下面的值
“enableLocation”: {//允许定位
type: Boolean,
default: false
},

watch: {
//这样写对,必须有newValue : boolean, oldVel : boolean,只有newValue会报这个错误
“enableLocation”: {
handler(newValue : boolean, oldVel : boolean) {
// if (!this.isInitLocation && newValue && !this.innerEnableLocation) {
// this.isInitLocation = true
// this.innerEnableLocation = newValue
// this.initLocation()
// }
},
immediate: false
},
}

9、emit

只能全部小写,有大写的不行,比如下面fetchGis就不行,而fetchgis可以
emits: [‘fetchGis’, “locate”, “hhhh”, “fetchgis”],


http://www.ppmy.cn/devtools/4408.html

相关文章

Linux学习 - 常用和不太常用的实用awk命令

Linux学习 - 常用和不太常用的实用awk命令 Linux学习系列文章是生信宝典最开始主推的一块&#xff0c;力图从一个新额视角帮助初学者快速入门Linux系统&#xff0c;熟悉Linux下的文件和目录&#xff0c;文件操作&#xff0c; 文件内容操作。而且教程摒弃了完美操作&#xff0c…

【C++】哈希结构

目录 一&#xff0c;哈希结构的认识 1-1&#xff0c;哈希思想 1-2&#xff0c;哈希函数 1-3&#xff0c;哈希冲突 1-3-1&#xff0c;闭散列 1-3-2&#xff0c;开散列 二&#xff0c;哈希结构的封装实现 2-1&#xff0c;闭散列封装实现 ​编辑 2-2&#xff0c;开散列封…

Marching Cubes算法

Marching Cubes算法 1. 简介2. 算法原理的理解2.1 如何找到面经过的这些小块(六面体)&#xff1f;2.2 找到后&#xff0c;如何又进一步的找到面与这些小块(六面体)的交点&#xff1b;2.3 这些交点按照怎么的拓扑连接关系连接&#xff0c;是怎么操作的&#xff1f; 3. 总结4. 参…

三元运算符

介绍 条件表达式 ? 表达式 1: 表达式 2; 运算规则&#xff1a; 如果条件表达式为 true&#xff0c; 运算后的结果是表达式 1&#xff1b;如果条件表达式为 false&#xff0c; 运算后的结果是表达式 2&#xff1b; 使用细节 表达式 1 和表达式 2 要为可以赋给接收变量的类型…

将 Notepad++ 添加到右键菜单

目录 方式一&#xff1a;添加注册表&#xff08;手动&#xff09; 方式二&#xff1a;添加注册表&#xff08;一键添加&#xff09; 有时安装了notepad后&#xff0c;在txt文件上右键&#xff0c;在弹出的菜单栏中没有【通过 Notepad 打开】&#xff0c;如下&#xff1a; 这…

ES链接报connection reset by peer

这里写自定义目录标题 ES链接报connection reset by peer解决方法主要是删除node.lock文件重启es服务问题解决 ES链接报connection reset by peer 问题描述服务端报错connection reset by peer 在服务器上去curl返回的也是connection reset by peer 链接重置&#xff0c;说明e…

华为海思数字芯片设计笔试第八套

声明 下面的题目作答都是自己认为正确的答案&#xff0c;并非官方答案&#xff0c;如果有不同的意见&#xff0c;可以评论区交流。 这些题目也是笔者从各个地方收集的&#xff0c;感觉有些题目答案并不正确&#xff0c;所以在个别题目会给出自己的见解&#xff0c;欢迎大家讨论…

第17天:信息打点-语言框架开发组件FastJsonShiroLog4jSpringBoot等

第十七天 本课意义 1.CMS识别到后期漏洞利用和代码审计 2.开发框架识别到后期漏洞利用和代码审计 3.开发组件识别到后期漏洞利用和代码审计 一、CMS指纹识别-不出网程序识别 1.概念 CMS指纹识别一般能识别到的都是以PHP语言开发的网页为主&#xff0c;其他语言开发的网页识…