iOS - 无法在模拟器上写入文件

标签 ios objective-c facebook cocoa-touch plist

我正在尝试将一个简单的 .plist 文件保存到我的 documentsDirectory。我已按照 Facebook 的文档保存 token ,并实现了以下方法:

static NSString* kFilename = @"TokenInfo.plist";

[...]

- (instancetype)init {
    if (self = [super init]) {
        _tokenFilePath = [self filePath];
    }

    return self;
}

- (NSString *)filePath {
    NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentationDirectory, NSUserDomainMask, YES);
    NSString *documentsDirectory = [paths lastObject];

    return [documentsDirectory stringByAppendingPathComponent:kFilename];
}

- (void)writeData:(NSDictionary *)data {

    NSLog(@"File = %@ and Data = %@", self.tokenFilePath, data);

    BOOL success = [data writeToFile:self.tokenFilePath atomically:YES];
    if (!success) {
        NSLog(@"Error writing to file");
    }
}

我现在很及时地打印了 NSLog(@"Error writing to file");。关于为什么会这样有什么想法吗?

最佳答案

您需要 NSDocumentDirectory 而不是 NSDocumentationDirectory。 Xcode 中的代码完成在文档目录枚举之前提供文档目录。这是非常容易错过的。

关于iOS - 无法在模拟器上写入文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21734664/

相关文章:

ios - Firebase、 swift : Create a time checker in the background similar to the Snapchat streak system that performs an action when the time runs out

objective-c - IOS - Mapkit 崩溃 - 这是 xcode 4.2 和自动引用计数 (ARC) 中的错误吗?

ios - 插入到 UITableView

ios - 如何从代码中获取 Facebook 访问 key

Facebook 的应用程序许可消息含糊不清且毫无帮助

javascript - 是否可以调试在 IE9 中的 iFrame 中运行的 Javascript

ios - NativeScript 将 UIViewController 传递给 native iOS 方法

ios - CoreData 防止更新时崩溃

ios - 无法使用 Xcode 7.2 使用 RestKit v0.10.3 存档 iOS 5.0 时代的项目

iphone - 在 iOS 上创建类似于饼图的东西