Я использую библиотеку GCDWebServer(https://github.com/swisspol/GCDWebServer) в моем проекте, который требует, чтобы я принимал соединения, исходящие только из процесса моего приложения, по соображениям безопасности. Я надеялся, что это то, что песочница приложения iOS предоставит из коробки, но, похоже, это не так. Песочница, по-видимому, применяется для сокетов домена UNIX (AF_UNIX) посредством разрешений файловой системы. Но для сокетов TCP/IP (AF_INET), используемых GCDWebServer, песочницы, по-видимому, нет.
Мне удалось написать два примера приложений — клиентское и серверное (подписанные разными сертификатами разработчика), и они могли без проблем взаимодействовать друг с другом.
Мне было интересно, есть ли какой-нибудь способ обеспечить то же самое на iOS, по сути, запустить HTTP-сервер в сокете TCP, но принимать соединения только из одного и того же процесса. Я не могу использовать сокеты домена UNIX, потому что клиент, который будет запрашивать контент с HTTP-сервера, является AVPlayer и не знает, как подключиться к сокету домена UNIX моего приложения.