- 博客(193)
- 资源 (4)
- 收藏
- 关注

原创 flutter 开发中的tips 【持续更新】
整理了个人在Flutter开发过程中遇到的一些问题及解决办法,还有一些开发中的小技巧, 整理成篇。 后续会持续更新本文,请关注收藏
2025-03-10 19:21:53
323

原创 flutter 网络请求封装与json序列化与反序列化
介绍Flutter 中使用Dio库进行网络请求封装。 使用json_annotation库进行模型的序列化与反序列化。 实现数据获取与数据加工的处理
2025-03-02 17:57:05
278

原创 flutter 安卓端打包
在 Flutter 中打包 Android 应用程序是一个相对简单的过程。你可以使用 Flutter 的命令行工具来构建并打包你的 APK 或 AAB(Android App Bundle)。
2025-01-14 19:35:28
421

原创 ios 实现PDF,Word,Excel等文档类型的读取与预览
最近正在研发的项目有一个需求: 允许用户将iCloud中的文档上传,实现文件的流转。以前接触的项目对于资料类的上传大多是仅限于图片与视频的。对于文档类(Word, Excel, PDF, Text等), 因苹果的沙箱环境限制,想要读取文件是无法实现的。目前虽然可以支持选择文件,但只能通过访问iCloud上的云文档来实现。所以,要在应用中对文档类进行上传流转,首先需要将本地文档存储到你的iCloud中,再通过读取iCloud的云文档来获取。
2023-10-18 11:45:23
2901
1

原创 ios 三方库的使用之 MJExtension
调用接口从服务端拿数据 (数据获取)拿到数据进行数据模型转换 (数据加工)将转换后的数据模型通过UI控件展示 (数据展示)即:数据获取->数据加工->数据展示数据加工)的过程是其中的重要一环。iOS开发中的模型指的是数据模型,是用来存放数据的对象。
2023-09-17 20:53:18
950
2

原创 UITextField & UITextView 使用小技巧
本文总结了在使用 UITextField & UITextView 时遇到的一些问题及场景,以及对应的解决方案。目前覆盖的面可能不太全,后面会持续更新…
2023-09-12 10:21:30
701
1

原创 ios apns推送 离线锁屏语音播报
公司正在研发的一款App,需要在进行消息推送时支持语音播报。 具体要求:- 离线:App在用户未打开时,可收到消息推送- 锁屏:用户在设备锁屏状态下,仍可收到消息推送- 语音播报:收到消息推送时可同时进行语音播放苹果的APNs消息推送, 支持在应用未打开及设备锁屏状态下收到推送。 而同时进行语音播报,则需要做一些特殊处理。 目前语音播报的场景有两种: 一种是固定音频的播放, 一种是需要动态合成后的音频播放。如支付宝或微信收款的消息提醒: “支付宝/微信成功收款100元” 。
2023-04-24 14:23:26
1102
5

原创 graphhopper-ios 编译过程详解
GraphHopper 是一个快速且高效的路径规划引擎,它默认使用和GTFS数据, 也可以导入其他数据源。它可以用作java库或独立的web服务器,去计算两个或多个点之间的线路的距离,时间,转弯指令和许多道路属性。除了“A-to-B”的路径规划能力之外,它还支持“snap to road”、等时线计算、移动导航等。是的oc版本,它使用j2objc将.java源代码转换为代码, 以供iOS平台的开发者来使用。该库在成功编译后会生成一个的静态库文件。接下来介绍该库在终端命令行模式下的编译过程。
2022-10-27 17:06:23
1542
6

原创 如何在.podspec 文件中添加对本地库的依赖
说明在使用cocoapods来管理库时, 当前库想要添加一个本地库的依赖, 尝试在.podspec 文件中设置如下依赖:s.dependency = 'my pod', :path => ''尝试后发现是不可行的。 .podspec 中不支持 :path => 或者 :git => 的方式来引入本地库。那么有办法可以解决吗 ?方案通过查资料,终于找到了合适的方案。 首先,我们不能向上面那样在.podspec中设置pod的依赖, 但可以在Podfile文件中指明pod 的sour
2022-04-18 17:24:22
3968

原创 uniapp ios原生插件开发 (framework,cocoapods)
已知UniApp的插件开发方式有两种, 第一种 Xcode Framework的方式,这种方式是官方指定的方式。 这种方式的优点就是简单直接, 但也有不足,比如当插件需要引入一些三方库时,操作起来就不是那么方便。 而使用Cocoapods则可以很方便的引入三方库。 接下来,本文探索使用Cocoapods的方式来进行UniApp插件开发。
2022-03-02 14:47:24
8374
51

原创 使用pod package打包framework 实现组件的二进制化
随着项目的多次迭代,功能越来越多,项目也越来越大,相应的编译时间也越来越长。 亟需要方案来解决项目日益变大,模块变多,功能藕合变紧密的问题。 对项目进行模块化,组件化迫在眉睫。可见,组件化是项目变大后的必经选择。那组件化能给项目带来哪些优势,又有哪些不足呢? 接下来本文会就组件的拆分,组件的创建,组件的二制化来介绍项目组件化的整个过程。组件化是不是所有的项目都适用组件化 ?答案是否定的。 只有当项目到了一定规模,各功能模块日趋增多,此时可考虑对项目进行组件化的重构。我们先来了解一下组件化到底有哪些
2022-01-07 18:26:12
3076
3

原创 iOS WebRTC集成时遇到的问题总结 (声音默认输出由听筒改为扬声器、视频镜像、远端视频全屏等比填充等)
WebRTC,名称源自网页实时通信(Web Real-Time Communication)的缩写,简而言之它是一个支持网页浏览器进行实时语音对话或视频对话的技术。它为我们提供了视频会议的核心技术,包括音视频的采集、编解码、网络传输、显示等功能,并且还支持跨平台:windows,linux,mac,android,iOS。它在20.
2021-12-23 15:15:54
3555
5

原创 ios animation 动画学习总结
动画一直是 iOS 开发中很重要的一部分。设计良好,效果炫酷的动画往往能对用户体验的提升起到很大的作用,在这里将自己学习 iOS 动画的体会记录下来,希望能对别人有所帮助。iOS 的动画框架,即 CoreAnimation,本身十分庞大和复杂,这里暂时分两个部分进行介绍,分别是 UIView 动画 和 CALayer 动画。1、UIView Animation简单动画对于 UIView 上简单的动画,iOS 提供了很方便的函数:+ animateWithDuration:animations
2021-12-11 12:47:55
2098

原创 iOS操作本地视频 - 获取,压缩,取第一帧
现在大多数应用都涉及到对本地视频的相关处理, 比如社交类,短视频类应用等等。本文通过视频选取,视频的压缩,视频的处理的操作流程来说一下视频处理过程中常用到的功能 。1.通过PHAsset获取AVURLAsset对视频操作的第一个步骤肯定是视频的选取。视频的选取可以通过调用系统提供的UIImagePickerController 控件或三方库来处理。目前市面上用的比较多的三方库诸如:TZImagePickerController, HXPhotoPicker 等,功能上也都相似。三方框架提供的功能相
2021-12-04 23:12:53
4916

原创 ios 自制Framework 获取指定bundle并读取里面的资源
应用中某些模块需要组件化,组件化后的工程最后会做二进制化处理,打包成.framework文件。 今天简单聊一下在主工程或其他组件中是如何访问自制组件.framework中的bundle,及其中资源的。访问应用资源我们知道苹果应用是基于沙盒机制, 打包生成.ipa后的资源会被放到沙盒的根目录下。通常在主工程中我们是这样访问资源的:NSString *plistPath = [[NSBundle mainBundle] pathForResource:@"test" ofType:@"plist"]
2021-12-02 13:48:22
3319

原创 ios 组件化实施过程
组件化的拆分组件与组件之间如何进行通讯(路由)从Cocopods拉取代码的过程远程索引库里很多的.spec文件,该文件记录了很多内容,如用户名,框架名称,描述,框架的地址Podfile 文件是拉取框架源码的配置文件, pod install 命令会根据Podfile中配置来拉取框架源码Pod setup 命令会把远程索引库拷贝到本地,在本地还有一个检索文件执行pod search命令过程,并不是直接从远程索引库查找,它是从本地的检索文件,该检索文件是以键值对
2021-11-29 11:44:38
944

原创 ios 三方库的使用之 YYTextView
在进行社交类应用开发时,要求内容除了基本的文本内容外,还需要包含话题、邮箱、链接、用户 等信息,而且需要在录入时就能进行区分。 所以单纯的使用UITextView控件已经不再满足当前的需求, 经过技术调研,发现YYTextView控件完全满足所有的需求。 故而方案就选择了YYTextView控件。 如下要罗列介绍的就是在本人在开发过程中遇到的场景,以及这些场景使用YYTextView控件是如何进行实现的。
2021-11-16 09:22:59
1594

原创 iOS 微信、支付宝、银联、Paypal 支付组件封装
移动支付为人们的生活提供了便捷,越来越多的应用也都开始集成了移动支付功能。国内目前的几大支付平台分别有微信、支付宝、银联,国际的有Paypal, ApplePay等。 大部分的电商应用基本上对时下这几个支付平台都有集成,为用户下单支付提供更多的便利及选择。本人目前所从事的旅游行业也是要与电商结合,会在线销售全球不同目的地的景点门票,酒店等产品。所以也免不了涉及到移动支付这一块。 在使用各家平台的iOS sdk时必然会碰到很多集成上的问题,但所幸都一一解决。早就想找个时间把集成时碰到的问题写下来,一来
2021-11-16 09:15:19
2598
原创 flutter EventBus 的使用介绍
EventBus通常用它来做事件分发。 EventBus 遵从 publish/subscribe 模式,即发布/订阅模式;简化了模块之间通信,对于项目的解耦很实用;
2025-03-10 20:54:49
205
原创 flutter AnimationController 动画使用总结
AnimationController 默认的动画值是 0-1之间。如果你的动画只需要0-1之间取值, 可以直接使用 AnimationController来控制动画如果你的动画, 不是在0-1之间取值,且还有可能不是double类型的值。如平移动画 接收的就是一个Offset类型, 这时就需要用到 Tween 动画插值(补间动画)Tween是通过调用animate方法 与动画控制器建立关联//插值与动画控制器建议关联动画曲线是控制动画的运动曲线通过构造函数的parent参数与建立关联。
2025-03-02 18:23:23
140
原创 flutter VoidCallBack ValueChange<T> 的函数定义
在 Flutter 中,和是两种常用的回调函数类型,它们通常用于处理事件或传递数据。下面是它们的详细定义及使用方式。
2025-01-14 20:04:48
249
原创 flutter R库对图片资源进行自动管理
项目中对资源的使用是开发过程中再常见不过的一环。一般我们在将资源导入到项目中后,会通过资源名称来访问。但在很多情况下由于我们疏忽输入错了资源名称,从而导致资源无法访问。
2025-01-14 19:18:45
451
原创 R.swift库的详细用法
R.swift提供了一种类型安全的方式来访问项目中的资源,从而避免了手动输入资源名称时可能发生的拼写错误。通过配置和使用R.swift,你可以在构建时自动生成访问代码,提高开发效率,减少运行时错误。你可以访问R.swift。
2025-01-10 20:39:03
434
转载 项目经理必备管理工具
转眼就来到了2022下半年了,相信大家多少也有些蠢蠢欲动。最近老原这增加了不少新的粉丝朋友,有想要入行或是转行项目管理的,大家关心的问题无非就是怎么才能入行/转行,需要做哪些准备?老原的回答也是一如既往的简单:第一:PMP证书必须拿到;第二:掌握项目管理工作流程、工具、方法(其实这部分,在你学完PMP的时候,就会有一个基本的框架了)关于PMP认证,老原今天就不细说了。想要详细了解的同学,可以私信老原。不管有没有在项目经理这个岗位的人,都会觉得它的工作很复杂、繁琐,但其实在老原看来也就那么一回事。
2024-07-12 17:53:19
123
原创 iOS开发中用到的自定义UI库
本文中的UI组件,是作者在移动应用开发中都用到过的。 确实,找到对的三方库可以快速帮助我们构建App, 极大程度上提高了生产力。 如果你也有不错的三方库要推荐,不仿在评论区给我留言。 如果在其中能找到你想要的库,也欢迎你的收藏,点赞。 thx
2024-06-27 17:55:25
516
原创 JXCategoryView的使用总结
可以在初始化时指定 titles属性赋值, 如果需要动态显示titles, 则可以在处理后,通过 reloadData 进行重载。根据协议声明来看, listView需要协议的实现者必须 实现才可以。的对象(一般是viewcontroller)这个回调需要返回实现了。
2024-06-25 09:57:29
1301
转载 “无为而治”的 PM
如果把麦当劳的炸薯条放在项目管理方面来看,那真是一个活生生的“栗子”:一包薯条经历多高的油温、烹炸几分钟、中途多少秒的时候要嘚瑟嘚瑟,甚至撒盐的手势都有严格的指示。中国历史上著名的优秀项目经理姓唐,当时是佛学系的在读博士,读书期间就悟出了管理学真谛,干取经项目的时候发挥了管理方面的才能,充分挖掘孙悟空、猪八戒、沙僧各自的优势,深得下属的衷心归顺甚至敌人的倒戈,依靠“无为而治”最终到达西天,修成正果。项目经理的大部分时间是用来做沟通的,资源永远是不够的、时间永远紧张的、需求永远是变化的、客户永远是青春的……
2024-06-24 11:40:24
100
转载 如何分析 iOS 中的 Crash logs
当你收到不可读的崩溃信息时,你可以在 Xcode 的帮助下对崩溃日志进行符号化。作为开发者,识别符号并确保能够修复这个崩溃至关重要。我们很多开发者常用一些在线平台来统计和解决崩溃,比如 Firebase 和 Bugly 平台,它们将上报我们的线上崩溃信息日志。但是,在某些情况下,我们可以从控制台提取对应的崩溃文件,比如 IPS 文件,在读取这些日志之前,需要对符号进行符号化。今天就来讲讲相关的内容。
2024-06-21 09:45:34
364
原创 ios symbolicatecrash 符号化crash
是十六进制函数地址映射信息的中转文件,调试的symbols会包含在这个文件中,symbols即类名、函数名等。文件夹里,右键 xxx.app 文件 -> Show in Finder -> 就能找到。输出路径之后,找到该文件,在桌面创建一个。通过Archives打包上传时获取。文件后,还有一项工作要做就是检查。在.crash中查找这个udid。拷贝到 crash 文件夹中。打包时,应该保存每个正式版的。文件,以备定位线上问题使用。导出符号化crash 文件。文件了,在项目工程的。.dSYM的uuid。
2024-03-22 10:50:43
472
2
转载 ios 开发中使用Masonry设置极限约束以及优先级
某个控制器上的view上有两个label,左、右两边各一个,两者之间的间距为10pt,左、右两边label的宽度最少为100,但当两个label上的文字都很多的时候首先左侧的label上展示的文字更多。对某个控制器上的view上的label进行布局,要求其右侧至少与view水平方向的中心处对齐,宽度随着文字的增加逐渐变宽,但其右侧距离view右侧至少10pt.使用Masonry对UILabel进行约束,设置其宽度的最小约束和距离右侧的最大距离。这是需要使用Masonry设置UILabel抗压缩的优先级。
2024-02-29 15:47:59
885
原创 UICollectioView 使用集合
我们在做滚动数据展示时,常用到的UIKit库中的控件就是如下几种:。其中与都是直接继承自在未出现之前,我们的应用程序中基本都在使用控件,它使用简单易上手。对于纵向的数据展示,使用控件完全可以轻松满足我们的需求, 但对于横向的数据展示,我们只能选择使用UIScrollView来实现。这种情况在控件出现之后得以解决。除了支持纵向布局外,还可以横向布局,也能实现左右表格高度不同的流式布局,同样也能复用表头和表脚非常的强大。可以说就是为了代替而生。允许定制的布局可能非常复杂(例如:每个单元的大小不同)
2023-09-04 09:54:07
471
3
原创 ios 声网agora 音视频直播场景下的集成总结
项目中需要用到音视频会议/直播的场景, 自研比较耗时,且没有技术积累,实现难道较大。所以第三方成为当前选型的首选。通过调研,目前支持这类型技术的三方,诸如:阿里、腾讯、anyRTC、声网RTC。每月1w分钟的免费用量, 对于项目初期,这个免费量应该够用支持更多的使用场景更完善的集成文档与demo几行代码即可完成接入,SDK使用比较友好。
2023-08-22 10:34:00
1167
3
转载 Mac 电脑下载 AppStore 中的 ipa 软件包详细流程
包的软件,点击添加,然后等待安装,如果你手机上没有这个软件,那么会直接安装成功,但是需要的是安装冲突,也就是你手机上有这个软件,然后再通过这个操作去安装触发冲突弹窗,这个时候下载软件的。,到了个人文件夹之后,需要找到资源库,但是资源库是隐藏文件夹,所以需要显示隐藏文件夹,显示隐藏文件夹的快捷按键是。5、这边也是第一次安装成功,然后再次添加,触发了安装冲突,停留在这里,不要去点任何按钮,点了。2、电脑连接手机,并信任,在所有设备中,选中设备,然后点击顶部的加号,选中。,那就等等,或者换个好点的网。
2023-07-25 11:57:04
1463
原创 声网 Agora音视频uniapp插件跑通详解
在使用声网SDK做音视频会议开发时, 通过声网官方论坛了解到,声网是提供uniapp插件的,只是在官方文档中不是很容易找到。Agora音视频插件Agora音视频插件(JS)本文讲解如何跑通演示示例。
2023-07-10 14:13:43
2267
原创 uniapp ios原生插件开发之module
在文章《uniapp ios原生插件开发 (framework,cocoapods)》中我们已经介绍了Module 类型的插件及其创建过程, 却没有深入的介绍Module类型插件开发过程中所涉及到的技术点。本文呢就将重点放在对这些技术点的使用上进行详解,算是是对上篇文章的一个补充与扩展。module:不需要参与页面布局,只需要通过 API 调用原生功能,比如:获取当前定位信息、数据请求等功能,通过扩展module的方式来实现;component。
2023-07-09 22:51:50
1900
1
原创 java 阿里云直播配置及推拉流地址获取
2、首次进入会提示开通服务,点击“开通服务”,然后选择计费方式,同意服务协议,然后立即开通。完成了推流域名与播流域名的配置后, 可以通过阿里提供的工具来进行推/播流的生成了。4、配置完上一个步骤后,返回域名管理,稍等几分钟解析生效后会看到域名状态已经是。确定完成之后,基本上我们的推流域名与播流域名就配置完成了。3、返回“域名管理”,会看到刚才添加的推流域名,把域名右侧的。2、按下图示例,根据自己的实际填写,然后提交。前四步与接入推流域名的过程类似,就不再赘述。配置,按下图示例填写,然后提交。
2023-07-05 14:58:40
4513
ios开发工具库toolKit
2024-07-03
ios 选取图片、视频、文件 的选择器
2024-03-06
iOS支付组件封装(微信,支付宝,银联)
2022-03-26
工作中整理的前后端技术文档与代码规范
2022-03-22
iOS开发你需要知道的
2022-03-22
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人