Пример кода, который вы нашли, уже использует API-интерфейсы C (CFNetworkCopySystemProxySettings, CFNetworkCopyProxiesForURL), а затем приступает к некоторой дополнительной работе по преобразованию результатов во что-то более дружественное для программы Objective-C (например, вызов NSMakeCollectable для включения Objective-С мусора).
Это может помочь вам понять это, если вы знаете, что вызовы "CF *" - это API "Core Foundation", который вызывается из C (или C ++), а "NS *" - это Objective-Cклассы / методы.Таким образом, ваша задача состоит в том, чтобы повторно привести код с использованием только вызовов и типов данных Core Foundation.Например, CFDictionary и NSDictionary являются взаимозаменяемыми («бесплатный телефонный мост», на языке Apple), поэтому вы можете обрабатывать словарь из программы на C / C ++, используя API CFDictionary вместо NSDictionary.
Для пониманиякак это работает (вместо того, чтобы просто попросить кого-то перевести это для вас), вам нужно исследовать такие функции, как:
CFNetworkCopySystemProxySettings
CFURLCreateWithString
CFNetworkCopyProxiesForURL
CFDictionaryGetValue
Вам также понадобятся базовые знания Управление памятью Core Foundationправила