类型“WorkmanagerPlugin”没有成员“registerBGProcessingTask”iOS

问题描述 投票:0回答:1

我正在尝试将 WorkManager 集成到 iOS 中(它已经在 Android 上适用于我)

当我运行该项目时,出现以下错误: `类型'WorkmanagerPlugin'没有成员'registerBGProcessingTask' /Users/user/Desktop/Projects/project/ios/Runner/AppDelegate.swift:23:22

无法为模拟器构建应用程序。 在 iPhone 15 Pro 上启动应用程序时出错。`

我已经阅读了该插件的官方文档,并且阅读了几个 iOS 集成示例,我还在插件存储库中看到了它的集成示例,并且我已经按照步骤进行操作,但与 iOS 上的 Android 不同,它对我不起作用.

mi AppDelegate.swift

import UIKit
import Flutter
import FirebaseCore
import workmanager
@UIApplicationMain
@objc class AppDelegate: FlutterAppDelegate {
  override func application(
    _ application: UIApplication,
    didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?
  ) -> Bool {
   
    if #available(iOS 10.0, *) {
      UNUserNotificationCenter.current().delegate = self as? UNUserNotificationCenterDelegate
    }
    FirebaseApp.configure()
    GeneratedPluginRegistrant.register(with: self)
    WorkmanagerPlugin.setPluginRegistrantCallback { registry in  
            GeneratedPluginRegistrant.register(with: registry)
    }
    WorkmanagerPlugin.registerBGProcessingTask(withIdentifier: "task-identifier")
    
    return super.application(application, didFinishLaunchingWithOptions: launchOptions)
  }
}

我已经审查了存储库中的问题并研究了有关该问题的更多信息,但其中给出的解决方案都不适合我......

尝试按照 iOS 上的操作文档的建议添加此行,但问题仍然存在...

WorkmanagerPlugin.setPluginRegistrantCallback { registry in  
            GeneratedPluginRegistrant.register(with: registry)
    }

我的扑动医生输出

[✓] Flutter (Channel stable, 3.16.5, on macOS 14.4.1 23E224 darwin-arm64 (Rosetta), locale es-419)
    • Flutter version 3.16.5 on channel stable at /Users/user/src/flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 78666c8dc5 (hace 5 meses), 2023-12-19 16:14:14 -0800
    • Engine revision 3f3e560236
    • Dart version 3.2.3
    • DevTools version 2.28.4

[✓] Android toolchain - develop for Android devices (Android SDK version 34.0.0)
    • Android SDK at /Users/user/Library/Android/sdk
    • Platform android-34, build-tools 34.0.0
    • ANDROID_HOME = /Users/user/Library/Android/sdk
    • Java binary at: /Applications/Android Studio.app/Contents/jbr/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 17.0.6+0-17.0.6b802.4-9586694)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 15.2)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Build 15C500b
    • CocoaPods version 1.14.3

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 2022.2)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 17.0.6+0-17.0.6b802.4-9586694)

[✓] VS Code (version 1.88.1)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.86.0

[✓] Connected device (3 available)
    • iPhone 15 Pro (mobile) • 432CF0CD-9CFD-4C42-B733-0667B0C187C7 • ios            •
      com.apple.CoreSimulator.SimRuntime.iOS-17-0 (simulator)
    • macOS (desktop)        • macos                                • darwin-arm64   • macOS 14.4.1 23E224 darwin-arm64
      (Rosetta)
    • Chrome (web)           • chrome                               • web-javascript • Google Chrome 124.0.6367.118

[✓] Network resources
    • All expected network resources are available.

• No issues found!

我尝试过重新安装 YouTube pod 和指南,但问题始终是一样的,虽然我没有尝试过使用物理设备,但我不知道这是否是模拟器问题,尽管我不这么认为,因为他们使用了它在指南中...

flutter compiler-errors flutter-workmanager
1个回答
0
投票

我遇到了同样的错误并尝试了此解决方法。直接从 git 拉取 ios-bg-tasks-enh-final 版本。

workmanager:
    git:
      url: https://github.com/absar/flutter_workmanager.git
      ref: ios-bg-tasks-enh-final
© www.soinside.com 2019 - 2024. All rights reserved.