AVAssetDownloadDelegate方法在后台没有被调用
创始人
2024-11-12 20:00:20
0

当应用程序运行在后台时,下载会在一个单独的进程中运行,因此AVAssetDownloadDelegate方法不会被自动调用。要解决这个问题,需要在调用startSession方法之前向assetDownloadTask对象添加一个后台URL会话配置,并在AppDelegate中设置会话委托。示例代码如下:

//获取后台下载的会话ID let backgroundConfiguration = URLSessionConfiguration.background(withIdentifier: "com.myapp.backgroundDownload")

//创建AVAssetDownloadURLSession对象 let assetDownloadURLSession = AVAssetDownloadURLSession(configuration: backgroundConfiguration, assetDownloadDelegate: self, delegateQueue: OperationQueue.main)

//创建assetDownloadTask对象 let assetDownloadTask = assetDownloadURLSession.makeAssetDownloadTask(asset: asset, assetTitle: "Asset Title", assetArtworkData: nil, options: options)

//在AppDelegate中设置会话委托 func application(_ application: UIApplication, handleEventsForBackgroundURLSession identifier: String, completionHandler: @escaping () -> Void) { if identifier == "com.myapp.backgroundDownload" { assetDownloadSessionCompletionHandler = completionHandler } }

//在下载完成时调用completionHandler func urlSessionDidFinishEvents(forBackgroundURLSession session: URLSession) { if let completionHandler = assetDownloadSessionCompletionHandler { assetDownloadSessionCompletionHandler = nil completionHandler() } }

这样,在后台下载完成后,会话委托将自动调用,并调用应用程序委托中的相应方法。

相关内容

热门资讯

透视好友!aapoker辅助器... 透视好友!aapoker辅助器是真的吗,浙江游戏温州熟客辅助,攻略教程(有挂辅助);玩家必备必赢加哟...
最新技巧!微扑克智能ai辅助,... 最新技巧!微扑克智能ai辅助,德州ai辅助软件,详细教程(总是存在有挂);最新技巧!微扑克智能ai辅...
透视工具!wpk辅助软件,川娱... 透视工具!wpk辅助软件,川娱竞技有挂透视脚本,wpk教程(有挂技巧);支持2-10人实时对战,虚拟...
推荐十款!轰趴大菠萝怎么提高胜... 推荐十款!轰趴大菠萝怎么提高胜率,wpk透明挂,总结教程(最初真的是有挂);致您一封信;亲爱wpk透...
透视好友!aapoker透视软... 透视好友!aapoker透视软件,皮皮跑胡子修改器,教你攻略(有挂攻略);皮皮跑胡子修改器软件透明挂...
记者爆料!微扑克后台能控制胜率... 记者爆料!微扑克后台能控制胜率吗,aapoker挂,细节方法(原先是有挂);小薇(透视辅助)致您一封...
透视游戏!aapoker透视插... 透视游戏!aapoker透视插件下载,欢乐对决辅助菜单,实用技巧(有挂软件)1、点击下载安装,微扑克...
一分钟了解!wpk德州透视辅助... 您好,wpk德州透视辅助这款游戏可以开挂的,确实是有挂的,需要了解加微【136704302】很多玩家...
透视透视挂!德普之星辅助功能如... 透视透视挂!德普之星辅助功能如何设置,福建天天开心辅助器,透明挂教程(有挂技巧),支持语音通讯、好友...
科普常识!aapoker透视辅... 科普常识!aapoker透视辅助,智星德州菠萝辅助器,wpk教程(竟然真的是有挂)1)智星德州菠萝辅...