漫长的 In Review 终于过了,爱糗事终于上线了。
爱糗事是一个糗事百科的 iOS 客户端,支持 iPhone 以及 iPad,详细介绍及截图请看这里
为了迁移项目 Git 仓库到 Mini Server 上,需要在 Snow Leopard Server 上配置一下 Gitosis,但是 Mac OS X 和 Linux 不太一样,有些地方需要特殊处理一下。
Gitosis 的安装就不多说,在参考文档2中有。
添加用户可以用参考文档1中的方法来创建,没有尝试直接用 OSX 的用户管理来创建是否可用。
# 这里的用户组和用户ID 用 401,但是实际用时需要根据服务器上的情况来创建
# 我在使用时 401 这个 gid 就已经被占用了,可以使用以下两个命令看看要用的
# ID 是否已经被用了。
sudo dscl . list /Users uid
sudo dscl . list
…在应用程序中,显示消息的时候一般都需要附带一个消息接收的时间,使用 NSDate 和 NSDateFormatter 即可完成格式化输出日期的任务,但是在使用时会比较麻烦,通过 Category 的方式来给 NSDate 类直接添加两个类方法来做这些事情会比较好,在以后需要格式化字符串时不需要每次都去创建一个 NSDateFormatter 对象。
对于解析日期时间也是同理。
@interface NSDate (FormatString)
- (NSString*)stringWithFormat:(NSString*)fmt;
+ (NSDate*)dateFromString:(NSString*)str withFormat:(NSString*)fmt;
@end
@implementation NSDate (FormatString)
- (NSString*)stringWithFormat:(NSString*)fmt {
static NSDateFormatter *fmtter;
if (fmtter == nil) {
fmtter = [[NSDateFormatter alloc] init];
}
if (fmt == nil || [fmt isEqualToString:@""]) {
fmt
…NSTextField 作为一个常用的输入控件,有些在使用时需要去限制其中可以输入文本的长度,而 NSTextField 本身并没有提供这个功能,这就需要我们自己去想办法来实现了。
在网上找了一下,发现可以通过继承 NSFormatter 实现一个子类来实现这个功能,参考了一下找到的代码[1],再将主要的 isPartialStringValid 方法根据自己的需要改了一下。
- (BOOL)isPartialStringValid:(NSString **)partialStringPtr
proposedSelectedRange:(NSRangePointer)proposedSelRangePtr
originalString:(NSString *)origString
originalSelectedRange:(NSRange)origSelRange
errorDescription:(NSString **)error
{
int size = [*partialStringPtr length];
if ( size maxLength ) {
if (origSelRange.location == [origString length]) {
// 如果修改的位置在原来字符串的最后,则不做修改,只是拒绝内容修改
} else {
// 如果修改的位置在原来字符串的中间,就根据剩余的可用的长度把新增加的字符串进行截取
int preLen =
…在上一个版本发布之后,过了两个月的时间,终于又有一个可以发布的版本了。
使用菜单中的“检查更新”既可完成更新,或者前往 Google Code 下载。
这次的更新如下:
这次主要修正了 iWangWang 在 Snow Leopard 下的兼容性,之前的开发环境是 Leopard,没能在 …
阅读全文 »
可以使用菜单“iWangWang》检查更新”来自动安装或访问下面这个地址来下载安装:
http://iwangwang.googlecode.com/files/iWangWang-v0.2.0.zip
这次更新的还有浏览器中旺旺图标点击聊天的脚本,修正了在淘宝宝贝详情页点击卖家旺旺图标出现乱码导致而无法聊天的bug
安装指南:
http://www.xujiwei.com/blog/iwangwang/use-iwangwang-in-browsers/
已经安装的用户可以只需要重新安装用户脚本,用户脚本地址:
https://iwangwang.googlecode.com/hg/wwprotocol.user.js
如果您有任何建议或意见,请发送邮件到 ohdarling88 # gmail dot com,谢谢:)
鉴于支付宝已经发布供 Safari 使用的安全登录控件,并且 Safari 可以自动调用关联程序来打开自定义协议,所有 Safari 下的点击旺旺图标打开 iWangWang 进行聊天比较容易实现,使用一个用户脚本就行。
要实现在 Safari 中点击旺旺图标进行聊天,步骤如下:
iWangWang 是一个在 Mac OS X 下使用的 Web 旺旺的客户端,使用 Mac 用户在淘宝购物时也可以方便地与卖家沟通,不需要每次打开 Web 旺旺,以及弥补 Web 旺旺不支持联系人列表及聊天记录的缺陷,并且目前只支持淘宝网帐号登录。
iWangWang 使用 REALbasic 编写,因为是基于 Web 旺旺的,所以 Web 旺旺不支持的功能 iWangWang 也没有实现,包括但不限于旺旺群、自定义表情、文件传送,并且和某一个联系人第一次聊天时,需要输入验证码。
注意:
如果有任何问题或建议,请联系 ohdarling88 # gmail dot com,或者点击菜单“文件》填写使用反馈”来填写反馈内容。
14:40 Update 更新下载链接,修正了接收带有自定义表情的消息时会导致程序崩溃的bug,如果已经下载,可以直接点击菜单“iWangWang > 检查更新”…
阅读全文 »
使用 REALbasic 写的一个 hosts 文件管理工具,可以快速方便的管理系统中的 hosts,支持 Mac OS X 与 Windows。
注:Vista 和 Win7 需要使用管理员权限运行。
如果有bug或建议,请发送邮件到 ohdarling88 # gmail dot com
下载:
之前为了注册一个自定义协议,需要通过注册 AppleEvent 来实现,在 Objective-C 中,可以很方便的使用 NSAppleEventManager 来注册 AppleEvent 句柄,但是在 REALbaisc 中,是没有办法直接去调用 NSAppleEventManager 的,所以需要通过声明然后调用 C API 来实现相应的功能。
与 NSAppleEventManager 中功能相对应的 C API 有 AEInstallEventHandler, NewAEEventHandlerUPP 等,通过这些 API 我们也可以在 REALbasic 中来注册 AppleEvent 了,再配合 Info.plist 中的 URLScheme 声明,即可实现 URL 自定义协议处理句柄。
#if TargetCarbon
soft declare function AEInstallEventHandler Lib CarbonLib ( _
theAEEventClass as Integer,
…
近期评论