自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Rey的技术博客

专注移动ios平台的软件开发,多年的一线研发经验,实战经验丰富,只为你呈现有价值的信息。

  • 博客(201)
  • 资源 (4)
  • 收藏
  • 关注

原创 使用Flutter构建Web3加密货币钱包

本文介绍了使用Flutter开发Web3加密货币钱包的核心流程,涵盖区块链基础概念和关键代码实现。主要内容包括: 区块链网络基础:解释了不同链(如以太坊、Polygon)的ERC-20标准及其原生货币 账户创建: 使用bip39生成助记词 通过助记词派生私钥和公钥 生成钱包地址 余额查询: 通过Web3Client连接区块链RPC 获取原生代币余额(ETH/MATIC等) 交易功能: 原生代币转账实现 代币余额查询和转账(基于ERC-20标准合约) 代码示例展示了Flutter与区块链交互的核心方法,使用w

2025-11-25 19:33:30 89

原创 flutter 使用ThemeExtension 扩展主题ThemeData

Flutter中的ThemeExtension允许开发者扩展ThemeData,添加自定义主题属性。通过继承ThemeExtension类并实现copyWith和lerp方法,可以定义如颜色、间距等全局主题配置。使用时将扩展类添加到ThemeData的extensions中,通过Theme.of(context).extension<T>()获取自定义属性。这种方式提供了灵活的主题定制能力,支持明暗模式切换,有助于构建统一且易维护的主题系统。

2025-11-25 10:08:16 148

原创 flutter 中Android 分包(Flavor) 的配置与使用

Flutter Flavor是一种管理多应用变体的方法,允许开发者通过同一代码库构建不同配置的应用程序。它支持为不同环境(开发/生产)、客户或市场定制应用标识、名称、图标等属性,实现代码复用和维护简化。Android端配置需在build.gradle.kts中定义flavor维度及参数,运行时需指定flavor环境(如flutter run --flavor dev)。VSCode用户还需在launch.json中添加相应配置。Flavor提供了灵活的定制方案,能显著提升开发效率和用户体验。

2025-11-24 15:40:35 209

原创 flutter 使用intl实现国际化

本文介绍了Flutter中管理静态文本和实现国际化的两种方案。第一种是使用文本常量类统一管理静态文本,但存在不支持多语言等缺点。推荐使用intl组件实现国际化,通过创建.arb语言模板文件,配置l10n.yaml,使用flutter gen-l10n命令生成多语言文件。最终通过AppLocalizations.of(context)调用文本,并支持通过扩展BuildContext简化调用方式。还演示了如何在MaterialApp中切换语言,提供完整的国际化解决方案。

2025-11-24 14:59:31 94

原创 flutter 开发中的tips 【持续更新】

整理了个人在Flutter开发过程中遇到的一些问题及解决办法,还有一些开发中的小技巧, 整理成篇。 后续会持续更新本文,请关注收藏

2025-03-10 19:21:53 578

原创 flutter 网络请求封装与json序列化与反序列化

介绍Flutter 中使用Dio库进行网络请求封装。 使用json_annotation库进行模型的序列化与反序列化。 实现数据获取与数据加工的处理

2025-03-02 17:57:05 540

原创 ios 开发问题小集 [持续更新]

iOS开发中遇到的问题整理, 短篇的介绍问题出现的原因及解决方案

2023-11-09 09:16:20 2003 6

原创 ios 实现PDF,Word,Excel等文档类型的读取与预览

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

2023-10-18 11:45:23 3343 1

原创 ios 三方库的使用之 MJExtension

调用接口从服务端拿数据 (数据获取)拿到数据进行数据模型转换 (数据加工)将转换后的数据模型通过UI控件展示 (数据展示)即:数据获取->数据加工->数据展示数据加工)的过程是其中的重要一环。iOS开发中的模型指的是数据模型,是用来存放数据的对象。

2023-09-17 20:53:18 1158 2

原创 UITextField & UITextView 使用小技巧

本文总结了在使用 UITextField & UITextView 时遇到的一些问题及场景,以及对应的解决方案。目前覆盖的面可能不太全,后面会持续更新…

2023-09-12 10:21:30 887 1

原创 ios apns推送 离线锁屏语音播报

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

2023-04-24 14:23:26 1441 5

原创 graphhopper-ios 编译过程详解

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

2022-10-27 17:06:23 1640 6

原创 如何在.podspec 文件中添加对本地库的依赖

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

2022-04-18 17:24:22 4341

原创 uniapp ios原生插件开发 (framework,cocoapods)

已知UniApp的插件开发方式有两种, 第一种 Xcode Framework的方式,这种方式是官方指定的方式。 这种方式的优点就是简单直接, 但也有不足,比如当插件需要引入一些三方库时,操作起来就不是那么方便。 而使用Cocoapods则可以很方便的引入三方库。 接下来,本文探索使用Cocoapods的方式来进行UniApp插件开发。

2022-03-02 14:47:24 9401 53

原创 iOS 集成WebRTC各知识点小集

介绍iOS端 使用WebRTC做音视频通讯时的各知识点及问题点的总结

2022-01-17 16:33:53 4997 1

原创 使用pod package打包framework 实现组件的二进制化

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

2022-01-07 18:26:12 3227 3

原创 iOS WebRTC集成时遇到的问题总结 (声音默认输出由听筒改为扬声器、视频镜像、远端视频全屏等比填充等)

WebRTC,名称源自网页实时通信(Web Real-Time Communication)的缩写,简而言之它是一个支持网页浏览器进行实时语音对话或视频对话的技术。它为我们提供了视频会议的核心技术,包括音视频的采集、编解码、网络传输、显示等功能,并且还支持跨平台:windows,linux,mac,android,iOS。它在20.

2021-12-23 15:15:54 3868 5

原创 ios animation 动画学习总结

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

2021-12-11 12:47:55 2306

原创 iOS操作本地视频 - 获取,压缩,取第一帧

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

2021-12-04 23:12:53 5167

原创 ios 自制Framework 获取指定bundle并读取里面的资源

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

2021-12-02 13:48:22 3683

原创 ios 组件化实施过程

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

2021-11-29 11:44:38 1002

原创 ios 三方库的使用之 YYTextView

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

2021-11-16 09:22:59 1771

原创 iOS 微信、支付宝、银联、Paypal 支付组件封装

移动支付为人们的生活提供了便捷,越来越多的应用也都开始集成了移动支付功能。国内目前的几大支付平台分别有微信、支付宝、银联,国际的有Paypal, ApplePay等。 大部分的电商应用基本上对时下这几个支付平台都有集成,为用户下单支付提供更多的便利及选择。本人目前所从事的旅游行业也是要与电商结合,会在线销售全球不同目的地的景点门票,酒店等产品。所以也免不了涉及到移动支付这一块。 在使用各家平台的iOS sdk时必然会碰到很多集成上的问题,但所幸都一一解决。早就想找个时间把集成时碰到的问题写下来,一来

2021-11-16 09:15:19 2804

转载 Web3 钱包开发的流程

本文详细介绍了Web3钱包的开发流程,涵盖需求分析、技术选型、核心功能实现、安全测试及后期维护等关键环节。开发Web3钱包需明确用户定位,支持资产管理、交易、DApp连接等核心功能,并选择适合的技术栈确保安全性。重点包括密钥管理、资产查询、交易签名等功能的实现,以及严格的安全审计和测试。后期需持续优化功能、修复漏洞并跟进生态发展。通过系统化开发流程,可构建安全可靠的Web3钱包,为用户提供优质的区块链交互体验。

2025-11-26 10:46:37 43

原创 flutter BottomNavigationBar的常见用法

本文介绍了Flutter中BottomNavigationBar的常见用法,包括设置全局背景色、显示图标和文字、取消文字放大效果、去除水波纹效果、与PageView联动实现左右滑动切换,以及实现沉浸式悬浮导航栏和缺口圆角效果。重点讲解了如何通过BottomNavigationBarThemeData进行样式定制,并提供了实现联动切换和特殊布局的代码示例。这些技巧可以帮助开发者快速实现美观实用的底部导航功能。

2025-11-25 11:07:09 93

原创 uts ios插件开发tips

本文总结了在UniApp中使用UTS插件调用原生功能的几种方法:1)通过UTSiOS获取当前控制器,注意线程切换问题;2)使用DispatchQueue切换主线程执行UI操作;3)引入第三方库的两种方式(直接使用.framework或CocoaPods);4)UTS与Swift混编的两种实现方式(直接调用Swift类或将Swift代码封装为framework);5)提出混编规范建议(类名以Native结尾,方法以Swift结尾)。文章提供了完整的代码示例,帮助开发者实现原生功能调用。

2025-10-23 19:00:36 189 1

原创 uniapp uts 插件开发指南

UTS(Uni Type Script)是一种统一、强类型的脚本语言,能够编译为不同平台的编程语言,如JavaScript、Kotlin、Swift和ArkTS。它支持开发独立App(uni-app x)和插件(uts插件)。uts插件通过uts语法操作原生API,封装成uni_modules插件,供前端调用。插件分为api插件和组件插件,分别用于扩展api能力和界面组件。创建uts插件需通过HBuilderX,插件目录结构包括各平台的原生配置和资源文件。开发uts插件需掌握uts语法、应用程序生命周期函数

2025-05-23 11:20:04 1024

原创 flutter EventBus 的使用介绍

EventBus通常用它来做事件分发。 EventBus 遵从 publish/subscribe 模式,即发布/订阅模式;简化了模块之间通信,对于项目的解耦很实用;

2025-03-10 20:54:49 452

原创 flutter AnimationController 动画使用总结

AnimationController 默认的动画值是 0-1之间。如果你的动画只需要0-1之间取值, 可以直接使用 AnimationController来控制动画如果你的动画, 不是在0-1之间取值,且还有可能不是double类型的值。如平移动画 接收的就是一个Offset类型, 这时就需要用到 Tween 动画插值(补间动画)Tween是通过调用animate方法 与动画控制器建立关联//插值与动画控制器建议关联动画曲线是控制动画的运动曲线通过构造函数的parent参数与建立关联。

2025-03-02 18:23:23 365

原创 dart 箭头函数

箭头函数可以让你在只需要一个表达式的函数中省略大括号和return语句,从而提高代码的简洁性和可读性。

2025-01-16 10:54:54 276

原创 flutter 常用UI组件

flutter 常用UI组件

2025-01-15 20:14:58 790

原创 flutter VoidCallBack ValueChange<T> 的函数定义

在 Flutter 中,和是两种常用的回调函数类型,它们通常用于处理事件或传递数据。下面是它们的详细定义及使用方式。

2025-01-14 20:04:48 387

原创 flutter 安卓端打包

在 Flutter 中打包 Android 应用程序是一个相对简单的过程。你可以使用 Flutter 的命令行工具来构建并打包你的 APK 或 AAB(Android App Bundle)。

2025-01-14 19:35:28 729

原创 flutter R库对图片资源进行自动管理

项目中对资源的使用是开发过程中再常见不过的一环。一般我们在将资源导入到项目中后,会通过资源名称来访问。但在很多情况下由于我们疏忽输入错了资源名称,从而导致资源无法访问。

2025-01-14 19:18:45 681

原创 R.swift库的详细用法

R.swift提供了一种类型安全的方式来访问项目中的资源,从而避免了手动输入资源名称时可能发生的拼写错误。通过配置和使用R.swift,你可以在构建时自动生成访问代码,提高开发效率,减少运行时错误。你可以访问R.swift。

2025-01-10 20:39:03 716

转载 项目经理必备管理工具

转眼就来到了2022下半年了,相信大家多少也有些蠢蠢欲动。最近老原这增加了不少新的粉丝朋友,有想要入行或是转行项目管理的,大家关心的问题无非就是怎么才能入行/转行,需要做哪些准备?老原的回答也是一如既往的简单:第一:PMP证书必须拿到;第二:掌握项目管理工作流程、工具、方法(其实这部分,在你学完PMP的时候,就会有一个基本的框架了)关于PMP认证,老原今天就不细说了。想要详细了解的同学,可以私信老原。不管有没有在项目经理这个岗位的人,都会觉得它的工作很复杂、繁琐,但其实在老原看来也就那么一回事。

2024-07-12 17:53:19 175

原创 iOS开发中用到的自定义UI库

本文中的UI组件,是作者在移动应用开发中都用到过的。 确实,找到对的三方库可以快速帮助我们构建App, 极大程度上提高了生产力。 如果你也有不错的三方库要推荐,不仿在评论区给我留言。 如果在其中能找到你想要的库,也欢迎你的收藏,点赞。 thx

2024-06-27 17:55:25 697

原创 JXCategoryView的使用总结

可以在初始化时指定 titles属性赋值, 如果需要动态显示titles, 则可以在处理后,通过 reloadData 进行重载。根据协议声明来看, listView需要协议的实现者必须 实现才可以。的对象(一般是viewcontroller)这个回调需要返回实现了。

2024-06-25 09:57:29 1873

转载 “无为而治”的 PM

如果把麦当劳的炸薯条放在项目管理方面来看,那真是一个活生生的“栗子”:一包薯条经历多高的油温、烹炸几分钟、中途多少秒的时候要嘚瑟嘚瑟,甚至撒盐的手势都有严格的指示。中国历史上著名的优秀项目经理姓唐,当时是佛学系的在读博士,读书期间就悟出了管理学真谛,干取经项目的时候发挥了管理方面的才能,充分挖掘孙悟空、猪八戒、沙僧各自的优势,深得下属的衷心归顺甚至敌人的倒戈,依靠“无为而治”最终到达西天,修成正果。项目经理的大部分时间是用来做沟通的,资源永远是不够的、时间永远紧张的、需求永远是变化的、客户永远是青春的……

2024-06-24 11:40:24 155

转载 如何分析 iOS 中的 Crash logs

当你收到不可读的崩溃信息时,你可以在 Xcode 的帮助下对崩溃日志进行符号化。作为开发者,识别符号并确保能够修复这个崩溃至关重要。我们很多开发者常用一些在线平台来统计和解决崩溃,比如 Firebase 和 Bugly 平台,它们将上报我们的线上崩溃信息日志。但是,在某些情况下,我们可以从控制台提取对应的崩溃文件,比如 IPS 文件,在读取这些日志之前,需要对符号进行符号化。今天就来讲讲相关的内容。

2024-06-21 09:45:34 771

SwiftUI Apprentice 电子书

SwiftUI 英文教程电子书

2024-08-19

ios开发工具库toolKit

资源是本人10多年ios开发过程中整理归纳的工具库, 其中包含了常用的扩展及工具库。为你的ios开发提供助力 - Category : 常用分类扩展 - Utils : 工具类

2024-07-03

iOS开发你需要知道的

此资源是本人从事iOS开发以来,实际工作中遇到的问题及坑点的总结。皆在为后来者提供一种思路或解决方案, “授人以鱼,不如授人以渔”就是这个道理。 希望我的这些开发中的工作经验能真正的帮助到你, 此为本人分享之初衷。 此专栏包含了如下几个方面 支付方案:微信,支付宝,贝宝集成及二次封装 即时通讯方案:融云IM集成 组件化方案: 组件化实施过程,二进制化方案 常用富文本框架YYKit的使用总结(YYTextView,YYLabel) 苹果集成登录 自制Framework的封装及资源的访问 UINavigationBar 的iOS15下的适配 SFSafariViewController与oc 的功能交互 UICollectionView的设置 header二种办法 iOS 操作本地视频 (获取,压缩,第一帧) iOS面向切面编程AOP 框架 Aspects库的使用 Swift技术相关 oc底层技术解密 iOS 动画相关

2022-03-22

ios 选取图片、视频、文件 的选择器

该选取组件除了支持图片,视频的选择外,还支持选择文件,如word,excel, pdf等格式。 文件的选择需要iCould的支持,通过使用该组件可以让你的应用实现文件的流转

2024-03-06

ios 路径规划静态库 libgraphhopper.a

graphhopper 的 ios版本的静态库,方便iOS开发者也能使用到graphhopper库的能力。

2022-10-27

iOS支付组件封装(微信,支付宝,银联)

本人在iOS开发过程中,通过对微信,支付宝,银联等三方支付库的集成的经验。总结并进行了二次的抽象与封装,将三种支付方式封装为统一的支付接口并提供给客户端来使用。

2022-03-26

工作中整理的前后端技术文档与代码规范

工作中整理的前后端代码规范及说明 ,可作为手册来使用。 文档包含: iOS代码规范 Android代码规范 Api接口格式 Git命令使用手册 PHP代码规范 PHP性能规范 SQL注入

2022-03-22

生成静态页面的一个小例子

用IhttpHandler,IHttpModule处理页面请求,重定向url

2008-03-07

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除