1

このパーツパーツコードを使ってみてください

-(IBAction)goAway:(id)sender{
    SystemEventsApplication *systemEvents = [SBApplication applicationWithBundleIdentifier:@"com.apple.systemevents"];
    [systemEvents sleep];
}

しかし、SystemEventsApplication をインポートする場所が見つからず、SystemEvents.h をインポートできませんでした。

この解決策はこちら

4

1 に答える 1

2

Scripting Bridge を使用するには、問題のアプリケーションのスクリプト定義からヘッダー ファイルを生成する必要があります。Scripting Bridge プログラミング ガイドの「コードの準備」セクションには、次のような説明があります。

プロジェクトの Scripting Bridge コードを書き始める前に、いくつかの手順を完了する必要があります。

  1. コードがメッセージを送信するすべてのスクリプト可能なアプリケーションのヘッダー ファイルを生成します。
  2. これらのファイルをプロジェクトに追加します。
  3. ヘッダーまたは実装ファイルで、生成されたヘッダー ファイルの #import ステートメントを追加します。
  4. Scripting Bridge フレームワークをプロジェクトに追加します。

続けて次のように述べています。

ヘッダー ファイルを作成するには、2 つのコマンド ライン ツール (sdef と sdp) を一緒に実行し、一方の出力を他方にパイプする必要があります。推奨される構文は次のとおりです。

sdef /path/to/application.app | sdp -fh --basenameアプリケーション名

したがって、システム イベントを使用してスクリプトを作成するには、次のコマンドを実行します。

sdef /System/Library/CoreServices/System\ Events.app | sdp -fh --basename SystemEvents

SystemEvents.hこれにより、 の定義を含むが生成さSystemEventsApplicationれ、プロジェクトに含めることができます。

于 2013-06-23T00:09:31.630 に答える