2

如果您要说“等等等等私有 API 使用将被拒绝等等”之类的话,请停止阅读

这适用于企业应用程序

在 iOS 5 中,我试图将当前的崩溃日志从客户端 iPad 发送到我的服务器。他们有一个管理软件,但无法从中获取崩溃日志,只有控制台日志在这种情况下没有帮助。

我尝试使用读取 /var/logs/CrashReporter 的内容

NSError * error;
NSArray * directoryContents = [[NSFileManager defaultManager] contentsOfDirectoryAtPath:@"/var/mobile/Library/Logs/CrashReporter" error:&error];

但得到

Error Domain=NSCocoaErrorDomain Code=257 "The operation couldn’t be completed. (Cocoa error 257.)" UserInfo=0x197e80 {NSUserStringVariant=(
    Folder
), NSFilePath=/var/mobile/Library/Logs/CrashReporter, NSUnderlyingError=0x198370 "The operation couldn’t be completed. Operation not permitted"}

我也尝试过NSFileManager contentsOfDirectoryAtURL:并且有同样的错误

我一直在寻找一个私有 API 来访问沙箱之外的文件,但没有看到任何突出的东西。

是否有另一种方法可以从设备中获取现有的崩溃日志?我正在考虑实施现有的第三方崩溃日志包之一,但我需要访问设备上的当前日志,因为这种崩溃不容易重新创建,而且设备也不容易访问。用户也不与 iTunes 同步,所以我无法从那里获取日志。

我知道这是可能的,至少在越狱环境中,因为像 iFile 这样的应用程序可以做到这一点。在越狱环境中,我确实看到与上面代码的非越狱环境相同的错误。

有什么建议么?

4

0 回答 0