分类
Swift

iOS 正确设置 status bar style 颜色

在开发 iOS App 时,很多应用都要根据当前 App 内容颜色来设置 iOS 系统状态栏 的配色,黑色或者白色——尤其是在 iOS 13 系统支持了黑色模式后。

通常,别人会告诉你这么做:

但这会触发警告:[crayon[……]

点击跳转以继续阅读

分类
Python Swift

Swift Python 互通 Json 数据签名

最近很流行自签证书进行 HTTPS 解密,然后就有不少人通过修改苹果的内购回执实现对 App 的破解。实际上验证购买应该是 App 连接服务器,服务器来和苹果的服务器进行通信,然后将结果发送给 App 的——但不少开发者(包括个人开发者以及企业开发者)懒得去专门维护服务器,所以直接用 App 和苹果[……]

点击跳转以继续阅读

分类
Swift

Swift Debug EXC_BAD_ACCESS in AppDelegate

 

不少人在开发中都会遇到 EXC_BAD_ACCESS ,很遗憾,这一次 Xcode 不会给出任何详细的解决方案。

通常来说,这是由于内存错误造成的。简单来说就是你创建了对象 A,但在后来访问的时候,内存里 A 这块区域已经被系统挪做他用了,比如放了对象 B 在这里——你的[……]

点击跳转以继续阅读

分类
Swift

Swift 使用 strftime 快速格式化时间和日期

处理时间和日期是软件开发中很常见的操作,几乎所有的编程语言都提供了对应的 API 来方便开发者对时间日期进行处理,Swift 也不例外,比如 DateFormatter ,使用它你可以将任意 Date

点击跳转以继续阅读

分类
Swift

String.count vs NSString.length

通常来讲,Swift 里的 String  是和 NSString  桥接的,比如我曾写过 NSString 和 String 究竟 有什么区别 ?,总之这里我们主要来讨论一下,String[……]

点击跳转以继续阅读

分类
Swift 落格输入法

落格输入法是如何处理按键消息的

要做一款移动设备上的软键盘,那么怎么处理用户的点击位置,就是你遇到的第一个难题,在这个问题上,我也走了很长的路。

我把落格输入法开发以来的触控逻辑大致分类为三个阶段,现在分别来讲讲设计思路,希望能够对你有所帮助。

第一代触控引擎

显然,对于一个初学者来说,没什么比系统控件更好用的了,功能全[……]

点击跳转以继续阅读

分类
Swift

让 iOS macOS 中文字体实现视觉垂直居中

在开发落格输入法 macOS 的时候,我遇到了一个比较奇葩的问题,这个问题一直困扰我到现在——当有些地方需要垂直居中显示一排文字的时候,如何让这些字真正的“居中”?

 

乍看之下这似乎没什么道理,垂直居中嘛……等等,macOS 上的 [crayon-5f706446731ae6[……]

点击跳转以继续阅读

分类
Swift

Swift 里的数组去重方案

在使用 Swift 进行开发落格输入法时,我遇到了一个很有意思的问题——去重

众所周知,输入法的候选在计算出来后总会有可能是重复的选项(比如码表和词库中都有某个词,也许他们编码不同,但字是一样的之类),这时候就需要去重,但又要保持候选的先后顺序不变。

别人的解决方案

如果你去网上找,那么[……]

点击跳转以继续阅读

分类
Mac OS Swift

落格输入法 macOS 2 是如何为 VoiceOver 进行优化的

在两年前,我曾写过一篇名为《ios 为视障用户支持 VoiceOver》的文章,里边主要介绍了 iOS 端该如何为 VoiceOver 进行必要的支持,后来我又开发了 macOS 端的落格输入法,但很遗憾由于 macOS 自身系统 bug,第三方输入法根本无法获得 VoiceOver 焦点(主要是[……]

点击跳转以继续阅读