2012-04-01 46 views

回答

1

分为两个部分:(一个黑客位的)

让你的ip地址:

ifconfig | grep "inet addr" | grep -v '127\.0\.0\.1' | tr ':' ' ' | awk '{print $3}' 

查找您的地址与表: http://ipinfodb.com/linux_script.php

希望这可以帮助!

1

编辑(原始响应进一步下跌)
如下所述,我开始了一个GitHub库做的正是:https://github.com/inspector-g/getloc

由于今天有时间有限,较容易/更快地只使用典型外部IP地理定位技巧。它在我测试过的所有机器上运行良好。但是,我确实放置了所有必需的CoreLocation存根以供将来使用。如果本周我有更多时间,我可能会为Mac OS X实施第三方MapKit(如下所述)。

原始回复
没有内置的命令行程序来执行此操作。您可以通过在Xcode中构建一个可可命令行程序来自己做一个简单的程序,如下所示:

从Mac OS 10.6开始,您可以使用CLLocationManager获取用户的经纬度位置。在类,你想成为的位置信息的委托:

locationManager = [[CLLocationManager alloc] init]; 
locationManager.desiredAccuracy = kCLLocationAccuracyBest; 
locationManager.delegate = self; 
[locationManager startUpdatingLocation]; 

随着locationManager是类的成员。为了从CLLocationManager接收消息,您的代理类需要实现以下方法:

-(void) locationManager:(CLLocationManager*)manager 
     didUpdateToLocation:(CLLocation*)newLocation 
     fromLocation:(CLLocation*)oldLocation; 

-(void) locationManager:(CLLocationManager*)manager 
     didFailWithError:(NSError*)error; 

现在,您已经全部建立完毕,并接收这些方法CLLocation情况下,你怎么弄的城市,州,或来自CLLocation的经纬度数据的其他地理信息?你不要! Apple不提供适用于Mac OS X(仅适用于iOS)的反向地理编码器。

然而,填补了国内空白,一个相当不错的图书馆,以配合在iOS MapKit的功能已发布:http://github.com/Oomph/MacMapKit

这意味着要匹配MapKit的特点,其实和做了很好的工作。祝你好运:)

+0

(事实上,现在我想到了,我可能只是制作这个小程序并将其发布到GitHub上) – 2012-04-01 18:01:25