NSURL
«поддерживает» любую схему, потому что ничего не знает о том, как использовать данную схему. Это просто оболочка вокруг концепции URL.
Аналогично, NSURLRequest
не знает больше, но у него есть возможность хранить дополнительную информацию, которая может быть специфичной для протокола.
NSURLConnection
- это место, где вы начинаете получать более специфичные для протокола. NSURLConnection
может поддерживать любой URL, который вы на него указываете, при условии, что для этого зарегистрирован подходящий подкласс NSURLProtocol
. Но из коробки задокументировано для поддержки http:
, https:
, ftp:
и file:
. Вы можете проверить это с помощью быстрого +canHandleRequest:
вызова.
Опытным путем система также поддерживает data:
URL-адреса. Я подал радар: // problem / 13649313 в Apple с просьбой документировать это.