2017-08-11 42 views
0

我是Mac OS應用程序開發新手。在應用程序內,我試圖獲取域名。我試着用下面的代碼如何以編程方式獲取域名

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

,它顯示我的主機列表如下

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

不過,這並不表明它必須像ind.mycompany.com我的主機名。

任何人都可以建議如何獲得Mac OS應用程序的主機名?

+0

可能的重複https://stackoverflow.com/questions/16933230/mac-os-x-get-domain-name-programmaticaly –

回答

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);