路由器 DIY,加装液晶屏

IMG_0684

嗯,这算是一个帖子引发的血案。之前在逛恩山的时候,看到一个帖子,《给tp-link wr941n增加一个液晶屏,散热片和USB口》,这就跨上了改造路由器的不归路。

先秀一下最终改造结果:

需要说明的是,改造路由器加装液晶屏,只能算是一个玩票的行为,实际意义不是特别大,成本相对路由器来说,也不低,所以只推荐喜欢折腾的人玩。

另外,这篇文章只介绍怎么去加装液晶屏,不涉及到加装 USB 口。

准备材料

要改造路由器,首先就需要去准备一个路由器,一般的路由器可不行。为了能在液晶屏是显示内容,需要有程序去控制液晶屏,而一般的路由器是不能运行自己的程序的,这就需要路由器可以刷机,可以刷 dd-wrt 或者 openwrt 等等的都可以。

我用的路由器是迅捷 fw300r,实惠,京东的价格在79左右浮动,比较便宜的另外一个好处就是折腾坏了不心疼,这篇文章的内容也是以 fw300r 为基础而写。我买的 fw300r 是 v2 版本,配置为 4M Flash 和 32M RAM。

加装液晶屏,再需要的当然就是液晶屏了。我这里选择的是 12864 液晶,分辨率是 128×64。

需要注意的是,一般买到的 12864 的接口都是并行或者SPI,并不能直接连接在路由器上使用。因此,在选购液晶的时候,要注意选择带 TTL 或者 UART 支持的,要不然还得加个单片机在路由器和液晶屏之间。如果是在淘宝上购买,可以找串口支持的 12864 液晶,但是特别注意,SPI 串口不是我们这里要用的串口,最好和卖家沟通之后再买。

液晶屏的电压也需要注意,路由器的 TTL 针脚一般也带电源输出,但是电压只有 3.3v,如果选购的液晶屏驱动电压是 5v 的话,那就需要安装额外的电源了。

液晶屏建议选择小屏,路由器本身体积不大,如果选择大屏的话,有可能装不下,要把液晶屏放在外面。

另外,路由器上需要加装 TTL 针,液晶屏一般也不带针脚,这就需要有电烙铁来焊针脚。如果不是买原厂的路由器,而是在淘宝上买那些已经被卖家改装过的,那很可能就是已经装了 TTL 针脚了。如果打算这个液晶屏就只在路由器上用了,也可以不用给液晶屏焊针脚,直接把线焊上去就行了。

如果路由器和液晶屏都有针脚,那就还需要杜邦线来连接,这个可以在买液晶屏的时候叫卖家送三根。

材料和成本清单:

  • 路由器 fw300r,79元
  • 12864 液晶屏,不同规格价格可能会在 45-60 元之间
  • 杜邦线,4根,0.8元不到,可以叫卖家送⋯⋯
  • 单排针,0.2元
  • 焊接设备,最初级的一套在 20 元左右
  • 如果要在电脑上测试的话,USB to TTL 是不可少的,12 元左右,要选择带有 3.3v 电源输出的
  • 如果可能的话,备一个万用表来测试插针是否焊接正确,以及从路由器输出的电压是否正确,一般 30 元左右

Read more »

我的数码生活 – 性能篇

我的数码生活 – 硬件篇 写了一些硬件的使用,这次写一下在使用过程中的设备性能表现。

这次测试的主要内容是 MacBook Pro,DS211j 以及 Maxtor Shared Storage 之间的传输速度,包括使用 LAN 和使用 WiFi 的情况。测试使用的文件是两个7G左右的视频文件,因为这次测试不能体现小文件的拷贝速度。

我的 DS211j 为了文件安全考虑,采用的是 RAID 1,而不是 RAID 0,因此在 NAS 这一端,性能瓶颈应该会在硬盘的传输速度上。DS211j 和 WZR-HP-G300NH 都是支持千兆LAN的,但是我不清楚我测试时使用的网线是否为超五类线,不过测试表现还不错。MSS 只有百兆LAN口与 WZR-HP-G300NH 相连。

另外,由于 MBP 和 WZR-HP-G300NH 在 802.11n 上的兼容性问题,实际连接速度只有 130M,而不是 802.11n 标称的 300M。因此使用 Windows 电脑来测试的时候,在 WiFi 传输速度测试时表现可能会更好。

测试数据是使用的 Synology DSM 的性能监测和 dd-wrt 的带宽监测。

使用 LAN 从 NAS 下载数据到 MBP

在从 DS211j 上下载 14G 数据到 MBP 时,速度基本可以稳定在 55MB/s 左右,而 DS211j 的 CPU 和内存占用都不算很高,CPU稳定在40%以下,而内存使用基本没有提高。

使用 LAN 从 MBP 上传数据到 NAS

在上传 14G 数据到 NAS 时,速度基本稳定在 33MB/s 左右。在写入数据时,可以看到 CPU 占用有明显提高,到了 60% 左右,内存占用还是比较稳定,没有增加很多。

使用 WiFi 从 MBP 上传数据到 NAS

这次测试是将一些软件备份到 NAS 上,同样是一些比较大的文件。从图中可以看到,速度稳定在 70Mbps 左右,换算一下是 9MB/s,虽然没有达到 130M 连接速度,不过还算能接受。

使用 WiFi 同时从 NAS 下载数据和上传数据到 NAS

如果同时上传和下载,整个速度表现就比较差了,上行和下行加起来都没有达到只有上行时的速度,因此如果在同时对 NAS 进行写入和读出操作可能不是个好动作。这一个操作没有测试使用 LAN 的情况,不知道使用 LAN 不会表现好一些。

使用 WiFi,同时从 MBP 上传到 NAS,和从 MSS 下载到 MBP

如果上传的目录和下载的来源不是同一个,表面上看起来性能会有所提高,使用无线上传到 NAS 有 54Mbps 的速度。至于从 MSS 下载只有 37Mbps,我觉得应该是和 MSS 本身的性能有关系,毕竟已经是淘汰的产品了。

实际应用时的表现

在实际使用时,连接网线总是一件比较麻烦的事,而我想要的是,回家连上无线网络后,Time Machine 就能自动帮我备份,因此平时都是使用 WiFi 网络进行 Time Machine 备份的。

因为是每天回家才备份,所以每次备份的内容会比每小时备份要大,一次备份大小大约在 3~5G,使用 WiFi 大概要一小时左右,应该处于可接受的范围。

小结

总的来说,DS211j 的性能还是不错的,基本上可以满足家庭存储的要求,如果对于备份速度要要求的话,可以选择有线备份,而不是无线。

当然,如果追求速度的话,可以将 DS211j 的磁盘用 RAID 0 来使用,性能应该会更上一台阶。

好了,性能测试就到这里了,其实平时使用过程中,还是感觉 MBP 本身更慢一些,NAS 和 MSS 反而不是很影响使用,毕竟存储只是存储而已,也许 SSD 和 8G 内存会让 MBP 更顺畅。

我的数码生活 – 硬件篇

一直以来都很向往数码化的家居生活,但在没有能力直接拿下现成方案的时候,就需要自己折腾了。自打搬出合租的地方,开始慢慢购买一些比较实用的网络设备,到现也买了不少,当然,也折腾掉了不少时间,现在也算是有个雏形,算个家庭的“云”么,哈~

这篇主要介绍我使用的硬件,至于软件方便,如果买的设备软件功能上已经足够完善,基本上是不需要怎么折腾的。折腾的话,基本上就是 Linux 的事了,这个下次再说。

上面就是现在使用的设备和大致网络拓扑结构了。

需求

一般说来,现在个人的需求也不是特别复杂,主要就是下载、影音和备份。

1. 下载

现在看电影啥的,动不动就720P,1080P,文件大小少则2G,多至蓝光原盘的20多G,例如,用2M ADSL的小水管来下载一个8G的视频文件,就需要近10个小时,电脑一整天开着下载比较不实际,而且也比较费电。

这个时候就需要下载机出场了,下载机的功率一般都只有10几瓦,加上硬盘,24小时都不到半度电,无疑比使用电脑下载合算许多。

2. 影音

我对电影或者音乐的需求并不是特别大,现在越来越多的是去电影院看电影,但是在折腾的时候,总归想把事情弄得完美一些,于是就顺带着把电影播放和音乐播放的东西也搞定。

3. 存储

可以说,我折腾这些的主要目的就是为了存储了。存储包括了存放一些软件、文档、代码等,还有 Time Machine 的备份。作为一个程序员,最怕的就是代码丢失了,因此这一块相对而言是投入最大的。

网络

虽然许多人说用无线有辐射,但是我还是觉得无线比较舒服,不用许多网线,而且移动来移动去也比较方便。并且现在的无线使用 802.11n,速度虽然不一定能到 300Mbps,但是达到 100Mbps 还是没有问题的,可以满足多数应用的需要。从一开始的图中也可以看到,我只有个别设备使用了网线连接,其他的都用无线。

路由器使用 WZR-HP-G300NH 是因为这是能找到可以刷 dd-wrt,而且有千兆LAN,外形又比较中意的机型了。虽然现在也有双频的型号,但是可能LAN就没有千兆了,不能两全。另外,WZR-HP-G300NH 也有一点不好,它使用的 802.11n Draft,并不是正式版,与 Mac 配合并不完美,MBP 连接后传输速率只有 130Mbps。

如果不需要 dd-wrt,不需要千兆LAN的话,还是有不少路由器可以选择的,并且 802.11n 正式版也已经出来了,适应性可能更好。

存储

存储这一块着实考虑了点时间,一开始也看上了 DS710+,但是价格实在有些高,不在接受范围之内,而且暂时也没有扩展的需求,所以它的 eSATA 扩展功能也不是特别实用。

在 Synology 的网站翻了好久之后,决定入手 DS211j,在我考虑的时候刚好发布没多久,要不估计还要再继续犹豫一段时间了。DS211j 是双盘位的,支持 RAID0,RAID1,对于我这样患得患失的人来说,RAID1是必需的了。

Synology 的软件也是要选 DS211j 的原因之一,之前看过同事用的 DSM 3.0,用起来非常舒服,功能也比较全,下载、Time Machine 备份支持都有了,Media Server 也有,基本上一个 DSM 可以涵盖大部分的需求。并且,Synology 有一系列配套的 iOS App,这对于 iPhone 用户来说是个好消息,可以使用 iOS App 来存取设备上的音乐、照片等。

而 DS211j 的配置,1.2G CPU,128M DDR2,服务全开都没有问题,目前我的机器上 Media Server、Squeezebox Server、文件共享等都运行着也才占用32%的内存。

如果有 RAID5 需求的话,可以考虑四盘位的 DS411j,这款好像也面世没多久,至少在我入 DS211j 的时候还没有看到。

至于为什么还有一个 MSS(Maxtor Shared Storage),那是因为之前就有一块硬盘闲置,而且 DS211j 也是后来才购置的,那时在寻找一个便宜好用的 NAS 时,就看中了 MSS,入了一个改装 128M 内存的 MSS。当然,MSS 早就停产了,现在购买的都是二手机器,在买之前要想好,如果预算足够的话,还是推荐购买 Synology 或者其他大厂的产品。

MSS 主要用来做下载,出于一种不必要的心态,就是想让 DS211j 做一个纯粹的备份机,不想让他去下载,于是 MSS 就变身为下载机了。这也是因为我入手 DS211j 之后手头上有两个 NAS 设备,才会将存储与下载功能分开。

Synology 的 DSM 自带 Download Station,支持 BT/HTTP/FTP/NZB/eMule 下载,而且界面也比较完善,推荐使用。

因为 MSS 放的硬盘只有 500G,经常不够用,刚好又有一个准备用来做备份盘的 WD MyBook 闲置,就用来把它作为 MSS 的扩展存储,主要用来放电影使用的,对于 1080P 的电影文件,USB 的传输速度也是足够的。

DSM 和 WD MyBook 都支持硬盘闲置一定时间后停止运行的功能,倒也不用太担心耗电会增加许多。

影音

音乐这一块,我入了一个 Joggler 用来作为网络音乐播放器,装上 SqueezePlayer,可以直接播放 DS211j 或者 MSS 的存放的音乐,并且也支持按艺人、专辑等方式来浏览。当然,DS211j 或者 MSS 上需要安装 Squeezebox Server 才能支持将音乐分享给 Joggler,Synology 官方已经提供了 Squeezebox Server 的模块供 DSM 3.0 使用,安装使用都很方便,而 MSS 就需要自己安装了。

SqueezePlayer 可以使用 iPhone 上的一款软件 iPeng 来控制,通过无线网络,在任何地方都可以控制 Joggler 播放的音乐是什么,如果把 Joggler 注册到 mysqueezebox.com,还可以直接在网页上控制 SqueezePlayer。

另外,Synology 也提供了 DS audio 来听 DS211j 上的音乐,远程也可以,不过现在 ADSL 的上行带宽都很小,手机的网络流量套餐也比较少,远程使用 iPhone 听家里的音乐不太现实。

通过启用 DS211j 的媒体服务器功能,iPod touch 和 iPad 都可以直接播放它上面的媒体文件。而且最近 XBMC for iOS 已经出来了,iPad 更可以直接当做一个媒体中心了。

至于 MacBook,可以使用 PLEX、XBMC 等软件来播放媒体服务器上电影。当然,也可以直接使用浏览共享文件夹的方式来播放电影,这就跟播放本地文件没什么区别了。

由于现在房间里的电视并不支持 HDMI,所以入一个 Apple TV 二代的愿望不是特别强烈,如果预算足够,而且家里电视支持 HDMI 和 1080P FullHD 的话,可以考虑一个 Apple TV 二代,在越狱后安装 XBMC for iOS 直接播放 NAS 上的媒体文件。

对比而言,Apple TV 的性价比也不是特别高,所以还有准备另外淘一款支持 WiFi 的高清播放机。

结语

硬件大致就是这些,因为是租房住,电视什么的也不是高级货,也就懒得弄播放机这些了。

在组建网络之前,也参考了 mobile01 上的一篇文章《佑桑的數位家庭 – 全網路化的音樂播放環境》,也是通过这篇文章才知道 Squeezebox 这个好东西的。

当然,在选择设备的时候,可能并不是性价比最高的,我对这一块也不是非常了解,只能说现在这些设备还算适合我。

如果你对自己折腾一个 NAS 更感兴趣,敬请期待下一篇。

爱糗事上线啦

漫长的 In Review 终于过了,爱糗事终于上线了。

爱糗事是一个糗事百科的 iOS 客户端,支持 iPhone 以及 iPad,详细介绍及截图请看这里

通过 iTunes 下载

Snow Leopard Server 上配置 Gitosis 笔记

为了迁移项目 Git 仓库到 Mini Server 上,需要在 Snow Leopard Server 上配置一下 Gitosis,但是 Mac OS X 和 Linux 不太一样,有些地方需要特殊处理一下。

安装 Gitosis

Gitosis 的安装就不多说,在参考文档2中有。

添加 Git 用户组及用户

添加用户可以用参考文档1中的方法来创建,没有尝试直接用 OSX 的用户管理来创建是否可用。

# 这里的用户组和用户ID 用 401,但是实际用时需要根据服务器上的情况来创建
# 我在使用时 401 这个 gid 就已经被占用了,可以使用以下两个命令看看要用的
# ID 是否已经被用了。
sudo dscl . list /Users uid
sudo dscl . list groups gid
 
# 创建用户组 git
sudo dscl . create groups/git
sudo dscl . create groups/git gid 401
 
# 创建用户 git
sudo dscl . create users/git
sudo dscl . create users/git uid 401
sudo dscl . create users/git NFSHomeDirectory /Users/git
sudo dscl . create users/git gid 401
sudo dscl . create users/git UserShell /bin/bash
sudo dscl . create users/git Password '*'
 
# 创建用户主目录,Git 仓库就要放在里面
sudo mkdir /Users/git
sudo chown git /Users/git
sudo chgrp git /Users/git
 
# 下面这一句是把 git 用户添加到可以使用 ssh 访问的用户组里面
# 如果不执行这句的话,git push 或者 git pull 等等的时候会出错
sudo dscl . -append /Groups/com.apple.access_ssh GroupMembership git

配置 Gitosis

这个在参考文档2中都有详细说明。

参考文档

  1. git hosting with Leopard, Ian White
  2. 权限管理器 Gitosis, Pro Git
  3. Adduser for Mac OS X = dscl + niutil + nicl, otaku ramblings

[Cocoa学习]格式化日期和解析日期字符串

在应用程序中,显示消息的时候一般都需要附带一个消息接收的时间,使用 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 = @"HH:mm:ss";
    }
 
    [fmtter setDateFormat:fmt];
 
    return [fmtter stringFromDate:self];
}
 
+ (NSDate*)dateFromString:(NSString*)str withFormat:(NSString*)fmt {
    static NSDateFormatter *fmtter;
 
    if (fmtter == nil) {
        fmtter = [[NSDateFormatter alloc] init];
    }
 
    if (fmt == nil || [fmt isEqualToString:@""]) {
        fmt = @"HH:mm:ss";
    }
 
    [fmtter setDateFormat:fmt];
 
    return [fmtter dateFromString:str];
}
 
@end

在这里,dataFromString 和 stringWithFormat 如果没有指定格式字符串参数的话,默认会使用 HH:mm:ss 来格式日期,当然,如果实际应用场景不一样,这里也可以修改。

如果需要更强大的功能,也可以去修改两个方法来符合自己的需要。

// 获取当前时间的字符串
NSString *now = [[NSDate date] stringWithFormat:@"HH:mm:ss"];
 
// 将一个字符串解析成 NSDate 对象
NSStirng *recvTime = @"2010-05-25 16:58:34 +0800";
NSDate  *recv = [NSDate dateFromString:recvTime withFormat:@"yyyy-MM-dd HH:mm:ss Z"];

使用 Category 给 NSDate 类添加这两个方法后,再要格式化日期或者解析日期时间字符串,就不需要额外去创建 NSDateFormatter 对象了,可以省不少力气。

参考资料

[Cocoa学习] 限制 NSTextField 中输入文本的长度

需求

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 = origSelRange.location + (maxLength - [origString length]) + origSelRange.length;
            *partialStringPtr = [NSString stringWithFormat:@"%@%@",
                                 [*partialStringPtr substringToIndex:preLen],
                                 [origString substringFromIndex:origSelRange.location+origSelRange.length]];
 
            (*proposedSelRangePtr).location = preLen;
        }
 
        return NO;
    }
    return YES;
}

参考资料

iWangWang v0.3.0 Released

在上一个版本发布之后,过了两个月的时间,终于又有一个可以发布的版本了。

使用菜单中的“检查更新”既可完成更新,或者前往 Google Code 下载。

这次的更新如下:

  • [FIX] 修正在 Snow Leopard 中无法在 Dock 上显示未读消息数目的bug
  • [FIX] 修正在网页中点击旺旺图标无法打开聊天窗口的bug
  • [FIX] 修正无法使用“指定发送”和“添加好友”功能的bug
  • [FIX] 修正表情选择框在一些情况下引起程序崩溃的bug
  • [FIX] 修正在聊天窗口中无法指定发送功能无法使用的bug
  • [FIX] 修正一些菜单无法在所有窗口中使用的bug
  • [NEW] 现在可以使用 Ctrl+N 同时运行多个 iWangWang 来实现同时登录多个淘宝帐号
  • [NEW] 现在如果聊天时消息发送失败,可以重新输入验证码
  • [NEW] 登录后会恢复上一次退出时主窗口的位置
  • [NEW] 表情选择框现在可以用 ESC 键关闭
  • [NOTE] 有bug可以在 http://code.google.com/p/iwangwang/issues/entry 提出

这次主要修正了 iWangWang 在 Snow Leopard 下的兼容性,之前的开发环境是 Leopard,没能在 Snow Leopard 中好好测试。

如果有问题请邮件至 ohdarling88 at gmail dot com,或在 http://code.google.com/p/iwangwang/issues/entry 填写问题表单。

Enjoy it.

Xu Jiwei

iWangWang for Mac v0.2.0 发布

iWangWang v0.2.0 更新日志

  • [NEW] 在 Dock 上显示未读消息的个数
  • [NEW] 在“窗口”菜单中显示已经打开聊天窗口的列表
  • [FIX] 修正即使没有勾选“记住密码”时复选框还是会被自动选中的bug
  • [FIX] 修正登录超时导致程序崩溃的bug
  • [FIX] 修正“指定发送”中发送给自己时,关闭消息框后无法继续输入用户名的bug
  • [FIX] 修正在升级时关闭窗口会导致程序崩溃的bug
  • [FIX] 更新旺旺图标聊天脚本,修正了在某些页面点击图标聊天会出现乱码的bug,请重新安装用户脚本即可,用户脚本地址请参考
  • http://www.xujiwei.com/blog/iwangwang/use-iwangwang-in-browsers/
  • [MOD] 使用邮件来代替 Google Docs 进行使用反馈
  • [MOD] 调整了一下分组按钮的背景

安装

可以使用菜单“iWangWang》检查更新”来自动安装或访问下面这个地址来下载安装: http://iwangwang.googlecode.com/files/iWangWang-v0.2.0.zip

旺旺图标点击聊天脚本更新

这次更新的还有浏览器中旺旺图标点击聊天的脚本,修正了在淘宝宝贝详情页点击卖家旺旺图标出现乱码导致而无法聊天的bug 安装指南: http://www.xujiwei.com/blog/iwangwang/use-iwangwang-in-browsers/

已经安装的用户可以只需要重新安装用户脚本,用户脚本地址: http://iwangwang.googlecode.com/hg/wwprotocol.user.js

反馈

如果您有任何建议或意见,请发送邮件到 ohdarling88 # gmail dot com,谢谢:)

[HOWTO] 在 Mac 下的 Safari 中直接打开 iWangWang 进行聊天

鉴于支付宝已经发布供 Safari 使用的安全登录控件,并且 Safari 可以自动调用关联程序来打开自定义协议,所有 Safari 下的点击旺旺图标打开 iWangWang 进行聊天比较容易实现,使用一个用户脚本就行。

要实现在 Safari 中点击旺旺图标进行聊天,步骤如下:

  1. 安装 SIMBL 下载地址:http://www.culater.net/software/SIMBL/SIMBL.php SIMBL 可以理解为一个扩展加载器,因为 Safari 本身并不支持扩展机制,所有 SIMBL 使用了一种 Hack 的方式来方便加载第三方扩展。
  2. 安装 GreaseKit 下载地址:http://8-p.info/greasekit/ GreaseKit 是一个类似于 GreaseMonkey 的扩展,可以通过它在 Safari 运行用户脚本。 如果你的系统是 Mac OS X Leopard,那么可能会出现安装 GreaseKit 失败的情况,这时可以试试一位网友重新编译的 GreaseKit,下载地址,关于这个问题的讨论可以看这里
  3. 最后,安装 iWangWang 聊天用户脚本 安装地址:http://iwangwang.googlecode.com/hg/wwprotocol.user.js 如果已经正确安装了 GreaseKit,那么在访问这个地址时,浏览器会询问是否安装“WangWang Protocol Handler”,选择“是”即可。

如果你已经将 iWangWang 放到了应用程序目录,那么在点击旺旺图标聊天时,会自动打开 iWangWang,如果 iWangWang 没有放到应用程序目录,那么你可能需要先运行 iWangWang 才可以使用点击旺旺图标进行聊天的功能。

如果有任何问题请联系我 ohdarling88 # gmail dot com

.