2011-11-01 12 views
7

私は自分のiOSアプリケーションをMac OS Xに移植しようとしていますが、OS Xのためにのようなオブジェクトを見つけるのには苦労しています。 "MacBookAir"のようなデバイスの名前を取得することに興味があります。Mac OS X用のUIDeviceクラス?

EDIT/ANSWER
ジョシュ・キャスウェルが指摘したように、あなたはSCDynamicStoreCopyComputerNameキーを使用することができます。ここで

はコードです:

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

ます。#import アーク – levigroker

+1

:戻りCFBridgingRelease(SCDynamicStoreCopyComputerName(NULL、NULL))。 – jqgsninimo

答えて

5

Net Services Programming GuideHeres the class documentation氏は述べています:あなたが他の文字列と同じように操作できるように、システム構成の枠組みからSCDynamicStore関数を呼び出す

デスクトップ上のMac OS Xでは

は、コンピュータ名を返します。 iOSでは、クラスのnameプロパティから同じ情報を取得できます。

SCDynamicStore(doc bug)という単一の機能はないようですが、おそらくSCDynamicStoreCopyValueが必要です。 SCDynamicStoreKeyCreateComputerNameを使用して必要な鍵を取得するように見えます。 SCDynamicStoreCopySpecific.h

で見つかったあなたが見られるようにしても良いか、、、 SCDynamicStoreCopyComputerName機能を使用し、
+0

ありがとうございました。私は私の質問でコードスニペットを与えた。コードスニペットを含めるように回答を編集して、他の人が参考になるようにすることができます。コンピュータ名は見つけるのは簡単な作業だと思われますが、そうでないことが分かります。再度、感謝します。 – Cyprian

+0

うれしい私は助けることができます。スニペットを付けてくれてありがとう - 私はちょうど質問にそれを残しますが、私はその機能のためのドキュメントへのリンクを追加しました。 –

0

あなたがNSHostを試すことができます。

+0

はい、「John's_MacBook」などの名前を教えてもらえませんか? – Cyprian

1
NSHost *host = [NSHost currentHost]; 
NSLog(@"hostName %@",[host localizedName]); 

あなたはスウィフト4.0 OSXに

1

をMAC名を見ることができます:

EDIT

ここに私がUIDeviceの名前に似た値が必要なのは、

iOS(swift 3.2)

let deviceName = UIDevice.current.name 

OSX(SWIFT 4.0)これらの疑問について

let deviceName = Host.current().name