解决Xcode莫名崩溃的问题

前面的一篇博文里面我提到了我的Xcode每次开启必然会报错崩溃的问题。报错信息如下:

Uncaught Exception:
  -[NSCFArray length]: unrecognized selector sent to instance 0x2006354a0

这事在网上寻觅许久未果,本来就想算了的。突然最近有同事发现Mail也会这样莫名其妙的崩溃,在多方尝试下,发现只要关掉公司的vpn就没事了,进而又发现只要不使用vpn推送的DNS信息就可以了。于是自然就想到难道这就是导致我的Xcode罪魁祸首,一试,果然如此,我勒个去 = =

员外前阵子发了一个关于Snow Leopard诡异的DNS问题的文章,里面也提到了这个问题,所以这是雪豹自己的bug。可是,DNS服务是必须要用的,如果自己加Hosts,必然会有更新不及时的情况,那怎么办呢? 所以在关闭DNS推送后,还需要做点手脚才行。

Magic是由resolver来完成的,具体使用可以参考man 5 resolver。这儿就只说应用了。

# /etc/resolver/x.com
nameserver 10.10.10.10
nameserver 8.8.8.8

这样就为x.com的子域指定了使用这两个DNS来解析。嗯,尝试的顺序是从上往下的,最多支持3个DNS,如果有不连接VPN的时候,别忘了在DNS最后加上一个公网可用的DNS,免得在这种情况下不能访问。

OK,如此手术一番,Xcode终于活了。