首先請原諒我的英文。這是我的第一個問題。我已經閱讀了很多關於stackoverflow常見問題和解決方案的解決方案,而IMO stackoverflow的社區是該分支中最值得信任的。iOS:「open:Permission denied」
目前我正在開發一個iOS應用程序,最近我遇到了一個問題,並經過一些研究後,我沒有找到解決方案。當我使用fopen
打開現有文件,我收到以下錯誤:
open: Permission denied
以下是剪掉這將導致錯誤的代碼:
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES);
NSString *cachePath = [paths objectAtIndex:0];
BOOL isDir = NO;
NSError *error;
if (! [[NSFileManager defaultManager] fileExistsAtPath:cachePath
isDirectory:&isDir] && isDir == NO) {
[[NSFileManager defaultManager] createDirectoryAtPath:cachePath
withIntermediateDirectories:NO
attributes:nil
error:&error];
}
NSString* filePath = [cachePath stringByAppendingPathComponent:
[NSString stringWithFormat:@"tmpmem%i.bin", count++]];
const char *cPath = [filePath cStringUsingEncoding:NSISOLatin1StringEncoding];
int file = open(cPath, O_RDWR | O_CREAT);
if (file == -1)
{
perror("open");
return NULL;
}
我期待着您的幫助。先謝謝你。
問候, B.季米特洛夫
它很難知道不知道什麼是緩衝區?所有的路徑應該是相對於[NSBundle mainBundle] – 2012-03-05 21:22:15
我已經更新了代碼片段。 – 2012-03-05 21:37:29
在這一點上,我會不高興,我對緩存目錄並不熟悉。系統是否有可能對這裏創建的東西擁有所有權?是否有某種文章或知識產權會讓你相信這應該起作用? – 2012-03-05 23:29:47