Toggle navigation
Shown's blog
Home
About
Archive
Offline
Archive
Show All
82
Summary
35
Code
29
Design
15
Linter
11
Flutter
7
APM
6
Book
6
Module
6
Debug
5
Easter eggs
5
Improve
5
Knowledge
5
Repo
5
Note
4
Script
4
Tool
4
CICD
3
Objective-C
3
RxSwift
3
Storyboard
3
Swifter Tips
3
Texture
3
Toolchain
3
Algorithm
2
Functional Programming
2
Project
2
Crash
1
Lag
1
Launch
1
Memeory
1
Memory
1
Swift Macro
1
Test
1
2024
Swift Macro 实践,封装 OSLog
Xcode15后,debug控制台提供了非常有用的日志输入,其中包括了可直接定位到代码行的功能。本文的实践让我们自己的日志库可以实现类似的功能。
优化app启动
从启动框架到启动时长的优化治理的一些经验思考。
WebView 调试
页面重载机制
2023
卡顿、内存、wakeup监控 - 3
app异常退出,wakeup监控
卡顿、内存、wakeup监控 - 2
小全的内存监控
卡顿、内存、wakeup监控 - 1
拿来主义的卡顿监控
iOS全栈页面,无侵入页面开屏监控
优化build时长
优化过程中碰到的二进制问题,swift framework问题如何解决;一些最佳实践
iOS黑(灰)白化实现方案
一个简单的首页黑屏技术方案的研究
2022
iOS 应用的证书是怎么校验的
从重签名的改造中学到更多一点
iOS 应用内存调试与优化
内存增长类型,大对象,泄露,oom如何监控治理
Module的发展历史
代码构件引入的方式变迁,工程使用方式变化,针对swift混编的module处理。
Gitlab 一行配置
通过一行简单的配置即可接入CI
2021
从代码管理的角度看看Jira工具
咱们就是说,jira有啥好用的
Swift 的 Array 和 Dictionary 源码欣赏,和创建一个线程安全的 Array 和 Dictionary
Array 源码, 线程安全, Collection, ExpressibleByDictionaryLiteral, RangeReplaceableCollection 等协议
使用Swift编写脚本
oss 项目借鉴, 脚本生成代码, 脚本下载依赖, 脚本放到 /usr/bin..
归纳总结一下最近常用的命令行
Jekyll, Git, Convert mov to mp4, imagemagick, compression, HostName
在 M1 电脑上运行,调试项目和打包ipa
项目运行, xcframework, PackageApplication, 打包 ipa 给 M1
2020
在 M1 电脑上安装命令行
brew, Cocoapods...
Stroyboard Tips
约束优先级(键盘处理), Content 适应, StackView, ScrollView, Table-Cell, Segue, Container View
记录一次 WebView 迁移的过程
协议制定, Storybaord 修改, 类修改
Xcode update
UIButton, XCFramework
Apple App Site Association
博客发布模拟, 多应用共用
Terminal
FileMode, Mov->Mp4, Image compression and convert...
Swift 中的锁和线程安全
再次认识一下各种锁, 线程理解, 场景解析
那些年写过的 Demo +~
内存测试, DispatchSemaphore, Enum, String
那些年写过的 Demo~
Animaiton, Storyboard, Framework, Quene, Leak...
BaseUI
关于 Theme 动态切换的一些研究
2019
AutoFill
Password, Name, Phone, Address, Email, 2FACode ...
iWatch
介绍, 界面, Icon, 独立App
FeatureControl
权限管理
UI automated testing.
Frame, UIViewAutoresizing, NSLayoutAnchor, Flexbox, SwiftUI, FlutterUI, VFL
Router
方案比较, 新项目, 想法
多 Target 工程
配置, 资源 (图片, 字符串), Code, Build
Textview 相关
加载 html, 事件响应
重回 Layout
Frame, UIViewAutoresizing, NSLayoutAnchor, Flexbox, SwiftUI, FlutterUI, VFL
Textfield +
错误UI, 可输入字符, 最大字符, 正则匹配等
深度使用 HTML
图片缓存, 数据传输, UI适配等~
Swift 中 高级枚举使用,模式匹配
Swift GG 关于模式匹配的资料, 实践枚举和模式匹配的开发
Flutter 嵌入原生的一些坑
运行错误或者白屏
Swift 开发必备 tips 阅读笔记 三 最后一篇
Swift与开发环境及一些实践
Swift 开发必备 tips 阅读笔记 第二篇
从Objective-C/C到Swift
Flutter 技术分享 - 深入
State Manage 五大方案, 打包和自动化, 与原生项目互嵌
Flutter 技术分享 - 了解
跨平台开发方案介绍, Flutter, Dart, Widget, Stream
Flutter 《四》 项目
一个 flutter 项目的文件框架, 基于 bloc 页面设计, 模型代码
Flutter 《三》常用组件 & Week Video
官方 Widget 介绍, Week Video 特殊用途的 Widget
Flutter 《二》项目 Demo 运行,Dart 语言简单学习
列表, 页面跳转, 请求数据 Demo, Dart 语法
Flutter 《一》 安装和配置,QA
macOS 配置 Flutter 环境, 一些值得注意的 QA
Swift 开发必备 tips 阅读笔记 第一篇
Swift新元素
app 公共弹窗的控制
HUD, Alert, Sheet, 权限申请弹窗, 消息页面跳转等
华容道搜索算法实现
通用协议, 路径查询, 多叉树节点, 比特位的使用, 优化
2018
18系列-年度总结
18系列-博客总结
各种架构, 设计, 优化, 响应编程, 函数式, Codable, Reacnative, 编译速度, SSH, sh 命令, swiftlint, TestFlight
18系列-三方库,学习项目,开发工具
Rx, Texture等三方, 项目基础扩展必备, 一些好的项目总结, 开发工具总结
使用 Sourcery 进行模板编程(meta编程)
ObjectMapper 自动生成 model 解析代码, 为一些类生成相同的代码, 继续填坑
客户端的 动态界面 如何实现
动态组件化方案, Tangram, JASONETTE ?
项目中 Hybrid 部分的设计
交互方式选择, 通用 API, 基础&全面 API, cookie, scheme, itunes 白名单
LeetCode 上的算法题 (两数之和,链表数字相加,最长不重复子字符串,两个数组的中位数,最长回文字符串)
时间/空间 复杂度, 链表, 后缀二叉树, 中位数算法, 回文算法
RxSwift 的 MVVM 框架理解使用
适用于 RxSwift 的 各个框架, 常用框架的分析, “架构什么的都是浮云”
TableView 的终极优化:滑动,布局,事件,更新
图片和视图优化, 数据处理优化, 自动布局和异步加载 Texture (ASDK), 复杂 table 和人性化 UI, cell 事件哪里响应, 数据如何保证同步更新
客户端的外部调试:JS 调试,应用互调调试,抓包和代理调试
App web 调试, Other web 调试, Universal Links 和 App scheme 配置和测试, Charles https 抓包 和 代码中设置 https Proxy
Swift 函数式编程(2)
Swift 中的高阶函数探究和使用
Swift 函数式编程(1)
《函数式 Swift》书籍学习, 函数式编程介绍, 实现, 应用, NSMutableAttributeString 封装函数式
局域网/公网 发布ipa (类似蒲公英,fir 等)
借用 github存储 manifest.plist; Build/xx.app 脚本导出 ipa; 借用博客在局域网发布...
Swift组件化方案探究和实践(二)项目框架设计与标准制定
项目架构设计和组件化准备
Swift组件化方案探究和实践
介绍几大组件化方案, 使用 Target-Action 设计的的 CTMdeiator 拆分工程
RxSwift(响应式编程) 使用和项目优化
使用, 框架 (MVVM, Reactor), 生态, 内存泄露检查等
Swift基础中需要注意的点
列举了基础点, 重点介绍注意点
Swift中的 let,var,optional(可选值的)性能比较
测试性能
Texture(ASDK)自定义 Node 和 优化 Tab 框架
自定义 ASDisplayNode, 拆分复杂的 Node 为简单的 Node 组件等
Texture(ASDK)的理解和使用
主要是使用方面:包含详细的使用方法, UI 类 (ASTableCellNode, ASScollNode), 布局 (FlexBox布局), 优化 (ASImageNode, 对接本地 Kingfisher 图片下载) 等
Fastlane,App配置和部署的利器
fastlane是为iOS和Android应用程序自动执行beta部署和发布的最简单方法. 🚀它处理所有繁琐的任务, 例如生成屏幕截图, 处理代码签名和发布应用程序.
Swift项目多处调用分享的设计方案
使用协议清晰明了的设计分享
Swift项目中合适的打点方案
动态hook打点?重写控件?手动打点?
使用WebDriverAgent学习其他app布局,自动化测试
通过脚本化启动 WebDriverAgent, 使用ATX自动化测试, 自动微信跳一跳等
swift下封装转场动画,三方库解决方案
TabBar, 异形 NavigationBar, 特殊界面的跳转方案
通过swizzleMethod无痕处理NavItem的点击范围
方便的扩大按钮的点击范围, 将文件放入工程即可
iOS 的 Bug 分析和解决
IDE 调试, 测试设备崩溃日志, dsym 分析, apple crash report, 代码获取 crash 日志上传
项目优化-瘦身
图片, 库, 代码, 项目设置, 多方面优化项目
2017总结-iOS OC - 编码规范
2017系列
胡适1932年演讲-大学毕业后的几条路
2016系列
新的征程
吐故纳新, 继往开来