macOS/iOS API解説

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

目次

data

アップルイベントデスクリプタのデータを返します

解説

アップルイベントデスクリプタのデータを返します。エラーが発生すればnilを返します。

返り値

( NSData * )

アップルイベントデスクリプタ

引数

クラス

NSAppleEventDescriptor

Instance Methods

使用可能

10.0

参照

例文

#import "MyObject.h"

@implementation MyObject

- (IBAction)myAction:(id)sender
{
RequestSystemRestart();

}

//リスタートする
static BOOL RequestSystemRestart()
{
    OSStatus status = noErr;
    const ProcessSerialNumber systemPsn = { 0, kSystemProcess };//アプリのプロセスナンバー
    NSData *data;
   
    
    //ターゲットを作る
    NSAppleEventDescriptor* targetDesc = [NSAppleEventDescriptor
        descriptorWithDescriptorType: typeProcessSerialNumber
        bytes: &systemPsn
        length: sizeof(systemPsn)
    ];
    //イベントを作る
    NSAppleEventDescriptor* restartEvent = [[NSAppleEventDescriptor alloc]
        initWithEventClass: kCoreEventClass
        eventID: kAEShutDown//
        targetDescriptor: targetDesc
        returnID: kAutoGenerateReturnID
        transactionID: kAnyTransactionID
    ];
    data = [restartEvent data];
    NSLog([data description]);

    //AppleEvent送信
    /*
    status = AESendMessage(
        (const AppleEvent*)[restartEvent aeDesc],
        NULL,
        kAENoReply | kAECanSwitchLayer | kAEAlwaysInteract,
        kAEDefaultTimeout
    );
*/
    return (status == noErr);
}

@end