相关疑难解决方法(0)

无法创建日志目录

当我在iPad上测试我的应用程序时,它运行完美,即调用数据库,创建文件夹并执行其他任务,但在控制台中显示我

2015-05-12 11:25:32.478 MyApp [291:19680] [PLLogging]无法创建日志目录:操作无法完成.(可可错误513.).

当我搜索时,发现这个答案NSFileManager创建文件夹(Cocoa error 513.)

但不要删除这个.
此外,当我关闭并重新启动iPad时,此行未显示

题:

  1. 为什么我在控制台中得到这个声明?
  2. 以上声明可能会在将来崩溃我的应用程序?
  3. 如何清除Cocoa error 513?

这是我调用数据库的代码

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)

xcode cocoa-touch ipad ios swift

25
推荐指数
1
解决办法
1687
查看次数

NSFileManager moveItem引发错误代码= 513

我正在尝试将文件从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 / …

xcode nsfilemanager ios swift ios13

6
推荐指数
1
解决办法
284
查看次数

为什么在越狱的iPhone上将文件写入"/ var/mydir/files"时会出现"Cocoa error 513"?

我的应用程序会将一些文件写入文件系统并将其安装在/ 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)

iphone jailbreak nsfilemanager ios

5
推荐指数
1
解决办法
7822
查看次数

标签 统计

ios ×3

nsfilemanager ×2

swift ×2

xcode ×2

cocoa-touch ×1

ios13 ×1

ipad ×1

iphone ×1

jailbreak ×1