「Xamarin.Macでアプリ自身を再起動する」の版間の差分
Administrator (トーク | 投稿記録) (→実装) |
Administrator (トーク | 投稿記録) |
||
(同じ利用者による、間の1版が非表示) | |||
1行目: | 1行目: | ||
− | + | [[ソフトウェア]]のアップデートなど[[アプリ]]自身を再起動したいときがある。 | |
== 実装 == | == 実装 == | ||
30行目: | 30行目: | ||
</source> | </source> | ||
+ | |||
+ | == 関連項目 == | ||
+ | * [[Xamarin.Macでアプリを起動する]] | ||
+ | * [[Xamarin.MacでアプリのBundle Identifierを調べる]] | ||
+ | * [[Xamarin.Macでアプリ選択ダイアログを表示する]] | ||
[[category: Xamarin.Mac]] | [[category: Xamarin.Mac]] |
2020年3月5日 (木) 06:23時点における最新版
実装編集
AppDelegateクラスのWillTerminateメソッドに再起動する処理を記述する。 この状態でRestartRequestedフラグにtrueを設定してアプリを終了すれば再起動になる。
[Register("AppDelegate")]
public class AppDelegate : NSApplicationDelegate
{
// 〜〜〜 中略 〜〜〜
// 再起動フラグ
public bool RestartRequested = false;
// アプリ終了時に呼ばれる
public override void WillTerminate (NSNotification notification)
{
// 再起動フラグ
if (RestartRequested)
{
// 自分自身を起動
NSWorkspace.SharedWorkspace.LaunchApp (
NSBundle.MainBundle.BundleIdentifier,
NSWorkspaceLaunchOptions.NewInstance | NSWorkspaceLaunchOptions.Async,
NSAppleEventDescriptor.NullDescriptor,
IntPtr.Zero);
}
}
}