// // boxDownloadFileManager.h // 双子星云手机 // // Created by xd h on 2024/5/24. // #import #import "queryOneShareModel.h" #import "uploadFileManager.h" //#import "mixDownloadManager.h" #import "customDownloadManager.h" #import "customDownloadCacheManager.h" NS_ASSUME_NONNULL_BEGIN //【IOS端】音频进行下载,下载列表提示下载到文件里,查看部分文件未成功下载到文件里 //问题原因:在下载音频类(即是要保存到文件app的)文件--- UIDocumentPickerViewController 弹出来后不再处理下一个 意味着快速下载完几个任务 在完成后只能保存到一个到文件 其他的因为任务完成了 不再处理保存流程 //解决方案:创建本地持久化 每次收到下载完成通知: //1.先做数据保存 //2.然后再处理文件保存流程 //3.删除此次保存数据 //4.UIDocumentPickerViewController 保存后访问本地持久化 查询还有没有没处理的任务 #define share_box_download_tableName [[NSString alloc] initWithFormat:@"share_download_tableName_%@",ksharedAppDelegate.DeviceThirdIdMod.data.sn] @interface boxDownloadFileManager : NSObject +(boxDownloadFileManager *)shareInstance; //数据库数据 @property (nonatomic, strong) NSMutableArray * _Nullable databaseArr; @property (nonatomic, assign) BOOL isFirstAutoStartType;//启动第一次需要重新开启 @property (nonatomic, strong) NSMutableDictionary * _Nullable downloadDoneList; //添加保存记录 NSArray* fileListVOS; - (void)addBoxDownloadRecordFunBy:(NSArray*)arr complete:(custom_complete_B)complete; #pragma mark 读取数据库数据 - (void)getDataInDatabaseFun:(BOOL)isReGet complete:(custom_complete_Arr)complete; #pragma mark 删除本地数据库记录 - (void)deleteBoxSaveFileRecordBy:(NSMutableArray *)delArr; #pragma mark 更新本地数据库记录 - (void)updataBoxSaveDataInFailBy:(ShareFileDataModel*)dataModel; #pragma mark 开始下载文件 ShareFileDataModel - (void)beginDownloadFilesByUrls:(NSArray *)urlArr; #pragma mark 全部暂停 或者暂停某一个 - (void)suspendDownloadFileFun:(BOOL)isSuspendAll withModel:(ShareFileDataModel*)dataModel; #pragma mark 重新开始下载 arr 目前只支持一个的情况 - (void)reDownloadFileFunBy:(NSMutableArray*)arr withAll:(BOOL)isAllType; #pragma mark 重新开始下载 第一次进去传输列表是用 - (void)firstReDownloadAllFileFun; #pragma mark-保存完成后 删除此次信息 download done plist - (void)deleteDownloadDonePlistInfoBy:(NSString*)fullPath; #pragma mark-查询还有没有没处理的任务 - (void)checkDownloadDonePlistInfoFun; @end NS_ASSUME_NONNULL_END