В документации сказано, что вы возвращаете YES
, если вы успешно открыли URI, и NO
, если вы этого не сделали. Обратите внимание, что « удалось или не удалось открыть » семантически отличается от « может или не может открыть ». К сожалению, нет способа предотвратить запуск приложения - если оно регистрирует схему, то оно будет запущено независимо от того, правильно ли отформатирован оставшийся URI.
UIApplication имеет два метода: canOpenURL:
и openURL:
. Первый ONLY проверяет, поддерживается ли схема (не полный URL), где последний запускает приложение и возвращает результат делегата приложения.
Итак, чтобы ответить на ваш вопрос: другое приложение, которое вызывает [[UIApplication sharedApplication] openURL:url]
, - это то, кто слушает результаты вашего делегата