一次SPM(Swift Package Manager) 超時的排查過程

新項目高高興興進入了測試階段, 拉取了最新的代碼后, 依賴庫有更新...然后就死活拉不下來了. 測試的Bug數(shù)不停在增加...
卡住的 fetching...
永遠的 timeout...
本文僅用于記錄一次SPM拉取問題的所有嘗試方法,
對SPM不了解的朋友可以看看筆者的遠古探索:
Xcode 中如何使用 SwiftPM(Swift Package Manager)
將工程從 CocoaPods 遷移到到 SwiftPM

上次用SPM都兩年前了···作孽啊

問題描述: 有梯子的場景下 僅Xcode 的 SPM無法拉取


方法1: 直接上梯子(全局模式)

任何與世界互聯(lián)網(wǎng)連接有障礙的場景下, 這是個百試百靈的方法

但這次失靈了.檢查了所有依賴庫的地址, 版本...除了有個庫較小眾, 基本都沒有問題.

眉頭逐漸緊鎖: 要么是本地環(huán)境有問題掏击、要么是未曾遇到過的麻煩
一種不詳?shù)念A(yù)感...


方法2: 改 Hosts

主要是通過類似IP查詢的網(wǎng)站查看指定地址的IP地址, 直接在hosts中指定需訪問路徑的絕對地址來避免某些屏蔽機制

進入到”/private/etc/“路徑下, 打開hosts文件才發(fā)現(xiàn), 以前的有過類似的修改:

127.0.0.1   localhost
255.255.255.255 broadcasthost
::1             localhost

185.199.108.133  raw.githubusercontent.com

Tips: hosts文件無法直接修改, 可通過命令行編輯, 或復(fù)制一份副本編輯后進行覆蓋(注意備份).

一般場景下, 這樣設(shè)置后瀏覽器就能夠正常訪問Github了. 結(jié)果在不開啟梯子的情況下還是超時...

此時我開始懷疑起了公司, 公司為了監(jiān)控網(wǎng)絡(luò), 層層設(shè)卡, 步步設(shè)防, 沒準(zhǔn)是哪一步出的問題
但是同事又可以, 速度快得都饞哭了...
那先把對公司的懷疑放在一邊, 試試其他方式

方法3: 手機使用移動網(wǎng)絡(luò)+梯子, 開啟熱點供電腦使用

這種方式主要應(yīng)用于規(guī)避電腦所在外部網(wǎng)絡(luò)環(huán)境的未知問題
曾數(shù)次扶大廈之將傾...

這次依舊不行

方法4-N:

此時, 依照網(wǎng)上類似問題的帖子,
使用了里面所有的方法, 均無效...這些方法基本都集中于梯子, 或Xcode的梯子...

退到原點:

似乎走遠了, 返回問題本身, 一步一步來分析均唉、排除:

  1. 在配置了絕對IP的情況下也只能通過公司的網(wǎng)絡(luò)工具或梯子來訪問 Github (電腦所在網(wǎng)絡(luò)環(huán)境存在限制)
  2. 在連接手機熱點+梯子的情況下, 依舊失敗(排除了電腦的網(wǎng)絡(luò)環(huán)境, 電腦本身自帶安全軟件影響? 或是Xcode本身的問題?)
  3. 瀏覽器可訪問Github、僅 Xcode 的 SPM 無法拉取更新. 新建了一個項目, 用SPM隨意添加個庫, 添加搜索查庫時都超時 (Xcode 你tm...)
  4. 同事的Xcode能正常使用 (誤會解除)

此時只能確定2點:
1. 只有我的設(shè)備的Xcode無法使用SPM
2. 設(shè)備所在外部網(wǎng)絡(luò)環(huán)境存在限制

突然, 思緒落在了“外部網(wǎng)絡(luò)環(huán)境存在限制!”. 那內(nèi)部呢? 公司對員工的關(guān)懷無微不至, 不僅僅只存在于網(wǎng)絡(luò)環(huán)境, 還深入到了員工的電腦, 軟件、配置可是搞過不少啊...方向有了, 開始排查...

  1. 打開了電腦的 WIFI設(shè)置-DNS:
Wifi-DNS

這里的 DNS 前段時間被強制要求設(shè)置為公司的 DNS, 會不會...

  1. [重點]: 將 DNS 修改為我們的兩個老朋友 8.8.8.8114.114.114.114, 并且確保梯子為全局模式

Tips: 修改DNS后, 訪問并不會馬上生效, 最好斷開重連下網(wǎng)絡(luò)

  1. 同時, 發(fā)現(xiàn)每次開啟梯子后, wifi代理欄的“忽略”中就會被添加上一大堆的蘋果服務(wù):
weather-data.apple.com,gateway.icloud.com.cn,193.168.0.0/24,localhost,*.icloud.com.cn,172.16.0.0/12,api.smoot.apple.com,captive.apple.com,guzzoni.apple.com,ocsp.apple.com,*.smoot.apple.cn,*.push-apple.com.akadns.net,xp.apple.com,*.local,smp-device-content.apple.com,127.0.0.1,192.168.0.0/16,10.0.0.0/8,gateway.icloud.com,100.64.0.0/10,inappcheck.itunes.apple.com,17.0.0.0/8,configuration.apple.com,*.push.apple.com,valid.apple.com,health.apple.com,*.ess.apple.com

經(jīng)測試后發(fā)現(xiàn)其會影響梯子的自動模式(全局模式不受影響), 所以使用自動模式時需包含蘋果相關(guān)服務(wù).部分梯子支持類似功能.

結(jié)論

主要問題是這個 DNS, 以及自己代理的機制, 外加公司網(wǎng)絡(luò)真的一言難盡, 三個原因混雜在一起, 加后來修改DNS后火急火燎的測試, 耽誤了不少時間. 作為一個開發(fā)者還是太浮躁了...

終于可以正常使用了:


完結(jié)刃泌、撒花

都看到這里了, 老夫還有一個臨時續(xù)命的方法, 分文不取!

從能夠更新的同事(或另一臺正常的機器)將DerivedData中對應(yīng)工程目錄下的SourcePackages文件整個Copy一份到無法拉取的設(shè)備對應(yīng)的緩存目錄進行覆蓋即可.沒錯, SPM拉取的依賴庫都放在這里面

Tips: 有問題的設(shè)備提前運行下項目, 保證自動生成工程的緩存目錄

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市雀监,隨后出現(xiàn)的幾起案子寺枉,更是在濱河造成了極大的恐慌,老刑警劉巖胳搞,帶你破解...
    沈念sama閱讀 216,372評論 6 498
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件卸例,死亡現(xiàn)場離奇詭異,居然都是意外死亡肌毅,警方通過查閱死者的電腦和手機筷转,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,368評論 3 392
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來芽腾,“玉大人旦装,你說我怎么就攤上這事√希” “怎么了阴绢?”我有些...
    開封第一講書人閱讀 162,415評論 0 353
  • 文/不壞的土叔 我叫張陵店乐,是天一觀的道長。 經(jīng)常有香客問我呻袭,道長眨八,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,157評論 1 292
  • 正文 為了忘掉前任左电,我火速辦了婚禮廉侧,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘篓足。我一直安慰自己段誊,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 67,171評論 6 388
  • 文/花漫 我一把揭開白布栈拖。 她就那樣靜靜地躺著连舍,像睡著了一般。 火紅的嫁衣襯著肌膚如雪涩哟。 梳的紋絲不亂的頭發(fā)上索赏,一...
    開封第一講書人閱讀 51,125評論 1 297
  • 那天,我揣著相機與錄音贴彼,去河邊找鬼潜腻。 笑死,一個胖子當(dāng)著我的面吹牛器仗,可吹牛的內(nèi)容都是我干的融涣。 我是一名探鬼主播,決...
    沈念sama閱讀 40,028評論 3 417
  • 文/蒼蘭香墨 我猛地睜開眼青灼,長吁一口氣:“原來是場噩夢啊……” “哼暴心!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起杂拨,我...
    開封第一講書人閱讀 38,887評論 0 274
  • 序言:老撾萬榮一對情侶失蹤专普,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后弹沽,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體檀夹,經(jīng)...
    沈念sama閱讀 45,310評論 1 310
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,533評論 2 332
  • 正文 我和宋清朗相戀三年策橘,在試婚紗的時候發(fā)現(xiàn)自己被綠了炸渡。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,690評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡丽已,死狀恐怖蚌堵,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤吼畏,帶...
    沈念sama閱讀 35,411評論 5 343
  • 正文 年R本政府宣布督赤,位于F島的核電站,受9級特大地震影響泻蚊,放射性物質(zhì)發(fā)生泄漏躲舌。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,004評論 3 325
  • 文/蒙蒙 一性雄、第九天 我趴在偏房一處隱蔽的房頂上張望没卸。 院中可真熱鬧,春花似錦秒旋、人聲如沸约计。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,659評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽病蛉。三九已至炫加,卻和暖如春瑰煎,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背俗孝。 一陣腳步聲響...
    開封第一講書人閱讀 32,812評論 1 268
  • 我被黑心中介騙來泰國打工酒甸, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人赋铝。 一個月前我還...
    沈念sama閱讀 47,693評論 2 368
  • 正文 我出身青樓插勤,卻偏偏與公主長得像,于是被迫代替她去往敵國和親革骨。 傳聞我的和親對象是個殘疾皇子农尖,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,577評論 2 353

推薦閱讀更多精彩內(nèi)容