当我在iPad上测试我的应用程序时,它运行完美,即调用数据库,创建文件夹并执行其他任务,但在控制台中显示我
2015-05-12 11:25:32.478 MyApp [291:19680] [PLLogging]无法创建日志目录:操作无法完成.(可可错误513.).
当我搜索时,发现这个答案NSFileManager创建文件夹(Cocoa error 513.)
但不要删除这个.
此外,当我关闭并重新启动iPad时,此行未显示
题:
这是我调用数据库的代码
let fileManager = NSFileManager()
var Sourcepath = NSBundle.mainBundle().resourcePath?.stringByAppendingPathComponent("DataBase.db");
let docsPath = NSSearchPathForDirectoriesInDomains(NSSearchPathDirectory.DocumentDirectory, NSSearchPathDomainMask.UserDomainMask, true)[0] as! String
let databaseStr = "DataBase.db"
let dbPath = docsPath.stringByAppendingPathComponent(databaseStr)
println(dbPath)
if(fileManager .fileExistsAtPath(dbPath) == false) {
var error:NSError?
fileManager.copyItemAtPath(Sourcepath!, toPath: dbPath, error: &error)
println(error)
}
Run Code Online (Sandbox Code Playgroud)
这是一个创建日志文件夹的函数
func CreateLog(Log:String)
{
autoreleasepool{
var formatter:NSDateFormatter! = NSDateFormatter()
formatter.dateFormat = "yyyy-MM-dd";
var DateString = formatter.stringFromDate(NSDate()).stringByAppendingString("_tempLogs")
formatter.dateFormat = "yyyy-MM-dd HH:mm:ss";
var FileManager:NSFileManager! …Run Code Online (Sandbox Code Playgroud) 我正在尝试将文件从URL移到另一个文件,但是我收到code错误513。我知道这是一个NSFileWriteNoPermissionError。考虑到我首先创建了文件夹,因此我看不出这是怎么回事。
//self.video!.folderURL.path = /var/mobile/Containers/Data/Application/066BDB03-FD47-48D8-B6F8-932AFB174DF7/Documents/AV/769c504203024bae95b47d78d8fe9029
try? fileManager.createDirectory(atPath: self.video!.folderURL.path, withIntermediateDirectories: true, attributes: nil)
// Update permission for AV folder
do {
let parentDirectoryPath = self.video!.folderURL.deletingLastPathComponent().path
let result = try fileManager.setAttributes([FileAttributeKey.posixPermissions: 0o777], ofItemAtPath: parentDirectoryPath)
print(result)
} catch {
print("Error = \(error)")
}
// sourceURL = file:///private/var/mobile/Containers/Data/PluginKitPlugin/50D8B8DB-19D3-4DD6-93DD-55F37CF87EA7/tmp/trim.6D37DFD2-5F27-4AB9-B478-5FED8AA6ABD7.MOV
// self.url = file:///var/mobile/Containers/Data/Application/066BDB03-FD47-48D8-B6F8-932AFB174DF7/Documents/AV/0b0b6803e891780850152eeab450a2ae.mov
do {
try fileManager.moveItem(at: sourceURL, to: self.url)
} catch {
QLogTools.logError("Error moving video clip file \(error)")
}
Run Code Online (Sandbox Code Playgroud)
错误
“无法移动错误域= NSCocoaErrorDomain代码= 513”“ trim.90A10B33-B884-419F-BAD9-65583531C3C3.MOV”,因为您无权访问“ AV”。UserInfo = {NSSourceFilePathErrorKey = / private / …
我的应用程序会将一些文件写入文件系统并将其安装在/ Application而不是/ var/mobile/Application中,在我的开发iPhone上,一切顺利.但是当分发给其他人时,他们得到了"Cocoa error 513".文件写在/ var/mydir/files,那有什么问题?在完全允许的情况下,我可以在哪里找到合适的地方?谢谢.
码:
NSString *dir = @"/var/mydir/docs/";
NSFileManager *fileManager = [NSFileManager defaultManager];
if(![fileManager fileExistsAtPath:dir]) {
NSError *error = nil;
BOOL createdDir = [fileManager createDirectoryAtPath:dir withIntermediateDirectories:YES attributes:nil error:&error];
if (!createdDir) {
UIAlertView *errorAlertView = [[UIAlertView alloc] initWithTitle:@"Attention" message:[error localizedDescription] delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil];
[errorAlertView show];
}
}
Run Code Online (Sandbox Code Playgroud)
错误:
The operation couldn't be completed. (Cocoa error 513).
Run Code Online (Sandbox Code Playgroud)