Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/120.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 如何解决泄漏问题?_Ios_Amazon Web Services_Memory Leaks_Amazon S3_Cfnetwork - Fatal编程技术网

Ios 如何解决泄漏问题?

Ios 如何解决泄漏问题?,ios,amazon-web-services,memory-leaks,amazon-s3,cfnetwork,Ios,Amazon Web Services,Memory Leaks,Amazon S3,Cfnetwork,我已经为iOS 8构建了一个应用程序,在一次内存测试后,我发现了一个漏洞 泄漏是相同的,并且在我将文件上传到AWS存储后会重复 泄漏按摩: Leaked Object # Address Size Responsible Library Responsible Frame _CFStreamDelegate 1 0x18914f30 32 Bytes CFNetwork HTTPNetConnection::transmitRequest(HTTPNetStre

我已经为iOS 8构建了一个应用程序,在一次内存测试后,我发现了一个漏洞

泄漏是相同的,并且在我将文件上传到AWS存储后会重复

泄漏按摩:

Leaked Object   #   Address Size    Responsible Library Responsible Frame
_CFStreamDelegate   1   0x18914f30  32 Bytes    CFNetwork   HTTPNetConnection::transmitRequest(HTTPNetStreamInfo*, __CoreWriteStream*, CFStreamError*, unsigned char)

我发现了一个导致泄漏的函数:

//亚马逊上传

-(void)uploadAWS{

    NSString *fileName = DB_File;
    NSString *directoryPath = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0];
    NSString *filePath = [directoryPath stringByAppendingPathComponent:fileName];


    [self.transferManager cancelAll];

    AWSS3TransferManagerUploadRequest *uploadRequest = [AWSS3TransferManagerUploadRequest new];
    uploadRequest.body = [NSURL fileURLWithPath:filePath];
    uploadRequest.key = UserName;
    uploadRequest.bucket = BUCKET_NAME;
    uploadRequest.contentType = @"application/x-sqlite3";

    unsigned long long fileSize = [[[NSFileManager defaultManager] attributesOfItemAtPath:filePath error:nil] fileSize];
    uploadRequest.contentLength = [NSNumber numberWithUnsignedLongLong:fileSize];
    [[self.transferManager upload:uploadRequest] continueWithBlock:^id(BFTask *task) {
        if (task.error) {
            if ([task.error.domain isEqualToString:AWSS3TransferManagerErrorDomain]) {
                switch (task.error.code) {
                    case AWSS3TransferManagerErrorCancelled:
                    {
                        //LogError(@"AWS Cancelled - Upload failed: [%@]", task.error);
                        break;
                    }
                    case AWSS3TransferManagerErrorPaused:
                    {
                        LogError(@"AWS Paused - Upload failed: [%@]",task.error);
                    }
                        break;

                    default:
                        LogError(@"AWS status [%ld]:Upload failed: [%@]",(long)task.error.code,task.error);
                        break;
                }
            } else {
                LogError(@"Upload failed: [%@]", task.error);
            }
        }

        if (task.result) {
            dispatch_async(dispatch_get_main_queue(), ^{
                LogDebug(@"Upload ok: [%@]", task.error);
            });
        }
        return nil;
    }];

}

我怎样才能修好它?

拜托,有人知道答案吗?