【问题标题】:Xamarin Forms IOS, API Request return The Internet connection appears to be offlineXamarin Forms IOS,API 请求返回 Internet 连接似乎已脱机
【发布时间】:2021-11-18 02:50:44
【问题描述】:

我正在为 IOS 开发一个 Xamarin Forms 项目,当执行对任何 API 的请求时,它会向我发送以下错误:

"Error Domain=NSURLErrorDomain Code=-1009 "Internet 连接似乎处于脱机状态。" 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 服务器上,我可以通过 wifi 访问,在我的 Iphone 设备中(无模拟器)我可以从 safari 访问 api,但 xamarin 应用程序在尝试发出任何请求时返回该错误.

我的开发环境是带有 Visual Studio 2019 v16.11.2 的 Windows 10 pro。 Nuget 版本:

  • Xamarin.Forms 5.0.0.2125。 Xamarin.Essentials 1.7.0。 NetStandard.Library 2.0.3。

【问题讨论】:

  • Google 为该错误消息返回 许多 次点击,您是否阅读过其中任何可能的修复?
  • @Jason 我已经花了很多时间在可能的谷歌解决方案上,但它不起作用。
  • @Jason 欢迎您提供任何帮助。
  • 尝试将VS更新到最新版本,看看问题是否依然存在,请参考issue:github.com/xamarin/xamarin-macios/issues/…

标签: ios iphone xamarin.forms


【解决方案1】:

在 your.plist 中设置应用传输安全性;

<key>NSAppTransportSecurity</key>
<dict>
<key>NSAllowsArbitraryLoads</key>
<true/>
<key>NSAllowsLocalNetworking</key>
<true/>
</dict>

【讨论】:

  • 它不起作用,我在 info.plist 中添加了这个配置,但它总是让我失败。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-11-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多