import UIKit import Flutter import flutter_downloader @main @objc class AppDelegate: FlutterAppDelegate { override func application( _ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]? ) -> Bool { GeneratedPluginRegistrant.register(with: self) FlutterDownloaderPlugin.setPluginRegistrantCallback(registerPlugins) // Exclude the documents folder from iCloud backup since we keep songs there. try! setExcludeFromiCloudBackup(isExcluded: true) return super.application(application, didFinishLaunchingWithOptions: launchOptions) } } private func setExcludeFromiCloudBackup(isExcluded: Bool) throws { var fileOrDirectoryURL = try! FileManager.default.url(for: .documentDirectory, in: .userDomainMask, appropriateFor: nil, create: true) var values = URLResourceValues() values.isExcludedFromBackup = isExcluded try fileOrDirectoryURL.setResourceValues(values) } private func registerPlugins(registry: FlutterPluginRegistry) { if (!registry.hasPlugin("FlutterDownloaderPlugin")) { FlutterDownloaderPlugin.register(with: registry.registrar(forPlugin: "FlutterDownloaderPlugin")!) } }