Ios 禁用iCloud备份、tmp目录和替换路径中的文件
我目前使用我创建的以下两种方法在应用程序上保存和读取磁盘:Ios 禁用iCloud备份、tmp目录和替换路径中的文件,ios,objective-c,swift,nsdocumentdirectory,Ios,Objective C,Swift,Nsdocumentdirectory,我目前使用我创建的以下两种方法在应用程序上保存和读取磁盘: func unarchiveWithFileName(fileName: String) -> AnyObject? { let paths = NSSearchPathForDirectoriesInDomains(.DocumentDirectory, .UserDomainMask, true) let documentsDirectory = paths[0] as String let path
func unarchiveWithFileName(fileName: String) -> AnyObject? {
let paths = NSSearchPathForDirectoriesInDomains(.DocumentDirectory, .UserDomainMask, true)
let documentsDirectory = paths[0] as String
let path = "\(documentsDirectory)/\(fileName)"
return NSKeyedUnarchiver.unarchiveObjectWithFile(path)
}
func archiveObjectWithFileName(fileName: String, object: AnyObject) {
let paths = NSSearchPathForDirectoriesInDomains(.DocumentDirectory, .UserDomainMask, true)
let documentsDirectory = paths[0] as String
let path = "\(documentsDirectory)/\(fileName)"
NSKeyedArchiver.archiveRootObject(object, toFile: path)
}
我的申请因为“存储在用户的iCloud上”而被拒绝,我有几个问题
我遇到了禁用iCloud备份的功能:
- (BOOL)addSkipBackupAttributeToItemAtPath:(NSString *) filePathString
{
NSURL* URL= [NSURL fileURLWithPath: filePathString];
assert([[NSFileManager defaultManager] fileExistsAtPath: [URL path]]);
NSError *error = nil;
BOOL success = [URL setResourceValue: [NSNumber numberWithBool: YES]
forKey: NSURLIsExcludedFromBackupKey error: &error];
if(!success){
NSLog(@"Error excluding %@ from backup %@", [URL lastPathComponent], error);
}
return success;
}
但是我应该把它用在什么地方呢
此外,在我的应用程序中,我保存了临时文件,我一直用新文件替换这些文件。苹果告诉我应该把这些保存在tmp
目录下,但是如果我把它保存在documents目录下,我的应用会被拒绝吗
我的最后一个问题是,正如我在最后一个问题中所说的,我一直在替换文件。苹果提到我应该确保删除临时文件,但我可以简单地在路径上替换它们吗?例如:
archiveObjectWithFileName(“fn”,NSString())
以及之后
archiveObjectWithFileName(“fn”,UIImage())
文件会被替换还是我仍然需要删除它