そのようなコマンドは知りませんが、ホーム ボタンの押下をシミュレートするコマンドを自分で作成することはできます。これにより、開いているアプリが通常の方法で閉じられます。異常ではありませんkill
。UIApplicationDelegate
アプリがマルチタスクをサポートしている場合、アプリはバックグラウンドに移行し、途中ですべての通常のコールバックが行われます。
非グラフィカル iOS アプリケーションをビルドします。UIApplicationMain()
呼び出しを取り除くだけですmain.m
アプリケーションを GraphicsServices.framework にリンクします。これはプライベート フレームワークであるため、通常はリンク先のフレームワークを選択する[Xcodeビルド フェーズ]設定ウィンドウでは、公開リストには表示されません。ファイル システムでPrivate Frameworksフォルダー (例: /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS6.1.sdk/System/Library/PrivateFrameworks
) に移動し、それを選択します。
GSEvent.h (および #include されている GSWindow.h) のヘッダーを生成する必要があります。 ここでは、両方のコピーを見つけることができます。それらをプロジェクトとファイルに追加し#include GSEvent.h
ますmain.m
。
この関数を使用します。
#include "GSEvent.h"
- (void)simulateHomeButton
{
struct GSEventRecord record;
memset(&record, 0, sizeof(record));
record.type = kGSEventMenuButtonDown;
record.timestamp = GSCurrentEventTimestamp();
GSSendSystemEvent(&record);
record.type = kGSEventMenuButtonUp;
GSSendSystemEvent(&record);
}
このコードは、現在のアプリを閉じる方法 (つまり、フォアグラウンドにある UIApplication 内でコードが実行される)、または別の開いているアプリ (コマンド ライン ユーティリティを構築する場合など) として使用できる必要があります。
アイデアについては、 libActivatorへのハットチップ。