Cocoa contentOfDirectoryAtPath:某些用户的方法失败并出现错误 - Mac OS X

2024-04-04

这是代码片段:

// Get into the data folder of it
keychainPath = [keychainPath stringByAppendingPathComponent:@"data/default"];

DLog(@"Keychain data path: %@", keychainPath);

// Define Filemanager
NSFileManager *fm = [NSFileManager defaultManager];

// Catch any errors
NSError *dataError = nil;

// get all the files in the directory
NSArray *dataFiles = [fm contentsOfDirectoryAtPath:keychainPath error:&dataError];

if(!dataFiles)
 NSLog(@"Error: %@",dataError);

现在,这对于大多数人来说都可以正常工作,但也有一些人报告了问题,“dataError”对象给出了:

  Error: Error
Domain=NSCocoaErrorDomain Code=260 UserInfo=0x14d1fa10 "The folder
“default” doesn’t exist." Underlying Error=(Error
Domain=NSOSStatusErrorDomain Code=-43 "The operation couldn’t be
completed. (OSStatus error -43.)" (File not found))

遇到这个问题的人说文件/文件夹“默认”确实存在于应该存在的位置,所以我不知道为什么这不起作用。

任何帮助,将不胜感激!


谢谢彼得,keychainPath 只是一些字符串,如“~/Library/etc.etc”。

回答我自己的问题:

事实证明,问题是因为某些人的 Mac OS X 安装对波浪号 (~) 感到困惑

使用方法

[keychainPath stringByExpandingTildeInPath];

一旦这样做了,问题就解决了。

我想问题的原因是那些拥有多个用户帐户的人,而我没有。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Cocoa contentOfDirectoryAtPath:某些用户的方法失败并出现错误 - Mac OS X 的相关文章

随机推荐