iOS: проблема с загрузкой больших видео с помощью URLSessionDownloadDelegate. Останавливается, когда размер превышает 40 МБ - PullRequest
0 голосов
/ 29 октября 2018

Я использую SDK (YITechnology), но у меня проблема с загрузкой видео, размер которого превышает 40 МБ. Когда я использую этот код во ViewController, видео размером менее 40 Мбайт подходит. Проблема в том, что если они больше 40мб, то останавливается. Как я могу сказать, чтобы продолжить загрузку? Я попробовал этот билет , но это не совсем то же самое ...

ActionCamera:

@objc public class ActionCamera : NSObject, URLSessionDownloadDelegate {
public func downloadFile(fileName: String, destFilePath: String, success: ((YICameraSDK.DownloadTask) -> ())?, fail: ((Error) -> ())?) -> YICameraSDK.ActionCamera

    /// Cancel current download task.
    public func cancelDownlad() -> YICameraSDK.ActionCamera

     /// Download file from camera.
///
/// - Parameters:
///     - fileName: The file you want to download from camera.
///     - destFilePath: The file destination file path. Need to be a full path.
///     - success: This callback will be invoked multiple times to notify the progress.
///     - fail: This callback will be invoked if download failed.
public func downloadFile(fileName: String, destFilePath: String, success: ((YICameraSDK.DownloadTask) -> ())?, fail: ((Error) -> ())?) -> YICameraSDK.ActionCamera


    public func urlSession(_ session: URLSession, downloadTask: URLSessionDownloadTask, didFinishDownloadingTo location: URL)

    public func urlSession(_ session: URLSession, downloadTask: URLSessionDownloadTask, didWriteData bytesWritten: Int64, totalBytesWritten: Int64, totalBytesExpectedToWrite: Int64)

    public func urlSession(_ session: URLSession, task: URLSessionTask, didCompleteWithError error: Error?)
}

ViewController.swift:

private var mCamera: ActionCamera!;

self.mCamera.downloadFile(fileName: lastFileName, destFilePath: originPath, success:
            {
                downloadTask in
                self.testLbl.text = String(describing: downloadTask.downloadedBytes)



        } , fail: {
            error in

            let alert = UIAlertView();
            alert.message = error as? String;
            alert.addButton(withTitle: "Ko")
            alert.show()
        });

Я думаю, что это легко для кого-то, кто знаком с UrlSession, но это не мой случай ...

...