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

            }

        }

相關文章
相關標籤/搜索