【问题标题】:What I have to do for logging error by passbook web service reference通过存折 Web 服务参考记录错误我必须做什么
【发布时间】:2023-03-26 03:12:01
【问题描述】:

在 Logging Errors 中,设备向 webServiceURL/version/log 发送 POST 请求,那么此时服务器需要做什么?

【问题讨论】:

  • 只存储设备发回的错误 - 您应该定期查看错误并解决它们显示的任何问题。在调试新应用程序时,它们会很有帮助。
  • 如何存储这些错误?我的代码不起作用: if (strtoupper($_SERVER['REQUEST_METHOD']) === "POST" && $request[3]==='log'){ error_log("Logs: " .$logs, 0 );响应200(); }
  • 数据以 JSON 格式发送 - 使用与获取 pushToken 相同的代码,然后将 JSON 对象写入日志。
  • 我在这个方法中只响应200,就可以了!
  • 谢谢 PassKit!但我不知道如何将 JSON 对象写入日志!

标签: logging ios6 error-logging passbook


【解决方案1】:

要将输出记录到 PHP 日志中,您可以使用以下内容:

$log_items = json_decode(@file_get_contents('php://input'))->logs;
foreach($log_items as $key => $log_message)
    error_log("Passbook Error Log: " . $log_message, 0);

【讨论】:

  • 您的评论描述了一条日志消息,您可以在 PHP 错误日志中看到它。您收到此警告是因为您的 Web 服务使用与已安装的 .pkpass 捆绑包完全相同的 .pkpass 捆绑包响应“获取最新版本的通行证”方法。为避免出现此消息,如果 pass 未更改,您需要使用 204 响应 get serials 方法和使用 304 响应 get latest version 方法。
  • 我使用 max(updateTag) 来查找新的最新版本的通行证;但我仍然得到:4 月 9 日 11:07:28 CamMobs-iPod4 passd[3102] :获取串行 #s 任务(对于设备 7933e8415e97e2fc19cd905791b8fd54,通过类型 pass.cam-mob.passbookpasstest,最后更新 1365479301;使用网络服务url 192.168.1.202:8888/passesWebserver) 遇到错误:服务器响应格式错误(响应字典中键序列号的数组必须包含 NSString 类型的对象。找到 NSNull 类型的对象。)
  • 您需要检查您检索到的记录的updateTag值是否大于您收到的passesUpdatedSince标签。如果不是,则发送204,如果是,则发送序列 JSON 和一个新的 lastUpdated 标签。
  • 但是updateTag是timestamp,passUpdatedSince tage是string,如何比较?
  • 既然你控制了两者,为什么不直接使用 unix 时间戳。如果不使用 PHP 的 strtotime 函数将它们都转换为时间戳。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-07-06
  • 2023-04-07
  • 1970-01-01
  • 2011-01-10
  • 2014-07-19
相关资源
最近更新 更多