NSAssert与dispatch_once

相信大家公司的代码中多多少少存在一些断言(例如NSAssert)。一种常见的断言场景是:SDK的开发者为了避免SDK的初始化方法与功能接口,会在功能接口中判断是否已经初始化,否则就触发断言。当然还有各种各样其他场景。 ...
tips

lldb快速打印Objective-C方法中block参数的签名

iOS逆向时经常会遇到参数为block类型,本文介绍一个lldb script,可快速打印出Objective-C方法中block参数的类型。 ...
lldb

dirtrace - 终极文件夹内容占比查看工具

背景 经常有分析一个文件夹内文件占用大小的需求(例如分析移动App的安装包大小),一直以来 GrandPerspective 基本满足了这个需求,但使用时时常希望能看到文件夹的父子关系,FolderSizeView 解决了这个需求。 然而,FolderSizeView的性能太差,文件夹内容太多时(比如分析下Xcode.app中的文件大小)就扛不住了。其实FolderSizeView发布后就陆陆续续有人反馈文件内容太多分析不出结果,交流后发现大家竟然拿FolderSizeView与一些硬盘分析工具做对比,由于设计初衷只是分析App安装包,解决了我个人的需求,因此我也就不想投入时间优化了。 然而…… ...
工具

远程输入法新版发布,用浏览器给手机打字

感谢: 少数派:「远程输入法」新版发布,用浏览器给手机打字 异次元: 远程输入法 - 用电脑键盘给手机打字的创意效率应用!省蓝牙键盘钱了 最美应用: 这款 APP 终于解决了困扰我这么多年的麻烦 虚拟框架:远程输入法发布啦,用电脑给手机打字 小众软件:这个脑洞有点大:远程输入法,用电脑给手机打字 还有感谢「PriceTag」等媒体的宣传。 远程输入法 是一个输入法应用,可以实现使用电脑给手机打字,让手机打字更快。使用远程输入法时,手机端会显示一个网址,在电脑浏览器中访问这个网址,即可开始输入。浏览器中输入的文字发送到手机,从而实现电脑给手机打字。 手机端支持iOS和Android,电脑上只要有浏览器即可(也就支持macOS/Windows/Linux三个平台了)。 远程输入法在英文系统显示为 Remoboard,即含义为 Remote Keyboard。 ...
产品

远程输入法发布啦,用电脑给手机打字

当前文章有点儿过时,可以看新文章 远程输入法新版发布,用浏览器给手机打字 远程输入法 (Remote Keyboard 或 Remoboard )是一个输入法应用,可以实现使用电脑给手机打字。它包含电脑端和手机端两部分,输入时,电脑端先通过IP地址或者蓝牙连接手机端,然后在电脑端的应用中打字,文字会被发送到手机端,手机端的输入法完成模拟输入。 简单来说,这样「打字更快」。手机端支持iOS和Android,电脑端支持macOS和Windows。 ...
产品

启动速度优化之MachO二进制文件重排

Improving iOS Startup Performance with Binary Layout Optimizations 这里为了归档。 ...
优化

FolderSizeView 更好用一点的TreeMap展示文件夹内容的工具

FolderSizeView可以使用TreeMap方式展示一个文件夹内文件大小的占比情况。 背景 经常有分析一个文件夹内文件占用大小的需求(例如分析移动App的安装包大小),一直以来 GrandPerspective 基本满足了这个需求,但使用时时常希望能看到文件夹的父子关系,FolderSizeView就解决了这个小需求。 ...
工具

温馨提示-这是一款可以提醒你喝万能热水的应用

文章就写这里了哈 ...
工具

探索 Availability Checking 内部实现

这篇文章我们一步一步探索@avaliable的本质。 WWDC 2017: What’s New in LLVM 中苹果介绍了一种新的API可用性检查方法,使用@avaliable等类似的语法。详细可见这篇文档 Marking API Availability in Objective-C ...
原理

剪贴板输入法,让朋友圈文字不再被折叠

剪贴板输入法现已转让,详见:https://mp.weixin.qq.com/s/0dqe4Rj_pUGXwzRUKsj7iQ 剪贴板输入法(Paste Keyboard),用于解决微信朋友圈粘贴大量文本时被自动折叠为一行的问题。使用剪贴板输入法,可以让朋友圈文字不再被折叠。 ...
工具