其實個訪完,其實感覺令人還蠻沮喪的!我在做的不是老大認為我最急迫該做的。 為什麼會這樣?老大認為現在趁有空,該把IMMain所有的class看完一遍。而我在做什麼,我在弄六月底快截止的kpi目標,做IMSysSet的系統架構文件,做下一次設計模式要介紹的投影片,我認為我沒做錯啊,我依照忠憲的建議,趁有空做kpi的東西啊。所以問題出在哪裡,我們隱藏自己的左手欄(關於左手欄請參閱第五項修練改善心智模式篇),我們認定最高優先程度任務的觀念不同,我們隱藏了心中的假設,我認為有空我當然要把預定要先做出個階段,從軍中學到金科玉律,先求有再求好,無論如何我先把忠憲給架構範本該有的先填好,把設計模式最基本該介紹給大家先做出來。其實這樣就花很多時間了,至於細節部份,或我認為該補充的部份就先跳過了。這就是我有空時作的事,其實我覺得我已經很少請假了。今年我才請兩天ㄟ,連病假都沒請過ㄟ。其實我已經在減少在上班時間看書的時間了,近三個月幾乎沒有,以前我只要有空我就會看書,深入潛出mfc擱好久沒看了。這樣看起來,其實沒有很多多餘的時間再回頭看每個程式碼。不過如果你看我是在看網頁,沒錯我在打混你沒看錯,人總要轉換一下心情的嘛。其實再想想有個很嚴重的問題,為什麼我們的價值觀不一樣,我認為把每個class仔細看這不重要啊。我不想去了解一些奇怪的特例,和莫名其妙的規則,舉例來說,明明就是OnDataAgain結果自己new 一個 marketstatus的訊息傳給onmarket這種爛寫法,如果你要做清tick的動作,就明白的寫一個清盤和重抓資料要做清資料的函式,再由onmarketstaus和onDataagian呼叫他,語意上的錯誤容易造成後續維護或使用此元件的困擾。其實IMMain大部分的寫法都了解了,也大致知道80%的運作規則,但是有些超底層的機制如每個類別他的作畫方法,就算看完我當然不記得,我得再仔細看一次才知道啊!所以我覺得這樣就夠了,你馬上問我每個畫面的細節我沒辦法馬上告訴你,但我可以在半小時內告訴你答案就夠了,不過包括我看不懂他在寫什麼XD。
📱 iOS開發 | 🔧 CI/CD | 💻 Xcode | 🐛 除錯筆記 🔴 問題描述 這兩天在跑 CI 時突然出現錯誤訊息: Package@swift-6.0.swift:PACKAGE-TARGET:CasePathsMacros: error: Target 'CasePathsMacros' must be enabled before it can be used 🤔 嘗試過的解法 💬 Claude 的建議 首先詢問了 Claude,得到以下步驟: 先更新 swift-case-paths 到最新版本 確保使用 "Up to Next Major Version" 執行 File → Packages → Reset Package Caches Clean Build Folder (Cmd + Shift + K) 重新 Build 結果: 一看就知道沒用 😅 🤖 ChatGPT 的建議 接著試了 ChatGPT 的解法,主要是降低引用到的 package 版本。繞了一圈,還是沒用。 ✅ 最終解決方案 最後還是回到 Google,找到了真正有效的解法。針對這個 macro fingerprint validation 問題,有三種解決方式: 📌 方法一:本機開發用(Terminal 指令) defaults write com.apple.dt.Xcode IDESkipMacroFingerprintValidation -bool YES 📌 方法二:xcodebuild 參數 在執行 xcodebuild 指令時,加上 -skipMacroValidation 參數 📚 參考連結: https://vocus.cc/article/690779ebfd89780001859b14 📌 方法三:CI 正統做法 ⭐️(推薦) 步驟 1: 在專案根目錄建立資料夾 ci_scripts 步驟 2: 在此資料夾中建立腳本 ci_post_clone.sh ,內容如下: #!/bin/zsh mkdir -p ~/Library/org.swift.swiftpm/security/ cp macros.js...