无法写入containerURLForSecurityApplicationGroupIdentifier?

Ste*_*all 4 objective-c ios ios8 ios-app-group

在下面的例子中,我没有写入错误,但在读取时,数据长度为0.为什么我不能写入共享容器?

+ (UIImage *)read {
    NSData *data = [NSData dataWithContentsOfFile:[self getPath]];
    NSLog(@"Data length: %d", data.length);
    UIImage *image = [UIImage imageWithContentsOfFile:[self getPath]];
    NSLog(@"%@", image);
    return image;
}

+ (void)write:(UIImage *)image {
    NSString *pngFilePath = [self getPath];
    NSData *data1 = [NSData dataWithData:UIImagePNGRepresentation(image)];
    [data1 writeToFile:pngFilePath atomically:YES];
}

+ (NSString *)getPath {
    NSURL *containerUrl = [[NSFileManager defaultManager] containerURLForSecurityApplicationGroupIdentifier:@"group.me.app"];
    NSString *pngFilePath = [[containerUrl absoluteString] stringByAppendingPathComponent:@"current.png"];

    NSLog(@"%@", pngFilePath);
    return pngFilePath;
}
Run Code Online (Sandbox Code Playgroud)

Bar*_*ley 8

您正在混淆URL和文件路径.使用[containerUrl path]而不是[containerUrl absoluteString],或使用dataWithContentsOfURL/writeToURL而不是dataWithContentsOfFile/writeToFile.