Есть SCNetworkReachability
(см. Apple Достижимость пример кода ), но это только проверяет, должен ли сервер быть доступным, но не сообщает, действительно ли служба доступна (Бег).Для этого вы должны попытаться использовать его.Просто убедитесь, что не использует sendSynchronousRequest:returningResponse:error:
в главном потоке, так как это синхронно и будет блокировать поток, пока это не будет сделано.Если вы сделаете это в основном потоке, пользовательский интерфейс будет зависать до тех пор, пока служба не ответит или не истечет время ожидания.Поэтому либо используйте асинхронные методы NSURLConnection
(«рекомендуемый» способ), либо используйте синхронный метод в отдельном потоке.Первый, на мой взгляд, легче / лучше.