This feels a bit awkward, 
```
if(!message){
   message =  (error.localizedFailureReason) ? error.localizedFailureReason : @"Error";
}
```
would make it more in-line with the rest of the function