【发布时间】:2021-02-18 10:52:44
【问题描述】:
我为 iOS 和 Android 创建了一个 Xamarin.Forms 项目。模拟器中的一切都按预期工作,当我通过 Mac 上的 Visual Studio 部署到我自己的开发人员设备时,但是当我将项目存档以在 TestFlight 中发布/测试时,应用程序没有从 web 服务获取任何数据。我在webservice端做了一些登录,并确认来自HttpClient的请求永远不会到达rest服务。
您可以在 Xamarin.Forms PCL 中看到我拥有的 RestService 的一部分。
运行服务的网络服务器使用安全连接 SSL/TLS。
HttpClient _client;
public RestService()
{
_client = new HttpClient();
}
public async Task<ObservableCollection<Event>> GetEventsAsync(int seasonId)
{
ObservableCollection<Event> Events = new ObservableCollection<Event>();
try
{
Uri uri = new Uri(string.Format(Constants.Constants.EVENT,
string.Empty) + "/" + seasonId);
HttpResponseMessage response = await _client.GetAsync(uri);
if (response.IsSuccessStatusCode)
{
string content = await response.Content.ReadAsStringAsync();
Events = JsonConvert.DeserializeObject<ObservableCollection<Event>>(content);
}
}
catch (Exception e)
{
Console.WriteLine(e);
}
return Events;
}
我在构建配置文件、链接选项等方面尝试了很多不同的方法,但似乎没有任何效果。
奇怪的是为什么它可以在我的设备上运行,即使我将发布配置文件部署到我的手机,但当我将它部署到 iTunes Connect 时却不行。
【问题讨论】:
-
在移动应用中添加一些日志记录,这样我们就可以看到确切的异常是什么。
-
您的应用是否启用了互联网权限?
标签: ios rest xamarin xamarin.forms