UIDevice класс для Mac OS X? - PullRequest
       0

UIDevice класс для Mac OS X?

7 голосов
/ 02 ноября 2011

Я пытаюсь перенести одно из моих приложений для iOS на Mac OS X, и я пытаюсь найти объект, подобный UIDevice для OS X. Я заинтересован в получении названия устройства, такого как "MacBookAir"».

РЕДАКТИРОВАТЬ / ОТВЕТ
Как отметил Джош Касвелл, вы можете использовать клавишу SCDynamicStoreCopyComputerName.

Вот код:

+ (NSString *)computerName {
   return [(id)SCDynamicStoreCopyComputerName(NULL, NULL) autorelease];
}

Ответы [ 4 ]

5 голосов
/ 02 ноября 2011

В руководстве по программированию Net Services написано:

В Mac OS X на рабочем столе вызов функции SCDynamicStore из инфраструктуры конфигурации системы возвращает имя компьютера, поэтому выможет манипулировать им, как любая другая строка.В iOS вы можете получить ту же информацию из свойства name класса UIDevice.

Кажется, что нет ни одной функции с именем SCDynamicStore (ошибка документа), но вывероятно, хотят SCDynamicStoreCopyValue.Похоже, вы получили нужный ключ, используя SCDynamicStoreKeyCreateComputerName.

РЕДАКТИРОВАТЬ: Или, что еще лучше, как вы обнаружили, используйте функцию SCDynamicStoreCopyComputerName, найденнуюв SCDynamicStoreCopySpecific.h

2 голосов
/ 26 ноября 2017

Swift 4.0 OSX

Вот то, что мне нужно для аналогичного значения имени UIDevice

iOS (swift 3.2)

let deviceName = UIDevice.current.name

OSX (swift 4.0)

let deviceName = Host.current().name
1 голос
/ 09 января 2012
NSHost *host = [NSHost currentHost];
NSLog(@"hostName %@",[host localizedName]);

Вы можете увидеть имя Mac

0 голосов
/ 02 ноября 2011

Вы можете попробовать NSHost. Вот документация к классу

...