addSkipBackupAttributeToItemAtURL -> NSString para

2019-06-08 16:53发布

In order to follow the Data Storage Guidelines I must use the below method to add a flag to say to not back it up to iCloud. However, the parameter here is for a NSURL. I need to pass it a NSString like from a line like so

return [[self offlineQueuePath] stringByAppendingPathComponent:@"SHKOfflineQueue.plist"];

Here is the method that takes in a URL.

    - (BOOL)addSkipBackupAttributeToItemAtURL:(NSURL *)URL
{
    if (&NSURLIsExcludedFromBackupKey == nil) { // iOS <= 5.0.1
        const char* filePath = [[URL path] fileSystemRepresentation];

        const char* attrName = "com.apple.MobileBackup";
        u_int8_t attrValue = 1;

        int result = setxattr(filePath, attrName, &attrValue, sizeof(attrValue), 0, 0);
        return result == 0;
    } else { // iOS >= 5.1
        NSError *error = nil;
        [URL setResourceValue:[NSNumber numberWithBool:YES] forKey:NSURLIsExcludedFromBackupKey error:&error];
        return error == nil;
    }
}

Anyway, how would I modify the method above to achieve the same while taking in a NSString as a parameter?

Thanks!

2条回答
虎瘦雄心在
2楼-- · 2019-06-08 17:07

You don't need to modify the method. Convert your string to URL.

NSURL *url = [NSURL URLWithString:@"your string"];
查看更多
Luminary・发光体
3楼-- · 2019-06-08 17:17

Use this method

 NSURL *pathURL113= [NSURL fileURLWithPath:[NSString stringWithFormat:@"%@",Your string]];

this is perfect code.

查看更多
登录 后发表回答