This is some advice from an iOS application developer using Chilkat FTP2.  It is about monitoring the progress of an FTP upload or download, but it’s a technique that can be considered for updating the UI for any long-running operation that provides percent-done event callbacks:
“It took me a while to avoid all the problems with updating the progress window in iOS 6, since all UIKit functions only work in the main task, but now everything is running perfectly (as perfect as software can ;-).
In short my solution:
The CkoFtp2Progress only handles the plain data and got updates from different parts of the program. And a installed NSTimer refreshes the UIWindow from the main task with the actual data in CkoFtp2Progress. Just in case someone asks you. I saw a lot of people having trouble with this point, while working on this solution.”