Colors: Mac 开发颜色辅助利器

Colors 是一个简单的颜色取色器,简单的有可能你都没有听说过它,虽然它对于平面设计师以及 Web 设计师不太看中,但它可是程序员中的一个实用利器,为什么这样说呢,看下面截图,除了基本的颜色取值外,还包括了 Mac 和 iOS(iPhone/iPad)对于类的取值。

等等,你说的不对,我下载了发现并没有 UIColor 的值,坑爹这不是,哈哈,非也,这个应用的最大好处在于可以自定义输出值。默认程序并没有 UIColor 这值。其实添加也很简单,在设置里(Command+逗号),添加一个名为 UIColor 的选项,其中只需要设置 GRB 的输出值和 Alpha 一样即可(Short Decimal over 1),输出格式使用 UIColor 的 RGBA 格式:

[UIColor colorWithRed:%r green:%g blue:%b alpha:%a]

后来发现这个应用是开源项目,且最后更新时间为 2009 年,难怪没有 UIColor 的输出值,有兴趣的朋友可以 Fork :https://github.com/13bold/Colors

为 ShareKit 增加国内相关微博/SNS 服务

在 iDev 圈内,众所周知 ShareKit 是一个家喻户晓的分享框架,很多人都在问哪有支持国内相关微博/SNS 服务(比如,新浪微博,腾讯微博,豆瓣,开心网,校内等)的类似框架或者谁去做贡献,造福那些拿来主义的人类。正好碰巧我刚刚接触 iOS 开发不久,为了验证文章开头的那段话,恰巧我开发的应用也需要设计这块的内容,我就只好啃下了这块“硬面包”,实际上在熟悉整个 ShareKit 的代码后,外加上对于 OAuth 协议又非常的了解,做一个扩展还是很轻松的,虽然我对 Objective-C 代码并不是很熟悉,这一切得益于 ShareKit。

ShareKit 在整体上,代码写的比较完美,对于新增的服务可以轻松实现,而且另外最最大的一个好处在于国内的这些服务实际上都是 Copy to China,这有大大减少了移植的开发量,比较恶心的事,国内为了证明我们的结构和功能不同于原版,对其有做了细微的调整,这就导致使用标准化的协议不能通过,这对于只是想用的人来说就是一种灾难。

天下事有难易乎?为之,则难者亦易矣;不为,则易者亦难矣。人之为学有难易乎?学之,则难者亦易矣;不学,则易者亦难矣。

上面是从 V2EX 某帖子挖出来的一个评论,实际上这段文字大家在学校的时候应该并不陌生,随后又看到了《凭什么是我们》这篇文章,更是印证了上面这段话。

为什么我要说上面这段和标题并不沾边的文字呢,实际上现在要发布的日志本来在我看来是非常没有必要的,因为这个项目我已经在 git 上面 fork 并贡献了关于国内相关微博/SNS 服务的代码,我以为大家可以通过搜索引擎搜索到,可想还是有人来问我,那好吧,为了减少询问我的次数,以及这篇日志的 SEO,我还是写下了这个日志。

Github 项目地址:https://github.com/icyleaf/ShareKit

衷心希望这个 fork 的代码对热情开发的人有所帮助!

如何在开发和发布环境使用 Android Map Key

在项目中第一次使用并涉及 Google Map 的功能,而由于 Google 的限制,Google Map 模块出来需要单独下载模块之外,对于每一个应用还都必须具有一个 Google Map Key,这点和使用 Web 开发调用 Google Map API 是一致的。

对于 Android 采用的 Google Map Key 来说,是由一串 MD5 值(类似这样:94:1E:43:49:87:73:BB:E6:A6:88:D7:20:F1:8E:B5:98)生成的。那么这个 MD5 是哪来的呢?

1. 开发环境的 Google Map Key

这个比较简单,网上大面积教程所采用的 android 系统默认带有一个 debug.keystore。假如开发使用 Eclipse,在其 windows -> Preference -> Android -> Build 下,其中 Default debug keystore 的值便是 debug.keystore 的路径。

在命令行或者终端执行下面命令(注意指明 debug.keystore 的路径)即可获取到 MD5 值。

keytool -list -keystore debug.keystore

2. 发布环境的 Google Map Key

假如你的应用需要上线到官方的 Google Market 上面,则需要根据其 apk 的签名证书(keystore)的 MD5 值去生成,方法也很简单,发布的签名同样可以使用 Eclipse 的 Export 工具制作。制作完毕后(或许这个生成的签名没有 .keystore 后缀,不用在意)。同样也使用上面的命令获取其 MD5 值。

# 比如,证书路径 /home/icyleaf/android/ews
keytool -list -keystore /home/icyleaf/android/ews
...
#  查询到了 MD5 值
Certificate fingerprint (MD5): 94:1E:43:49:87:73:BB:E6:A6:88:D7:20:F1:8E:B5:98

使用其 MD5 值在 Sign Up for the Android Maps API 页面填写生成即可。

接下来的步骤就没什么了,又是搜索出千篇一律的教程,大家 Google 之。