NSFileManager может быть блокирован и рекомендуется запускать в потоке, отличном от основного потока.Вот фрагмент использования Grand Central Dispatch для использования iCloud Storage в другом потоке
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];
});
});
Это из замечательной статьи, расположенной здесь: