如何在我的应用中阻止iCloud备份.为此我尝试使用NSFileManager. 以及 如何在Swift中实现addSkipBackupAttributeToItemAtURL?
I tried with this stuff
extension NSFileManager{
func addSkipBackupAttributeToItemAtURL(url:NSURL)->Bool{
var error:NSError?
let success:Bool = url.setResourceValue(NSNumber.numberWithBool(true), forKey: NSURLIsExcludedFromBackupKey, error: &error);
return success;
}
}
Run Code Online (Sandbox Code Playgroud)
但它给了我错误:调用中的额外参数错误
现在调用上面的函数......
.NSFileManager.defaultManager()addSkipBackupAttributeToItemAtURL(NSURL.fileURLWithPath());
Ole*_*ann 12
您的代码看起来像Swift 1.x语法.假设您使用的是Swift 2.x,则需要使用本机Swift 错误处理语法.像这样:
extension NSFileManager{
func addSkipBackupAttributeToItemAtURL(url:NSURL) throws {
try url.setResourceValue(true, forKey: NSURLIsExcludedFromBackupKey)
}
}
Run Code Online (Sandbox Code Playgroud)
在callsite上,您需要像这样处理错误:
do {
let url = ... // the URL of the file
try NSFileManager.defaultManager().addSkipBackupAttributeToItemAtURL(url)
} catch {
// Handle error here
print("Error: \(error)")
}
Run Code Online (Sandbox Code Playgroud)
Swift 3版
do {
var resourceValues = URLResourceValues()
resourceValues.isExcludedFromBackup = true
try url.setResourceValues(resourceValues)
} catch {
print(error.localizedDescription)
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2487 次 |
| 最近记录: |