Objective-C, Test, iPad, iPhone非同期テストを書くにはdispatch_semaphoreを使う方法と、自分でループまわして管理する方法の2つがありますね。違い、というか、特徴としてはdispatch_semaphore使うとかなり綺麗にテストコードが記述できますが、処理内でメインスレッドになってしまうと、そのまま二度と帰ってこないみたいです。自分で管理する場合はこれの逆、メインスレッドに行ってもテストできるけど、テストはちょっと冗長になる感じ。dispatch_semaphore dispatch_semaphore_t semaphore = dispatch_semaphore_create(0); dispatch_queue_t global_queue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIOR