• 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...

  • 4
  • Jan

今年关于去年的回顾写的有点晚了,但是晚归晚,该写的还是要写的。既然已经迟了,就不能草草而作,我打算分几篇文章来写,每篇都有一个特定主题,比如「年度 App」、「年度书、影、音」,都可以单独作为一篇文章,最后再来一篇总结风多一点的汇总。

今天则是第一篇,我的年度 App。

Read More...

  • 23
  • Dec

最近在项目中偶然发现了一个问题,那就是 Swift 的 CoreData 在 32 位系统下与 64 位系统下表现不一致的问题。

简单的说:如果你的 CoreData 模型有一个声明为 Boolean 的 Attribute,并且在代码中使用 NSNumber 来包装(而不是 Bool)的话,很可能会遇到这个问题。

这个问题简述之则是这样:

Read More...

  • 19
  • Dec

半年前在第一时间接触 Swift,还参与过一次主题演讲(见《和 Swift 亲密接触的这半个月…》)不过很快这股新鲜劲过后就中断了。事隔几月,因为最近正在抓紧时间完成我的那个用 Swift 写的微博客户端,于是我又开始好好的学习和使用 Swift 了。

正所谓掌握一样技术最好的办法就是用它来做一个东西,于是这段时间的实战让我对 Swift 的理解更深了一层,也积累了一些使用技巧。今天就分享一则:如何正确地定义一个类变量(和类常量)。

Read More...

  • 26
  • Nov

在介绍这次版本更新前先说一个小故事。

上周 App Store 中国区引入了 1 元和 3 元的定价,然后我试验性地将 Manico 设置成了 1 元的价格,虽然只持续了半天,结果引来了大量用户的购买,然后连续占据了 Mac App Store 中国区收费排行榜第一的位置持续两天之久:

Read More...

  • 13
  • Nov

这是昨天的新闻,发在微博Twitter 上以后,今天我才回过神来,不写日志怎么行?140 字虽然足够概括 Manico 1.4.2 发布的事情,但是还有更多丰富的内容值得我来写。

于是,请看 Manico 1.4.2 发布背后的二三事。

Read More...

  • 23
  • Oct

OS X 10.10 Yosemite 已经发布一段时间了,但是一直没有空让 Manico 去兼容它。这段时间,我先是去广州工作了十天,然后上周又去了北京跑半程马拉松,算是了却了一庄心愿(见《记第 N 次恢复跑步(另:我的北马故事)》)。

接下来,要安定一下了,于是今天抽空去兼容了一下 Yosemite 的暗色菜单,发现还是蛮简单的。

Read More...

  • 4
  • Oct

十一假期,Apple 的工作人员也没有闲着(当然他们是不放假的),于是 Manico 1.4.1 审核通过并正式发布了,所以我也不能闲着,来写一篇正式的发布稿来谈谈这个版本的一些变化,同时展望一下未来的版本吧。

Read More...

  • 3
  • Oct

以后有技术方面收获或更新的时候,都写一篇「今日技术摘要」吧,为了纪录,也为了分享。

Read More...

  • 2
  • Oct

昨天我在微博上吐槽:iOS 8 / Xcode 6 真是史上对开发者最糟糕的版本了。收到很多朋友表达同感。

之所以这么说,倒不是针对 iOS 8 本身的特性来说的,相反,iOS 8 开放的那些扩展机制以及各种 Kit 对开发者来说是非常好。

我抱怨的是 Apple 最近对软件质量的控制不太好,上次发一个让手机不工作的 iOS 8.0.1 就不说了,iOS 8 / Xcode 6 本身充满了非常多的 Bug。Xcode 作为 IDE,提交 App 的时候还经常失败。比如前几天我提交 Manico 1.4.1 版本,Xcode 6 还直接失败,最后还用 Xcode 5 完成了提交。这让作为开发者的我们非常窝火。

除此之外,Apple 在 iOS 上的演进越来越激烈,为了推进新的系统特性,Apple 直接 break 了软件在升级后的向下兼容兼容特性,实在是让我吃惊。今天就谈两则最近遇到的吧。

Read More...