0

我正在为 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 的服务器托管在我可以从 wifi 访问的本地 linux 服务器上,在我的 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。网络标准库 2.0.3。
4

1 回答 1

0

在 your.plist 中设置 App Transport Security;

<key>NSAppTransportSecurity</key>
<dict>
<key>NSAllowsArbitraryLoads</key>
<true/>
<key>NSAllowsLocalNetworking</key>
<true/>
</dict>
于 2021-09-24T23:19:47.047 回答