My iOS app freezes but no error appears

Generally, it is highly recommended to perform on the main thread all animations method and interface manipulation, and to put in background tasks like download data from your server, etc...

dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
    //here everything you want to perform in background

    dispatch_async(dispatch_get_main_queue(), ^{ 
        //call back to main queue to update user interface
    });
});

Source : http://www.raywenderlich.com/31166/25-ios-app-performance-tips-tricks


Launch your app and wait for it to freeze. Then press the "pause" button in Xcode. The left pane should show you what method is currently running.