報錯信息
nw_socket_handle_socket_event [C1:2] Socket SO_ERROR [61: Connection refused]
Connection 1: received failure notification
Connection 1: failed to connect 1:61, reason -1
Connection 1: encountered error(1:61)
Task <7815E041-FB0C-480D-912C-F24BA5CDAA6A>.<1> HTTP load failed, 0/0 bytes (error code: -1004 [1:61])
版本信息:
Xcode:11.1
Swift:5
iOS:13.1
問題描述
首先確認(rèn)一下你是否是和我一樣的情形,因為該報錯信息在國內(nèi)搜索引擎大部分是由RN引起的,但這個blog卻與RN沒有關(guān)系。
- 使用URLSession發(fā)起網(wǎng)絡(luò)請求導(dǎo)致的
- 實體機測試,而非模擬機
- 在虛擬機正常,但是實體機就會錯誤
- 后臺服務(wù)在本地[也可能不是]
解決方案
如果你符合上面的情形,那你應(yīng)該適合我一樣的新手,其實這個問題和Xcode,iOS版本甚至和iOS開發(fā)沒有一點關(guān)系......這是Http的事情,說的簡單一點就是,你把url地址寫錯了......而且大概率寫的是localhost或者127.0.0.1
為什么尼?我們看一下問題情形:虛擬機正常,但是實體機發(fā)生錯誤,為什么?因為虛擬機和Xcode在一臺設(shè)備上,所以127.0.0.1能指向同設(shè)備上的后臺服務(wù),但是實體機尼?他們并不共享同一個IP,他們大概率在同一個局域網(wǎng)下面,所以在只需要把url替換為Mac局域網(wǎng)的ip地址,問題就會解決了........