2011-11-28 4 views
5

を通じてマシンの種類やその他のハードウェアの詳細情報を取得、あなたはデバイスモデル、オペレーティングシステムなどのすばらしい情報のトンを取得することができますUIDeviceクラスがある...iOSの上でのCocoa API

私は同等の何かを探していますMac。私はsystem_profilerをコマンドラインから呼び出すことについて知っていますが、mini設定でさえ、何らかの情報を得るのに数秒かかります。

マシンタイプ(Macbook Air、Mac Miniなど)、OSバージョン、およびその他のクイックマシンの詳細をMacアプリケーションから取得するための高速な方法に興味があります。詳細は、アプリ内から送信されたサポート電子メールのフッターとして使用されます。 UIDeviceに相当するものがありますか、別のがあります。ユーザのマシンを説明するのに役立つ情報を得るには?

答えて

0

iOSのように組み込みのデバイスクラスはありません。

動作環境を調べるには、Gestalt Managerを使用する必要があります。

+1

ゲシュタルトは、OS X v10.8(Mountain Lion)では非推奨です。そして、もうこれを行う方法がないようです。 – erkanyildiz

19

スウィフトバージョン(ちょうどhw.machineためhw.modelスワップ)はこちらhttps://stackoverflow.com/a/25467259/308315


#include <stdlib.h> 
#include <stdio.h> 
#include <sys/types.h> 
#include <sys/sysctl.h> 

+(NSString *) machineModel 
{ 
    size_t len = 0; 
    sysctlbyname("hw.model", NULL, &len, NULL, 0); 

    if (len) 
    { 
     char *model = malloc(len*sizeof(char)); 
     sysctlbyname("hw.model", model, &len, NULL, 0); 
     NSString *model_ns = [NSString stringWithUTF8String:model]; 
     free(model); 
     return model_ns; 
    } 

    return @"Just an Apple Computer"; //incase model name can't be read 
} 
+1

これはうまく動作し、正解とマークする必要があります。 –

+0

私たちはまた、プロセッサ名 "Intel i5" Ram typeなどの他の情報も取得できますか?@erkanyildiz –

+0

作品、共有ありがとうございます! – user1244109

0

system_profiler SPHardwareDataTypeはあなたが何を必要とするあなたを与える呼び出していますか?それは非常に迅速に戻り、基本的なハードウェア情報を返します。要求できるその他のデータはsystem_profiler -listDataTypesです。私はあなたのパズルへの他の部分はsystem_profiler SPSoftwareDataTypeと思う。