NSFileManager can be blocked and it is recommended to start a thread other than the main thread. Here is a snippet of using Grand Central Dispatch to use iCloud Storage in another thread.
dispatch_queue_t globalQueue = dispatch_get_global_queue(QUEUE_PRIORITY_DEFAULT, 0); dispatch_async(globalQueue, ^{ NSFileManager *fileManager = [[NSFileManager alloc] init]; NSURL *ubiquityContainer = [fileManager URLForUbiquityContainerIdentifier:nil]; dispatch_queue_t mainQueue = dispatch_get_main_queue(); dispatch_async(mainQueue, ^{ [self updateWithUbiquityContainer:ubiquityContainer]; }); });
This is from a great article located here:
http://oleb.net/blog/2011/11/ios5-tech-talk-michael-jurewitz-on-icloud-storage/
Mobileoverlord
source share