Just in the appdelegates, applicationDidBecomeActive. I create and start a thread, this thread waits an asynchronous download and then save data:
- (void)a
This error is most commonly seen when using UIKit UI API on a non-main thread. You don't have to be directly using Core Animation to see this. All UIViews are backed by a Core Animation layer, so Core Animation is in use whether you're interacting directly with it or not.
There's not enough code in your question to identify the exact problem, but the fact that you're using multithreading is a clue that your problem is as I've described. Are you updating your UI after the download is complete and/or the data is saved? If so, you need to move the UI update back to the main thread/queue. This is easier if you use GCD instead of NSThread:
// download is finished, save data
dispatch_async(dispatch_get_main_queue(), ^{
// Update UI here, on the main queue
});