NSDocumentsDirectory изменения - PullRequest
0 голосов
/ 05 июля 2019

У меня есть код, который сохраняет UIImage к пути в NSDocumentsDirectory. Затем я вызываю путь и отправляю изображение на электронную почту. Он прекрасно работает, но, когда я выхожу из приложения и перезапускаю его, приложение вылетает, если я пытаюсь отправить изображение повторно. Я пытаюсь получить доступ к предыдущему каталогу, который я предполагаю. То, что я пытаюсь сделать, это сохранить UIImage в путь, который можно получить позже.

ЭТО ЭКОНОМ. КОД.

-(IBAction)savefile (id)sender
{

 Uppaths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
        documentsDirectory = [Uppaths objectAtIndex:0];
        NSString * prefixString = self.record.eventname;

        NSString * guid = [self randomStringWithLength:6];
        NSString * uniqueFileName = [NSString stringWithFormat:@"%@_%@.jpg", prefixString, guid];
        _imagePathLayout = [documentsDirectory stringByAppendingPathComponent:uniqueFileName];
        NSData *data1 = UIImageJPEGRepresentation(newImage, _photoquality);
        [data1 writeToFile:_imagePathLayout atomically:YES];

        NSLog(@"filepath=%@", _imagePathLayout);
        refURLLayout = [NSURL fileURLWithPath:_imagePathLayout];
        [self.storeLayout addObject:_imagePathLayout];


}

ЭТО КОД ЗАГРУЗКИ. Работает нормально, пока я не выхожу из приложения.

-(void)sendUploadPathMulti:(NSString *)path imageArray:(NSMutableArray *)imageArray subjectstring:(NSString *)subject messagestring:(NSString *)message filename:(NSString *)filename linkurl:(NSURL *)linkurl linkstring:(NSString *)linkstring deleteItem:(NSString *)deleteitem

{

for (int i = 0; i < imageArray.count; i++) {

        NSString *path = [imageArray objectAtIndex:i];
        NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
        NSString *documentsDirectory = [paths objectAtIndex:0];
        NSString *folderPath = [documentsDirectory stringByAppendingPathComponent:path];
        NSData *data = [[NSFileManager defaultManager] contentsAtPath:folderPath];
        NSString * prefixString = self.record.eventname;
        NSString * uuidString = [self randomStringWithLength:4];
        NSString *uuid = [NSString stringWithFormat:@"%@",uuidString];
        NSString *final = [NSString stringWithFormat:@"%@_%@.jpg", prefixString, uuid];

        NSLog (@"path: %@", path);

        MCOAttachment *attachment = [MCOAttachment attachmentWithData:data filename:final];
        [builder addAttachment:attachment];
        NSLog (@"ATTACH1: %@", attachment);
    }

}

Это ошибка. Не удается прочитать файл в файле: ///var/mobile/Containers/Data/Application/80A36161-2815-480D-A9BB-A4766E0DD39A/Documents/test_KgUpp0.jpg

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...