浏览模式: 标准 | 列表

 虽然没有xbox360,但是当看到微软发布了Kinect for Windows SDK beta之后,还是忍不住买了一个Kinect。虽然现在没什么游戏可玩,不过相信以后一定会有许多奇妙的应用出现的,哈哈。有空自己也可以写几个玩玩。

大小: 34.78 K
尺寸: 500 x 267
浏览: 893 次
点击打开新窗口浏览全图

大小: 65.29 K
尺寸: 500 x 338
浏览: 934 次
点击打开新窗口浏览全图

首先安装Mac OS X到 VMWare WorkStation 下,需要先给 VMWare 打个补丁,补丁如下:

wm_mac.zip

安装完补丁之后,就可以直接安装了,不需要什么辅助盘,直接用安装盘(镜像)就可以啦。

如果是 10.6.3 及其以上版本的安装,安装时需要先修改一下虚拟机的 vmx 文件,然后重新打开虚拟机安装。修改方法参见:

i7 2600 VMWare 下安装Mac OS X 10.6.7

 

然后安装VMWare Tools的最新版本:darwin.iso

然后安装声卡驱动:

ensoniqaudiopci_v1.0.3_common_installer.pkg

修改 vmx 优化声卡配置:

sound.highPriority = "TRUE"  
pciSoundDAC1InterruptsPerSec = 0
pciSound.DAC2InterruptsPerSec = "16"                                                                                                
pciSound.priorityBoost = "TRUE"

最后安装显卡驱动:

vmsvga2_v1.2.3_common_installer.pkg

修改 vmx 优化显卡配置:

svga.autodetect = "FALSE"
svga.vramSize = "134217728"
mks.enable3d = "TRUE"
svga.enableScreenObject = "TRUE"
svga.enableTracesReg = "TRUE"

现在终于可以用 QQ 截图了。

然后安装自动调整客户机分辨率的补丁:guestd_patches.pkg

之后重启虚拟机,你就会发现“Fix Guest Now"这项菜单生效了。

显卡和声卡驱动的最新版本从这里下载:

http://sourceforge.net/projects/vmsvga2/files/

 

买了 i7 2600 之后一直很纠结的一件事情就是在 VMWare 里面安装 Mac OS X,不能 Update 到最新版本,否则重启就会出现:

 The CPU has been disabled by the guest operating system. You will need to power off or reset the virtual machine at this point.

这个错误。我开始以为是 Mac OS X 跟 Sandy Bridge 的 CPU 不兼容,不过我还是不死心,最后终于被我 Google 到答案了。只需要关掉虚拟机,在 vmx 文件中加入这样一行

cpuid.1.eax = "0000:0000:0000:0001:0000:0110:1010:0101"

然后再重启虚拟机,系统就可以启动啦,太神奇了!

 Hprose 从 1.1 开始就增加了对 Objective-C 的支持,在 1.2 中又增加了对 Objective-C 中 Block 回调的支持,不过有一点遗憾的是,1.2 中使用 Block 回调时,需要手动将 Block 从栈上复制到堆上,并且要调用 autorelease 来释放它。autorelease 的问题是不能按时释放,释放的晚了浪费内存,提前释放程序可能就崩了。而且代码写起来也不够雅致,下面是在 Hprose 1.2 异步调用中使用 Block 回调的写法:

Objective-C代码
 
  1. -(IBAction) buttonClick:(id)sender {  
  2.     [ro hello:[text stringValue] block:[[^(id result, NSArray *args) {  
  3.         [label setStringValue: result];  
  4.     } copy] autorelease]];  
  5. }  
而 Hprose 1.3 彻底解决了这个问题,让 Block 调用在 Hprose 中不在是鸡肋,下面是 Hprose 1.3 异步调用中使用 Block 回调的写法:

Objective-C代码
 
  1. -(IBAction) buttonClick:(id)sender {  
  2.     [ro hello:[text stringValue] block:^(id result, NSArray *args) {  
  3.         [label setStringValue: result];  
  4.     }];  
  5. }  
现在的写法清新雅致多了吧,而且也没有内存释放的问题了。

好了,有了 Hprose 1.3,终于可以轻轻松松的开发 iOS/Mac OS X 的网络应用了!

最后再爆个料,Hprose 1.3 for Objective-C 的客户端在发布时,可是免费的哦!你再也不用为谈钱伤感情的问题纠结了,哈哈~~