Sen*_*mar 3 objective-c crash-reports ios ios6
假设我的应用程序崩溃意味着在那个时候applicationWillTerminate
调用函数.在该功能中,我想将崩溃日志文件保存在Temporary目录中.当应用程序在那时启动时,我想通过编码将崩溃报告文件从iOS设备上传到我的服务器位置.
我正在使用此代码来保存崩溃日志文件.
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *logPath = [documentsDirectory stringByAppendingPathComponent:@"console.log"];
freopen([logPath cStringUsingEncoding:NSASCIIStringEncoding],"a+",stderr);
Run Code Online (Sandbox Code Playgroud)
但是这段代码可以在模拟器中使用.我能够看到这个文件
/Users/UserNAme/Library/Application Support/iPhone Simulator/6.0/Applications/xxx-yyy-sss--eee/Documents/console.log
Run Code Online (Sandbox Code Playgroud)
但我无法在ios设备中找到此文件.
注意:在我正在使用的ios设备中查找文件 iExplorer
不幸的是,您无法以编程方式访问设备上的崩溃日志.为了克服这个问题,有许多商业,准商业和开源解决方案.
特别是,HockeyApp(现在由微软拥有)和批评商提供商业解决方案.此外,TestFlightApp(尽管Apple购买)仍然通过其界面提供此类功能.
HockeyApp源代码也可以在github上找到.
最后,这些系统中的大部分都使用了一个名为plcrashreporter的底层崩溃捕获器,它是一个开源框架,可以在您的目录中放置几乎完全相同的iOS崩溃报告.
如果您想自己管理,我强烈建议plcrashreporter
,否则托管和商业解决方案都可用,您应该查看它们并自行决定.
归档时间: |
|
查看次数: |
3646 次 |
最近记录: |