【问题标题】:NSFileManager, issue moving temp downloaded file to permanent directoryNSFileManager,将临时下载的文件移动到永久目录的问题
【发布时间】:2020-07-02 18:40:36
【问题描述】:

所以我使用 Unity 提供的插件进行后台下载。除了实际存储文件之外,此插件运行良好。

我不是 iOS 开发者,所以这可能是一个新手问题,但为什么这不起作用?我收到一条错误消息,表明该文件不存在。

我需要做的就是获取文件,然后将其移动到我的文档中。虽然我有点困惑如何让 tmp 文件成为我的最终文件类型?

https://github.com/Unity-Technologies/BackgroundDownload

- (void)URLSession:(NSURLSession *)session downloadTask:(NSURLSessionDownloadTask *)downloadTask didFinishDownloadingToURL:(NSURL *)location
{
    NSLog(@"Finished Download");
    //NSLog(downloadTask.taskDescription);
    NSLog(location.absoluteString);
    NSFileManager* fileManager;
    NSURL* destUri = GetDestinationUri(downloadTask.taskDescription, &fileManager);
    NSLog(destUri.absoluteString);

    NSError *error;

    Boolean success = [fileManager replaceItemAtURL: destUri withItemAtURL: location backupItemName: nil options: NSFileManagerItemReplacementUsingNewMetadataOnly resultingItemURL: nil error: &error];

    if(success)
    {
        NSLog(@"success");
    }
    else
    {
        NSLog(@"Fail %@", error);
    }

    UnityBackgroundDownload* download = [backgroundDownloads objectForKey: downloadTask];
    download.status = kStatusDone;
}

static NSURL* GetDestinationUri(NSString* dest, NSFileManager** fileManager)
{
    NSFileManager* manager = [NSFileManager defaultManager];
    NSURL* documents = [[manager URLsForDirectory: NSDocumentDirectory inDomains: NSUserDomainMask] lastObject];
    NSURL* destUri = [documents URLByAppendingPathComponent: dest];
    if (fileManager != NULL)
        *fileManager = manager;
    return destUri;
}

【问题讨论】:

    标签: ios nsfilemanager nsurlsessiondownloadtask


    【解决方案1】:

    最后我自己发现了这个。

    GetDestinationURI 调用基本上没有意义,因为我已经从 Unity 端提供了它需要保存的目录。因此,只需将字符串直接转换为 URL,然后使用即可。

    为其他使用该插件的人发表更多评论!

    【讨论】:

      猜你喜欢
      • 2013-12-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-01-19
      • 1970-01-01
      • 2020-03-17
      • 2015-08-28
      • 1970-01-01
      相关资源
      最近更新 更多