iBooks 数据库设计分析

很久以前还吐槽过 iBooks 的数据库表设计特别鬼畜,实际上后来我发现我错了。为什么错了呢?但是我为了研究如何自定义 iBooks 丛书集的时候[1],用 SQLite 的方式打开的数据库文件,导致我看到了一堆大写字母拼写成的数据项名字。而实际上正确的打开方式是用 Xcode 的 Core Data 组件打开。 获取数据库 Schema 我们可以通过「显示包内容」的方式进入到 iBooks 软件的内部文件夹, »

Sparkle 常规使用姿势

Maria 在最近终于添加上了自动更新的功能,之前有想过加这个功能,但是当进入 Sparkle 官网看到密密麻麻的文档和需要手动签证书什么的字眼,懒癌突然发作。 寒假一天闲着总算是把这个功能添加上了。总的来讲,添加这个功能非常的简单,但前提是你使用较新版本的 Xcode,第二前提是你有耐心仔细的看使用文档[1](这一点特别重要,不然你会犯一些特别弱智的错误)。 appcast.xml Sparkle 发布更新是通过 RSS 的方式来做的。Sparkle 自定义了一套专用的 xml 格式, »

Maria 开发记录 II

Maria 是为 aria2 这款命令行下载软件定制的 Native App,开发 Maria 本身是不用写下载核心代码的。 这个项目最初创建于4月份,至今已经有6个月了,从最初的一个 Today Widget 发展到现在已经快要接近于完整的 macOS 应用了,(但是在我眼里还是不算完整应用,因为下载核心需要依赖 aria2 项目,而缺乏自己的下载核心程序),之前也写过一篇文章简单讲了一下这个程序的编写过程。最近的几次更新主要是对 aria2 的深度集成, »

Swift: 从入门到重学?

当时 Swift 才出来的时候就去体验过了这门新语言,也写过一篇文章介绍这门语言,而现在 Swift 3.0 发布,我决定重写这篇文章,你可以看到,前后两次我对这门语言的理解是有很大不同了。 同时这也说明了一个道理,如果你没有花一定的时间精力去认真体会一门语言,你是根本没有权利去评判一门语言的好坏的。 有很多人说,这 Swift 一年一个语法版本大更新,垃圾语言,在我看来不过是人云亦云的跟风狗罢了。 关于 Swift 我打算分成两部分讲: 第一部分是语言部分,主要是这门编程语言的语法, »

Maria 开发记录

Maria 是为 aria2 这款命令行下载软件定制的 Native App,开发 Maria 本身是不用写下载核心代码的。 这篇文章主要目的是分享我在开发过程中的一些经验以及遇到的一些坑,顺便期望着有人能快速看懂我的代码提出意见。 Aria2 我们先来说一下 Aria2 是什么。Aria2 是一款命令行下载软件,你可以在终端输入简单命令直接下载文件,而不用再非常麻烦的打开其他下载工具了。~~(其实我觉得一点也不麻烦)~~比如快速下载某个文件: $ aria2c "https://moeoverflow.com/ »