在控制台中,我在应用程序运行时看到以下错误:
void - [MKTileCache 同步(MKTileCache * objc_selector *)在调用时调用 背景
这个错误意味着什么,我该如何预防呢?
答案 0 :(得分:1)
您可能正在从后台线程调用MKMapView上的用户界面功能。应从主线程调用所有用户界面函数;您可以使用后台线程中的performSelectorOnMainThread:withObject:waitUntilDone:
来指示主线程在必要时执行相应的选择器。
答案 1 :(得分:0)
不一定,@ Anomie。 “背景”不仅仅指代主(UI)线程,而不是背景(工作者)线程。它也可以指代背景的应用程序(不是活动的应用程序)。我有一个使用 MapKit 的应用,它不支持多任务处理(退出时关闭)。当我关闭我的应用程序时,我总是看到这个错误。直到应用程序离开“前景”才会出现。在我的情况下,我的一些代码从工作者线程调用MapKit UI函数肯定是不。
所以,回答这个问题......我也看到了这一点。它似乎不是一个问题。我没有收到Apple或其他任何人的任何投诉。
在退出之前,我已尝试将我的MapView的委托,MapView,CLLocationManager的委托和CLLocationManager取出。这些解决方案都没有消除这个消息。