#ios #iphone #xamarin.forms
Вопрос:
Я работаю над проектом Xamarin Forms для IOS, при выполнении запроса к любому API он отправляет мне следующую ошибку:
«Домен ошибки=NSURLErrorDomain Код=-1009 «Подключение к Интернету, похоже, отключено». userInfo={…»
Мой метод:
public async Task<T> PostResponse<T>(string weburl, string jsonstring) where T : class
{
try
{
GetDefaultHeaderBearer();
HttpResponseMessage httpResponseMessage = await client.PostAsync(weburl, new StringContent(jsonstring, Encoding.UTF8, "application/json"));
string jsonResult = await httpResponseMessage.Content.ReadAsStringAsync();
return JsonConvert.DeserializeObject<T>(jsonResult);
}
catch (Exception e)
{
throw new Exception(e.Message);
}
}
Сервер моего Api размещен на локальном сервере Linux, к которому я могу получить доступ через Wi-Fi на своем устройстве Iphone (без симулятора). Я могу получить доступ к API-интерфейсам из safari, но приложение xamarin возвращает эту ошибку при попытке выполнить какой-либо запрос.
Моя среда разработки-Windows 10 pro с версией Visual Studio 2019 v16.11.2. Nuget:
- Ксамарин.Формы 5.0.0.2125. Ксамарин.Основы 1.7.0. NetStandard.Библиотека 2.0.3.
Комментарии:
1. Google возвращает много обращений за этим сообщением об ошибке, вы читали какие-либо из них для возможных исправлений?
2. @Jason Я уже потратил много часов на возможные решения Google, но это не работает.
3. @Jason Любая помощь, которую вы можете оказать, будет приветствоваться.
4. Попробуйте обновить VS до последней версии, чтобы узнать, сохраняется ли проблема, пожалуйста, обратитесь к этой проблеме : github.com/xamarin/xamarin-macios/issues/. …
Ответ №1:
Установите безопасность транспорта приложений в своем списке.plist;
<key>NSAppTransportSecurity</key>
<dict>
<key>NSAllowsArbitraryLoads</key>
<true/>
<key>NSAllowsLocalNetworking</key>
<true/>
</dict>
Комментарии:
1. Это не сработало, я добавил эту конфигурацию в info.plist, но она продолжает подводить меня.