我有一个Beta iOS应用程序,可以通过TestFlight分发给测试人员。有时,这些测试人员遇到的错误不会触发崩溃,但是会导致体验下降。我使用带有错误日志级别的os_log
记录了所有这些错误,但是除非物理上连接了它们的设备并在控制台中查看日志,否则我不确定如何检索日志。
例如,应用程序在创建帐户时可能会遇到未知错误。该应用程序显示一条警报,通知用户发生错误,然后使用os_log
记录错误的详细信息。
import UIKit
import os.log
class MyViewController: UIViewController {
func signUpButtonTapped() {
do {
// Try to create the user's account, which might throw an exception.
try createUserAccount()
} catch {
os_log("Unknown sign up error: %@", log: .default, type: .error, String(describing: error))
let alert = UIAlertController(title: "Sign Up Error", message: "There was an error creating your account.", preferredStyle: .alert)
alert.addAction(UIAlertAction(title: "OK", style: .default))
present(alert, animated: true)
}
}
}
是否可以通过TestFlight检索这些记录的错误消息?另外,测试人员是否可以通过内置方式手动向我发送应用日志?我只遇到了检索崩溃日志的方法,该方法行不通,因为该错误不会触发崩溃。
我知道有第三方服务/库可以完成此任务,但我不想添加其他依赖项。
答案 0 :(得分:0)
似乎无法从TestFlight用户远程检索日志。
我确实找到了一种方法,可以让用户使用sysdiagnose
手动发送日志,但这有点麻烦。详细信息are documented by Apple here(您必须登录到Apple开发人员帐户才能查看链接)。我正在按照与another answer相同的步骤进行操作,该步骤介绍了如何检索os_log
消息。
基本步骤是: