アップルプッシュ通知用のカスタムサウンド機能を実装するのは簡単です。問題は、ドキュメントにこれを行うために必要なことが言及されていないということです。
重要なコンポーネントは、拡張子です(たとえば、Today Extension
を使用しています)。拡張機能、独自のサウンド、および標準のAPN機能を含め、プロジェクト内に新しいターゲットを作成するだけで十分です。 キーあなたのアプリケーションが動作していない間にカスタムサウンドを取得するには、あなたのアプリケーションにアプリケーションの拡張子(単にNotificationCenter.framework
)が含まれているだけです。
新規ターゲット>今日拡張追加:拡張>コピーバンドルリソース>フェーズを構築する今日
を>カスタムサウンド:
のみ、特定のAPN主なアプリケーションに必要な機能は次のとおりです。
func applicationDidFinishLaunching(_ aNotification: Notification) {
NSApplication.shared().
registerForRemoteNotifications(matching:
[.alert, .sound, .badge])
NSApp.dockTile.badgeLabel = nil
}
func application(_ application: NSApplication,
didRegisterForRemoteNotificationsWithDeviceToken deviceToken: Data) {
}
func application(_ application: NSApplication, didReceiveRemoteNotification
userInfo: [String : Any]) {
}
func application(_ application: NSApplication,
didFailToRegisterForRemoteNotificationsWithError error: Error) {
print("could not register for notfications: \(error)")
}
あなたはそれはあなたがAudioServicesPlaySystemSound
を呼び出しているとNotificationCenter.framework
が追加何かを追加することなく、すべてのことを扱うように見えるように除去することができ、コードを持っている可能性があります同時にプレイする2つのサウンドを得ている場合。
カスタムサウンドを再生しようとしていますか、アプリケーションが実行されていない間にサウンドが再生されていますか?私は、アプリケーションが実行されていないときに、デフォルトのサウンドを再生することができます。私はAPNでカスタムサウンドを使ってみたことはありませんでした。 –
私は通知を傍受し、実行中に自分のサウンドを再生できますが、両方を再生することができます。アプリケーションが実行されていないときは、私はちょうどデフォルトサウンドを取得します。私はそれが可能でなければならないので、実行していないときにカスタムサウンドを再生する他のアプリケーションがあります。 –
私はこれを調べるのに数分しかかからず、私のアプリが閉鎖されている間にカスタム通知音を再生することができました。私のコードとAppleの "PushyMac"の例との違いは何か、そしてなぜそれが他のものよりも優れているのかを調べるチャンスはありませんでした。また、Objective-CやSwiftを使用しているサウンドファイルはどのファイル形式ですか? –