任何人都可以帮我调试这个问题,从我开始使用iOS 11 GM种子的Xcode 9 GM种子开始,我的代码在控制台中向我发出警告说:
foreach($_POST['cast_id'] as $cast_id) {
foreach (array_combine($_POST['star'], $_POST['review']) as $star => $review) {
echo $cast_id."<br>";
echo $star."<br>";
echo $review."<br>";
//$reg_action = mysqli_query($con, "UPDATE job_apply_review SET star = '$star', review = '$review' WHERE cast_id = '$cast_id'");
}
}
另外,我在我的应用程序中使用ESRI地图,当我放大或缩小ESRI地图时,我收到此错误:
2017-09-18 16:22:52.872716+0530 **** *****[359:20158] [reports] Main Thread Checker: UI API called on a background thread: -[UIApplication
applicationState] .PID: 359, TID: 20158,
Thread name: Runtime Network Callback Thread,
Queue name: com.apple.root.default-qos.overcommit, QoS: 21
Backtrace:
应用程序适用于Xcode 8 iOS 10.3.3。问题似乎与Xcode 9有关。任何人都可以帮我调试这个问题。感谢
答案 0 :(得分:3)
Xcode 9添加了一个新的运行时检查,即Main Thread Checker。
根据Apple文档:
主线程检查器是Swift和C语言的独立工具 检测到AppKit,UIKit和其他API的无效使用情况 背景线程。在主线程以外的线程上更新UI 是一个常见的错误,可能导致错过UI更新,视觉 缺陷,数据损坏和崩溃。
您在使用Xcode 8的应用中已经遇到此问题。只是检测它的工具还没有。
在您的情况下,它似乎是对UIApplication.shared.applicationState
的调用导致此运行时问题。
您可以将应用方案配置为在发生时停止执行。它是诊断选项卡中主线程检查器部分下的复选框。