QuincyKit没有将崩溃报告保存到数据库

时间:2014-04-08 00:45:51

标签: php objective-c cocoa-touch crash-reports plcrashreporter

我已在客户端和服务器上设置了quincy。在客户端我使用:

[[BWQuincyManager sharedQuincyManager] setSubmissionURL:@"http://example.com/server/crash_v300.php"];
[[BWQuincyManager sharedQuincyManager] startManager];

在客户端我使用" test.php" (回声传递给所有人)和crash_v300(回声' -3'验证它是否有效。

然而,当应用程序崩溃并且有一个提醒我是否要发送崩溃报告并且我说'是'。它不会将崩溃报告保存在我的数据库中。有什么想法吗?

1 个答案:

答案 0 :(得分:0)

有同样的问题。 第一个问题是,出于安全原因,某些PHP操作被提供程序阻止。不得不联系他以取消这种保护。

第二个问题是common.inc文件中的mysql查询不正确。

我必须为$ crashPatten变量做一个mysql_real_escape_string()来修复它:

// create a new pattern for this bug and set amount of occurrances to 1
$query = "INSERT INTO ".$dbgrouptable." (bundleidentifier, affected, pattern, location, exception, reason, amount, latesttimestamp) 
                                 values ('".$bundleidentifier."', '".$version."', '".mysql_real_escape_string($crashPattern)."', '".mysql_real_escape_string($crashLocation)."', '".mysql_real_escape_string($crashException)."', '".mysql_real_escape_string($crashReason)."', 1, ".time().")";

为了找到你遇到的问题,你应该实现BWQuincyManger的委托功能:

(void)quincyManager:(BWQuincyManager *)quincyManager 
   didFailWithError:(NSError *)error;

如果返回的错误代码等于510,那么它可能是您服务器的安全限制。如果没有返回错误,则可能是common.inc文件中的错误。

我希望这对你有所帮助。