#iphone #xamarin.ios #xamarin #cfnetwork
#iPhone #xamarin.ios #xamarin #cfnetwork
Вопрос:
Я использую следующий код Xamarin.iOS для настройки прокси.
var configuration = NSUrlSessionConfiguration.DefaultSessionConfiguration;
System.IntPtr myHandle = Dlfcn.dlopen("/CFNetwork.framework/CFNetwork", 0);
var keyHost = Dlfcn.GetStringConstant(myHandle, "kCFStreamPropertyHTTPProxyHost");
var keyPort = Dlfcn.GetStringConstant(myHandle, "kCFStreamPropertyHTTPProxyPort");
Dlfcn.dlclose(myHandle);
NSDictionary proxyDict = new NSDictionary(keyHost, "<my-host-value>", keyPort, "<my-port-value>");
configuration.ConnectionProxyDictionary = proxyDict;
Он работает в симуляторе, но не на устройстве (iPhone и iPad). Как решить эту проблему?
Ответ №1:
После долгих исследований я думаю, что нашел решение. Путь к динамической библиотеке (первый параметр в Dlfcn.dlopen) должен быть:
«/System/Library/Frameworks/CFNetwork.framework/CFNetwork»
или вы можете использовать константы класса:
Константы.CFNetworkLibrary