【问题标题】:fprintf causes device to crash but not simulator?fprintf 导致设备崩溃但不是模拟器?
【发布时间】:2011-09-24 09:20:19
【问题描述】:

我有一个运行 iOS 4.2.1 的 iPod touch 和一个运行 iOS 4.2 的模拟器。在模拟器中,我的代码运行良好,但在设备上,它崩溃了。

有问题的代码是:

FILE *file = fopen([[@"niplot/" stringByAppendingString:text_field.text] fileSystemRepresentation], "w");
...
fprintf(file, "%s", [print_str UTF8String]); //crash occurs here, EXC BAD ACCESS
...
fclose(file);

可能与不存在的文件或文件夹有关吗?在这种情况下,模拟器为我创建了它们。我会尝试在设备上手动创建文件和文件夹,但我不确定如何。另外,我尝试了带有和不带有 .txt 扩展名的文件名。

【问题讨论】:

  • 只是出于好奇,为什么不使用本机文件处理机制?
  • 什么原生文件处理机制?我找不到,而且我习惯使用 C 的文件 API。
  • 问题不是你的 printf,而是fopen,它是一个相对路径名,并且设备比模拟器更严格地沙盒化(两者的启动目录也可能不同)
  • 在 developer.apple.com 上有完整的 iphone/ipod 文件处理 API 列表(从这里开始:developer.apple.com/library/ios/#DOCUMENTATION/Cocoa/Conceptual/…

标签: ios xcode io ipod-touch


【解决方案1】:

这是文件保存/加载/删除的some examples

【讨论】:

    猜你喜欢
    • 2015-04-17
    • 1970-01-01
    • 2014-11-06
    • 1970-01-01
    • 1970-01-01
    • 2011-07-24
    • 2012-07-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多