- 博客(22)
- 资源 (3)
- 收藏
- 关注
原创 手撸一个Flutter插件实现跨苹果全家桶云同步持久化Key Value数据
作为一个客户端开发者,后端开发一直是我的弱项。虽然GPT的横空出世,让我对后端的开发有一点眉目。但是现实是,能不触碰就不触碰,因为人的精力是有限,如何在有限的时间里发挥最大的作用一直是我的一个追求。所以回到本次主题,我自己上线的一个产品,目前已经成功上线了iOS以及Mac端,如何在不开发后端的情况下实现同步轻量级数据呢?答案是利用Cloud Kit。
2023-06-08 16:01:14
1140
原创 翻阅HttpClient源码解决Flutter Archive后无法请求代理接口,我的GPT客户端终于自由啦~
时间一转眼我的上一篇博文更新已经接近3个月有余。我这段时间都在干嘛?除了4月因为裁员的事情心有余悸,这两三个月我都在捣鼓Mac的GPT客户端。转眼我的Mac客户端Ai Chat - 你问我答也上线了2个多月了。这几天也在准备把之前一次性返回接口,改回流式返回。其实1.0上线的时候我也就遇到了这个问题,当我的Flutter Mac桌面包Archive后,使用官方HttpClient的接口直接请求OpenAi的接口,因为我们有墙,我必须开启VPN才能请求,但是就是每次Archive后我都无法再请求成功。
2023-06-01 12:06:12
479
原创 紧急需求‼️实现iOS启动图动态置灰
相信这几天各大互联网应用首页置灰已经接踵而至,事情缘由我就不太赘述。毫无疑问,我司从30号当晚就收到紧急需求,我们要求1号必须紧急发版,除了常规的首页支持配置的动态置灰外,我们还要求另外一个需求就是,启动图也需要支持动态配置灰功能,经过几个同事的努力,于1号当晚顺利的发版了,第二天一早便成功上线,在此记录一下实现iOS启动图动态置灰的方案心得。
2022-12-08 15:55:42
1067
3
原创 可能是全网第一个适配iOS灵动岛的Toast库-JFPopup
我去年的一篇文章详细的介绍了我编写的一套Swift弹窗组件库一个优雅的Swift弹窗组件-JFPopup。里面适配了一套ToastView,恰逢今年苹果iPhone14 Pro以上系列新出了一套灵动岛的交互风格,所以就意外想到能否把ToastView也适配进去灵动岛,所以此文就应运而生。我上篇文章已经很详细的介绍了JFPopup具体用法,这篇文章主要讲解适配灵动岛的心路历程。
2022-09-21 11:03:24
1916
1
原创 关于iOS的presentingViewController&presentedViewController你真的懂了么
前段时间工作中,做一个获取顶层控制器组件的时候,遇到了在遍历导航栈的控制器后,再查找当前导航栈的顶层控制器,是否有模态出来的vc的问题。基于这个问题,我想大部分人第一时间想到的都是vc的presentingViewController,以及presentedViewController这两个属性。所以我也第一时间百度了一下,某篇文章赫然写着 假设 AVC 模态出来了(present)BVC。...
2022-08-03 14:22:19
1585
原创 炎炎夏日教你利用小米智能家居配件+树莓派4接入Apple HomeKit
AppleHomeKit智能家居方案,是苹果2016年在WWDC大会上提出来的,至今已经6个年头。在国内一直是不温不火的状态,除了有小米智能家居的米家方案等一大堆国内厂商跟进外,苹果特有的“贵”也是其阻碍因素之一,一个智能插座或者空调伴侣动辄几百块的价格吓退了不少果粉(包括我)。另外小米的智能家居也是支持HomeKit(需要单独购买HomeKit的网关),以下则是如何不购买额外HomeKit网关前提下,利用树莓派实现AppleHomeKit智能家居方案。......
2022-08-01 18:19:13
2706
原创 iOS原生混编Flutter路由指南及解决Flutter首页闪白屏问题
iOS原生项目混编Flutter路由指南以及解决Flutter充当首页闪白屏问题。
2022-07-30 19:01:20
2129
3
原创 我用Flutter Deskstop做了一个Mars Xlog日志解析工具
Xlog日志接入了之后,我们要对它进行解析,如果不解析那就是一堆加密的二进制数据。此工具采用Flutter编写,,内置解码库无需python环境就可以直接解析xlog日志文件。
2022-07-21 10:41:28
1599
原创 2022腾讯Mars Xlog日志系统集成指南-iOS篇
Mars是微信官方的跨平台跨业务的终端基础组件,基于C++语言开发,可支持Android、iOS、Mac、Windows 平台。本篇主要介绍iOS下集成mars 的 xlog日志系统指南。
2022-07-20 10:10:26
2209
1
原创 支持SwiftUI!Swift版图片&视频浏览器-JFHeroBrowser上线啦
iOS下类似的图片浏览器已经开源了不少。但是作为一个六七年的老iOS开发者,还是忍不住撸了一个Swift版的图片浏览组件。偏向更Swifty的方式,如果你想深入学习Swift,我相信你会有不同的体验。
2022-07-20 09:51:19
807
原创 file_drag_and_drop一个Flutter桌面版拖动复制文件插件开源啦
前言我的上一篇文章教你实战Flutter Deskstop之Tinypng(熊猫图片压缩)GUI工具基于Flutter Deskstop 实现初版的图片压缩功能,可以支持macOS、以及windows。但是美中不足的是,macOS下依然要点击选择文件去压缩,而不是像Finder一样随意拖动文件。在文末我也是立了Flag要支持,经过一周时间的调研,顺利实现并且开源了此插件file_drag_and_drop。目前仅支持macOS,由于此功能非常依赖原生桌面,我对Windows Visual Studio编程
2022-01-14 12:32:53
2418
原创 教你实战Flutter Deskstop之Tinypng(熊猫图片压缩)GUI工具
前言Tinypng是一个在设计和技术界十分流行的图片压缩网站,但是它只有网页版,没有GUI。幸好的是它支持通过apikey直接运行api接口压缩图片,虽然业内已经有很多版本的GUI,Window,Mac都有,但是这几天学习Flutter Deskstop,正好可以用来实战。目前的版本只打包了macos版本,window版本我有空找个机子再调试下,理论上无需太多改动。代码过程实现选择文件选择文件这块的实现,由于我本身是做iOS开发的,macOS原生开发其实也大同小异,但是为了兼容多端,我也懒得一个个写
2022-01-07 19:30:19
2991
1
原创 聊聊iOS实现渐变色文本以及可能你不知道的细节
前言前段时间工作中,产品给了一个实现渐变色文本,并且是放到富文本里面的需求。插入到富文本这里先不说,无非就是生成这个渐变Label的一张Image插入到富文本。相信大家第一时间可能会去度娘寻求答案,并且马上就能搜索出答案。这里我们来聊聊几种方案的实现,以及产生的问题。方案一基于CAGradientLayer做一个mask,核心代码大概如下。 override func layoutSubviews() { super.layoutSubviews() guard le
2022-01-03 13:25:44
1709
原创 用吃灰中的iPad编译SwiftUI应用初体验
前言前几天不久,一直在家吃灰的iPad Pro,系统更新到了iOS 15.2,Swift Playgrounds提示 升级到4.0之后可以直接在iPad上使用SwiftUI构建 iPhone Or iPad应用。第一时间就想体验一下这个功能,首先多人协作肯定是不行的,因为暂时没有git协作的说法。那我从个人开发者的角度来使用一下,究竟iPad能不能开发一个能用于上架的iOS App。创建第一个iPad SwiftUI应用[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-n.
2021-12-28 13:54:02
1811
原创 初识Flutter之VS Code 的基本使用
Flutter编辑器 Visual Studio Code 基本使用前言:为什么笔记强烈推荐VS Code,而非传统的Android Studio。虽然两者都有强大的插件库以及可视化操作界面的支持。但经过我实际使用来说(我是一名Xcoder,此前并未常用这两者编辑器)。Android Studio给我的感觉就是太重了(包太大,不包括android SDK就已经1.3个G了),而我用VS Code只有几十M的安装包。然后就是代码风格外观,一用到VS Code第一眼就把我惊艳了,而Android
2021-12-14 18:20:59
2754
原创 初识Flutter之入门前的准备
Flutter 入门前的准备一.前言1. Flutter的前世今生Flutter是谷歌发行的一款移动UI框架,可以快速在iOS和Android上构建高质量的原生界面,而且Fluuer同样也支持与现有的项目进行混编。Flutter采用Dart语言编写,1.0版本于2018年12月5日(北京时间)发布。2. 学习Flutter你需要掌握的知识Flutter是基于Dart编写的,所以编写第一个Flutter应用之前,你需要了解一下Dart语言的语言基础。mac 上通过 brew install dart
2021-12-14 18:19:13
1347
原创 树莓派4+普通机械硬盘+Netatalk搭建家用Nas+苹果TimeMachine
前言Linux+Netatalk 是很多家用路由器提供 Mac TimeMainche云备份的实现方案。本次楼主用的是树莓派4的官方系统也是基于 Debian 的 Linux 系统。树莓派4的强大地方在于,全新Typce C供电(意味着更大的输入电流(官方的是5V 2.5A)意味着不需要额外供电即可挂载移动硬盘成为可能);USB 3.0接口 + 千兆网口,意味着传输数据带宽不再成为瓶颈。经过测试,搭建Nas完成后,传输大文件基本能达到80M+速度,这个速度已经基本能跑满普通移动机械硬盘的写入速度了;另外由
2021-12-14 18:17:10
4834
原创 DragAndDropKit-iOS15下一行代码集成跨应用间拖拽传递数据
DragAndDropKit-iOS15下一行代码集成跨应用间拖拽传递数据。Swift编写、支持命名空间、链式语法。
2021-12-14 16:14:16
1338
原创 撸一个优雅的Flutter验证码Widget
撸一个优雅的Flutter验证码Widget前言Flutter自带TextField组件无法满足现在主流UI的验证码界面的要求(特别是4,6位纯数字的验证码组件),即使是在iOS下原生的实现方案也是多采用自定义UIView的方式实现。本文作者曾经尝试改进Flutter自带的TextField想实现此界面多存在如下问题。采用1个自带的TextField,通过计算Cursor光标的位移实现,最终发现一些问题,比如在安卓和iOS下位移不统一(有可能是字体不统一影响到),特别是Cursor的高度没有暴露属
2021-10-14 12:11:53
947
原创 撸一个Flutter Apple Id登录插件
撸一个Flutter Apple Id登录插件前言Flutter Apple Sign In相关插件pub搜了一下还是蛮多的,但是还是忍不住要再撸一个,顺便可以再熟悉下flutter plugin和 platform view 的用法(调用系统的苹果登录按钮需要用到),这个自定义button widget,调用方法拿回调则不用,区别只是在于UI。下载地址pub方式:dependencies: sign_in_apple: ^0.0.1github:https://github.com/J
2021-10-14 12:10:42
761
原创 iOS15之Swift5.5 Concurrency 并发编程初探
iOS15之Swift5.5 Concurrency 并发编程初探前言在Swift5.5以前或Object-C时代iOS开发要实现并发代码,一般要自己使用多线程,如DispatchGroup,DispatchSemaphore等等,且都是命令式代码,并不能使用诸如await等响应式代码的方式,异步转同步直观的获取异步资源。Swift5.5 Concurrency就解决了这个问题,我认为这是一个非常棒的设计,虽然其他语言老早就有类似的语法,但不得不再赞一次。但是令人遗憾的是,Swift5.5 Concur
2021-10-14 11:37:56
1897
1
原创 开源一个优雅的iOS-Swift弹窗组件-JFPopup
开源一个优雅的iOS-Swift弹窗组件-JFPopup前言下载地址Usage快速模式DialogDrawerBottomsheet通用组件VC模式创建前言受Flutter bottomSheet,drawer,dialog, 响应式布局的启发。也有基于Swift编写一套通用的弹窗组件的想法,所以写了JFPoup组件,带有3种弹窗风格,分别是drawer(抽屉式),bottomSheet(底部往上弹出UIView容器),dialog(对话框,也就是Alert),都能弹出自定义的UIView容器。基于Sw
2021-10-14 11:31:13
1115
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人