如何以编程方式获取域名

时间:2017-08-11 07:40:05

标签: objective-c macos cocoa

我是Mac OS应用开发的新手。在应用程序内我试图获得域名。我试过下面的代码

NSLog(@"hostName is %@",[[NSHost currentHost]names]);

它显示了主机列表,如下所示

hostName is (
    "zenmactest.local",
    "ZenMacTest.local",
    localhost
)

但是它没有显示我的主机名,它必须像ind.mycompany.com

如何在Mac OS应用中获取主机名?

1 个答案:

答案 0 :(得分:1)

@ Cole的指针很好,SystemConfiguration框架有一个方便的API来获取当前的主机名。

#import <SystemConfiguration/SystemConfiguration.h>
...
SCDynamicStoreRef store = SCDynamicStoreCreate(kCFAllocatorDefault, CFSTR("getting the host name"), NULL, NULL);
NSString *hostName = (NSString *)SCDynamicStoreCopyLocalHostName(store);
NSLog(@"hostname = %@", hostName);
CFRelease(store);