0

シンプルなアプリに問題があります。コードが機能しない理由がわかりません。これは、WatchOS 用のアプリに通知シーンを含めるコードです。

      @main
      struct MyApp: App {
      @SceneBuilder var body: some Scene {
         WindowGroup {
            NavigationView {
               ContentView()
            }
       }
        
     WKNotificationScene(
       
        controller: NotificationController.self,
        category: LocalNotifications.categoryIdentifier
    )

LocalNotifications には、次のコードがあります。

static let categoryIdentifier = "Scala5"
func register() async throws {
  print("Register")
  let current = UNUserNotificationCenter.current()
  try await current.requestAuthorization(options: [.alert, .sound])

  current.removeAllPendingNotificationRequests()

  let action = UNNotificationAction(
    identifier: self.actionIdentifier,
    title: "Press me",
    options: .foreground)

  let category = UNNotificationCategory(
   identifier: Self.categoryIdentifier,
   actions: [action],
   intentIdentifiers: [])

   current.setNotificationCategories([category])
  current.delegate = self
}

したがって、Xcode を使用して通知をテストすると、「Press me」というタイトルのボタンが通知に表示されるはずですが、メソッド レジスタが呼び出されることはありません。私のファイル file.apns には、次の行があります。

{
"aps": {
    "alert": {
        "body": "Test message",
        "title": "Optional title",
        "subtitle": "Optional subtitle"
    },
    "category": "Scala5"
}

}

Apple のドキュメントによると、apns ファイルのカテゴリは、最終クラス LocalNotifications のカテゴリと一致します。それで、私のエラーは何ですか?技術的な解決策が欲しいのですが、ライフサイクルを理解することがさらに重要です。ありがとう

4

0 に答える 0