Мне сложно понять, как работает этот метод.
Из документации указано:
canOpenURL: возвращает ли
приложение может открыть данный URL
ресурс.
- (BOOL)canOpenURL:(NSURL *)url
Параметры url Объект URL, который
идентифицирует данный ресурс. URL
схема - возможно, обычай
схема - определяет, какое приложение
может обрабатывать URL.
Возвращаемое значение НЕТ, если нет приложения
доступно, что примет URL;
в противном случае возвращает YES.
Обсуждение Этот метод гарантирует, что
что если openURL: называется, другой
приложение будет запущено для обработки
Это. Это не гарантирует, что
полный URL действителен.
Доступность доступна в iPhone OS
3.0 и позже. Объявлено в UIApplication.h
В частности, если это:
гарантирует, что при вызове openURL: будет запущено другое приложение для его обработки.
Тогда, например, если я введу tel://HELLOWORLD
, он вернет YES
, а когда я пытаюсь openUrl
, приложение телефона не вызывает его. Ничего не происходит, поэтому я предполагаю, что полный URL-адрес недействителен при попытке набрать номер.
Я понимаю, что он не проверяет полный URL-адрес, но по своей природе почему он не показывает ошибку или что-то еще, если я не могу набрать номер?
В основном мне интересно: что это такое точно проверка?
Я не уверен, что он просто проверяет тип обработчика и приложения, которые поддерживают этот конкретный обработчик (tel://
в этом случае не будет работать, например, для iPod Touch.).