------------https方式-----------------------
因为Swift9之后访问接口只能使用https,所以在后台加入pfx文件(怎么生成,自行百度吧)
1.将pfx放在项目根目录下面。
2.将Program的启动项改为
// WebHost.CreateDefaultBuilder(args)
// .UseKestrel(option => {
// option.Listen(System.Net.IPAddress.Any, 5001, (lop) => {
// lop.UseHttps("server.pfx", "111");
// });
// })
// .UseUrls("https://*:5001")
// .UseContentRoot(Directory.GetCurrentDirectory())
// .UseIISIntegration()
// .UseStartup<Startup>()
// .Build();
3.后台改造完毕。
4.Swift中使用Alamofire调用, “ATS failed system trust”,
经百度,苹果公司对http的访问管控越来越严,此处必须是CA证书,在网上申请证书又要域名,因为是本地开发项目,还没有相关资料,所以放弃这种方式。
-----------http方式------------------------
随后在网上又找了可以本地http的方式
1.在info.plist中增加红色字体部分
<key>NSPrincipalClass</key>
<string>NSApplication</string>
<key>NSAppTransportSecurity</key>
<dict>
<key>NSAllowsArbitraryLoads</key>
<true/>
</dict>
</dict>
</plist>
2.将.Net Core代码再改回去(如果你安装上面的方式修改的话)
WebHost.CreateDefaultBuilder(args)
.UseStartup<Startup>()
.Build();
3.在swift中用一下代码测试
Alamofire.request("http://localhost:5000/api/******/Gettables").responseJSON { response in
print(response.request) // 原始的URL请求
print(response.response) // HTTP URL响应
print(response.data) // 服务器返回的数据
print(response.result) // 响应序列化结果,在这个闭包里,存储的是JSON数据
if let JSON = response.result.value {
print("JSON: \(JSON)")
}
}
原文地址:https://www.cnblogs.com/mchp/p/9435538.html