用Macbook开发桌面应用,使用Alamofire连接.Net Core Webapi的注意事项!

------------https方式-----------------------swift

由于Swift9以后访问接口只能使用https,因此在后台加入pfx文件(怎么生成,自行百度吧)
1.将pfx放在项目根目录下面。
2.将Program的启动项改成api

// 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>ui

        <true/>spa

    </dict>server

</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)")

            }

        }

相关文章
相关标签/搜索