2016-06-26 2 views
1

このコードでこの警告が表示されます。 アップデートが利用できるかどうかをバックグラウンドで確認しています。そして、警告を出してください。 明らかに、XcodeとiOSは私の考えが好きではありません。 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() 
       } 
      }) 

答えて

1

メインスレッド上のすべてのUIコード必見実行。更新チェックを実行するためにバックグラウンドスレッドにディスパッチしていますが、表示されているエラーの原因となっている同じバックグラウンドスレッドからUIを更新しようとしています。その解決策は、self.showAlertForUpdate()に呼び出しをラップするのではなく、メインキュー(dispatch_get_main_queue(...)にディスパッチすることで、別のdispatch_asyncを最初のキューに追加することです。

+0

ありがとうございました。私の問題を解決しました。 –

関連する問題

 関連する問題