【问题标题】:Reading a text within my Mac OS X app在我的 Mac OS X 应用程序中阅读文本
【发布时间】:2013-04-23 17:44:14
【问题描述】:

做一些 Mac 编码,我有这个简单的代码,它总是产生空结果:

  NSString *bundlePathWithFile = [[NSBundle mainBundle] pathForResource:@"sample.txt" ofType:nil];
  NSString *info = [NSString stringWithContentsOfFile:bundlePathWithFile 
  encoding:NSUTF8StringEncoding error:nil];  
   NSLog(@"results %@",info);

我没有在 Xcode 中进行代码签名。我将 代码签名身份 设置为 不进行代码签名
我也没有做过自签名证书。

我只想阅读文件的文本,这是我的应用程序包的一部分。我是否必须进行代码签名并提供授权才能读取捆绑在我的应用程序中 resources 文件夹中的文件?

我是否遗漏了一些不允许我在此处读取自己的应用程序文件的内容?

【问题讨论】:

  • sample.txt 是否包含在 Copy Bundle Resources 阶段?
  • @CodaFi,是的,它是在目标构建阶段设置的。
  • 你能确认那个文件名和你交给NSBundle的文件名是一样的吗(文件名是CaSe SeNsiTiVe)?您是否尝试过打开 Bundle 以查看它是否被正确复制?
  • 您是否尝试将 NSError 作为错误参数与stringWithContentsOfFile 消息一起传递?然后使用NSLog,您可以获得更多信息。
  • Regular 是一个粗体术语,考虑到编码的数量,例如NSString 支持.. ;-)

标签: objective-c macos cocoa nsstring


【解决方案1】:

Regular 是一个粗体术语,考虑到编码的数量,例如NSString 支持.. ;-)

NSUTF8StringEncoding 通常应该适用于纯文本文件,但您需要确保您的文本文件具有正确的编码 - 检查例如使用免费且很棒的 TextWrangler,它将显示编码并允许您转换编码。

【讨论】:

    猜你喜欢
    • 2013-01-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多