多くの調査を行いましたが、探しているものが見つかりませんでした。現在、アプリDeployment Target
との両方がに設定されており、完全に動作します。Mountain Lionsの新しい通知センターに通知を適切に投稿できます!Base SDK
10.8
Mac OSでも動作するアプリをビルドするために10.6
、Deployment Targetを10.6に設定してビルドしました(このスレッドで推奨されているように)。残念ながら、アプリは10.6でクラッシュし、クラッシュレポートには、NSUserNotificationCenterが見つからなかった(OSバージョンの処理なし)と詳細が記載されています。
-
したがって、私が確実に行う必要があるのは、NSUserNotificationCenterクラスが存在するかどうかを確認することです。
notificationCenterIsAvailable = (NSClassFromString(@"NSUserNotificationCenter")!=nil);
このブールフラグに基づいて動作します。
しかし、次のように、このフラグに基づくことができないコードについてはどうでしょうか。
- インターフェイス
..: <NSUserNotificationCenterDelegate> {
- または通知センターへの参照のタイプ:
NSUserNotificationCenter *center
クラスのプロパティで?
私の最初の考えは、実行時にクラスヘッダーを動的に変更することでした。つまり、クラスが存在するかどうかに基づいてNotificaion Centerを処理するメソッドとプロパティを追加しましたが、これは本当に複雑に思えますか?!