macOS/iOS API解説

iOS , Mac アプリケーション開発のために使われる主要フレームワークの日本語情報です。2010年代に書かれた内容です。今後更新はありません。

目次

NSProcessInfoクラス

INDEX>Foundation>

apple(OS X)
apple(iOS)

解説

プロセス情報

アレルシャット 花粉イオンでブロック 160回分

アレルシャット 花粉イオンでブロック 160回分

継承 NSObject
準拠 NSObject (NSObject)
フレームワーク /System/Library/Frameworks/Foundation.framework
使用可能 OS X 10.0以降
iOS 2.0以降
定義 NSProcessInfo.h

概要

アプリケーションの情報を取得することができます。各プロセスはプロセス情報エージェントと呼ばれる、一つのオブジェクトを持っています。そのエージェントにメッセージを送信することで各種のプロセス情報を得ることができます。

プロセス情報エージェントを得る

プロセス情報オブジェクトを得るには(+ processInfoメソッドを使用します。

プロセス情報にアクセス

プロセス名を得るには(– processNameメソッドを使用します。
プロセスのコマンドライン引数を得るには(– argumentsメソッドを使用します。
プロセスの環境変数を得るには(– environmentメソッドを使用します。
プロセスのプロセスIDを得るには(– processIdentifierメソッドを使用します。
プロセスのグローバルIDを得るには(– globallyUniqueStringメソッドを使用します。
プロセス名を変更できるメソッド– setProcessName)がありますがユーザーデフォルトなどで問題を起こす可能性があるので注意が必要です。

ホストの情報を得る

ホスト名を得るには(– hostNameメソッドを使用します。OSを得るには(– operatingSystemメソッドを使用し、OS名を文字列で得るには(– operatingSystemNameメソッドを使用します。
ホスト名は satochan11.local のような文字列、iOSではOSはNSMACHOperatingSystemと返されます。
OSのバージョン番号を文字列で得るには(– operatingSystemVersionStringメソッドを使用します。

コンピューターの情報を得る

物理メモリ量を得るには(– physicalMemoryメソッドを使用します。手元のiPhone4では約504MB、iPad (3rd)では987MBと返ってきました。
プロセッサ数を得るには(– processorCountメソッドを使用します。iPhone4では1、iPad(3rd)では2と返ってきました。シミュレータでは…4と返ってきますね。
稼働中のプロセッサ数を得るには(– activeProcessorCountメソッドを使用します。システムの稼働時間を得るには(– systemUptimeメソッドを使用します。

いろいろ情報を取得する

#pragma mark processName
-(void)method001
{
    NSProcessInfo *pInfo = [NSProcessInfo processInfo];
    NSString *processName = [pInfo processName];

    NSLog(@"%s %@",__FUNCTION__,processName);
    
    NSLog(@"%s %@",__FUNCTION__,[pInfo arguments]);
    
    NSLog(@"%s %@",__FUNCTION__,[pInfo environment]);
    
    NSLog(@"%s %d",__FUNCTION__,[pInfo processIdentifier]);
    
    NSLog(@"%s %@",__FUNCTION__,[pInfo globallyUniqueString]);
    
    [pInfo setProcessName:@"newName"];
    NSLog(@"%s %@",__FUNCTION__,[pInfo processName]);
    
    NSLog(@"%s %@",__FUNCTION__,[pInfo hostName]);
    
    NSLog(@"%s %u",__FUNCTION__,[pInfo operatingSystem]);
    
    NSLog(@"%s %@",__FUNCTION__,[pInfo operatingSystemName]);
    
    NSLog(@"%s %@",__FUNCTION__,[pInfo operatingSystemVersionString]);
    
    NSLog(@"%s %llu",__FUNCTION__,([pInfo physicalMemory]/1024/1024));

    NSLog(@"%s %u",__FUNCTION__,[pInfo processorCount]);

    NSLog(@"%s %u",__FUNCTION__,[pInfo activeProcessorCount]);

    NSLog(@"%s %f",__FUNCTION__,[pInfo systemUptime]);
}

適合するプロトコル