• 25
  • Mar

iOS 自 7.x 某个版本以后,存在一个 Push/Pop ViewController 时右上角会有奇怪黑影冒出的问题。

这个问题由来已久,直到昨天有个朋友向我反应时我才重新注意起来。我以为这是 iOS 的 Bug,无法解决,但后来另一个朋友提供了一个解决方案,我才发现这是可以解决的,于是决定写篇文章记录下。

Read More...

  • 23
  • Mar

奇点 1.1 发布后半个月,很快 1.2 版本也来了。这个版本终于有了一个全新的 Logo,替换了之前大家吐槽颇多的那个 Logo,同时继续保持奇点的进化方式:带来一个「快速回复」功能。我相信你一定用的上这个功能。

在这个版本我尝试了一种新的发布方式,特别录制了一个宣传视频,假如您没耐心看文字,请看这 1 分钟时长的视频:优酷链接YouTube 链接

或者继续阅读

Read More...

  • 21
  • Mar

这是一篇我针对移动互联网生活切身体验后的一篇观察文,时间跨度一年有余,从 2014 年 2 月 15 日至今天。这是移动互联网影响了我生活的一部分,从中我也有了很多思考,因而觉得有必要记录一下。

让我先回到 2014 年 2 月 15 日吧。

Read More...

  • 8
  • Mar

继 2 月 11 日奇点 1.0 版本正式亮相以后,奇点 1.1 版本在一个月后顺利来临了。这个版本主要增加了表情的显示和输入的支持,补上了上个版本缺失的一个重要基本功能。大家可以安装或从 App Store 更新:https://itunes.apple.com/app/id947792507

此外还有其他一些更新,请看详情:

Read More...

  • 28
  • Feb

很高兴在二月的最后一天迎来了我的第二款 iOS 作品——番茄钟的正式发布。

是的,它的名字就叫「番茄钟」,它也确实是一款纯粹的番茄钟。希望通过它的帮助,你能更好的把握时间,做事更有效率。

立即前往 App Store 查看,或者继续阅读后文。

Read More...

  • 11
  • Feb

正如标题所述,最近我开发的第三方微博客户端的名字就是:奇点(Jī Diǎn),即 Singularity。现在它的 1.0 版本已经通过审核,正式上架!

Read More...

  • 3
  • Feb

今天在回顾公司项目的一个 Crash 报告时,突然想明白它是怎么发生的了。这个问题隐藏在复杂设计的背后,不容易发现,但理清楚以后却又这么简单,这让我直接有了感悟:不要做复杂的设计,同时对底层机制要保持清楚的认识。

让我简单的来描述下这个 Crash 的来龙去脉吧。

Read More...

  • 1
  • Feb

今天 App 遇到了一个奇怪的问题,对 Swift 还没到 Production 质量才有了深刻的体会。于是决定记录一下这个问题的来龙去脉,希望不久以后回头再看这个问题的时候,Swift 已经有了很大改善。

Read More...

  • 30
  • Jan

这周我的 App 的 0.9 版本已经审核通过了,我也在今天提交了 1.0 版本上去,目前为止看起来一切还是蛮顺利的。

由于 0.9 版本只是试水版本,1.0 才是正式版本,这个版本我做了一些专门为「Release」的一些改动,其中一点就是关于错误报告还有 Logging 的处理。简单的说,在开发过程中,我们可以用 NSLog 肆无忌惮地向终端输出各种信息,但是正式版本可不能这样了,不然用户手机的 Console 会被你的 Log 塞满,不仅影响性能,可能还会暴露不必要的一些开发信息。

那么,如何在 Swift 项目里正确地设置 Logging 呢?以下我以 Crashlytics 为例,当然,用其他工具甚至不用第三方工具也是可以的。

Read More...

  • 23
  • Jan

近来在用 Swift 开发 App 的过程中,最大的心得就是:我开始渐渐用「Swift 思维」来思考了。回顾刚开始我用 Swift 时,只是套用它的语法而已,脑子里依然是 Objective-C 思维。

这段时间,随着对 Swift 基本特性的掌握,我开始有意识地学习并尝试一些 Swift 才有的特性,此谓「Swift 思维」。Swift 有很多专有(Objective-C 没有的)的模式,今天我就从一个很简单的例子讲起,那就是:

如何用 Swift 思维设计网络请求。

Read More...

  • 12
  • Jan

最近在用 Swift 开发的过程中,又碰到了一个问题。简单的说,系统在该返回非 nil 值的地方返回了一个异常指针(即指向 0x0000 地址,产生 KERN_INVALID_ADDRESS 异常)造成了 App 的 crash,算是 iOS UIKit 的一个 Bug。

这个问题需要 SDK 的升级来解决,但是在 SDK 升级之前,我们可以通过一个小小的 Workaround 去解决。来龙去脉是这样的:

Read More...

  • 11
  • Jan

注:创造,即不分大小地把一件事物从「无」变「有」的过程。

前几天和朋友聊起,我的年终总结大篇应该要放在过春节的时候写,一来中国年也是年,二来最近给自己订了一个目标,就是过年前发布我那款命运坎坷的微博客户端,好填补过去一年没有创造新事物的空缺。

是啊,我都羞于去读我的那篇《2013 年个人总结》了,特别是看到 2014 年的目标是「三个 App」那一行…尽管过去的一年确实参与过三个以上的 App,但是符合「创造」的却为零。因而我对自己过去的一年非常不满。

但是最近,这一目标渐渐接近了,也就是说,春节过年写 2014 年终总结里会有个值得一提的事了,至少,这段时间,我是重新开始享受创造的乐趣了…

Read More...