Ios 获取以下错误:此应用程序正在从后台线程修改autolayout引擎

Ios 获取以下错误:此应用程序正在从后台线程修改autolayout引擎,ios,swift2,dispatch-async,Ios,Swift2,Dispatch Async,我用这个代码得到这个警告。 我正在后台检查是否有更新可用。然后发出警报。 显然Xcode和iOS不喜欢我的想法。。。有什么想法吗 dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), { if CheckAppUpdate().appUpdateAvailable("http://itunes.apple.com/lookup?id=xxxxxxxxxxxx

我用这个代码得到这个警告。 我正在后台检查是否有更新可用。然后发出警报。 显然Xcode和iOS不喜欢我的想法。。。有什么想法吗

  dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), {

                if CheckAppUpdate().appUpdateAvailable("http://itunes.apple.com/lookup?id=xxxxxxxxxxxxx") == true {

                  self.showAlertForUpdate()
                }
            })
在iOS中,所有UI代码都必须在主线程上运行。您正在调度到后台线程以执行更新检查,这很好,但随后尝试从同一后台线程更新UI,这会导致您看到的错误。解决方案是在第一个队列中添加另一个
dispatch\u async
,将调用包装到
self.showAlertForUpdate()
,但将其分派到主队列(
dispatch\u get\u main\u queue(…