<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Flutter on Peter.H's Full-Stack GAME</title><link>https://peter-notes.com/tags/flutter/</link><description>Recent content in Flutter on Peter.H's Full-Stack GAME</description><image><title>Peter.H's Full-Stack GAME</title><url>https://peter-notes.com/images/og-image.jpg</url><link>https://peter-notes.com/images/og-image.jpg</link></image><generator>Hugo</generator><language>zh-tw</language><lastBuildDate>Fri, 17 Apr 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://peter-notes.com/tags/flutter/index.xml" rel="self" type="application/rss+xml"/><item><title>頭貼切不回去？一個 Bug 揪出 Admin Panel 權限漂移的跨後端通病</title><link>https://peter-notes.com/posts/admin-panel-permission-drift-cms-backends/</link><pubDate>Fri, 17 Apr 2026 00:00:00 +0000</pubDate><guid>https://peter-notes.com/posts/admin-panel-permission-drift-cms-backends/</guid><description>從一個 Flutter 切不回手機頭貼的 bug 出發，揭開 Strapi Admin Panel 權限漂移這個跨後端的共通陷阱。深入分析雙層根因、衍生的 null validation bug，以及為什麼 Firebase、Supabase、Hasura、AWS IAM 都逃不過這個問題。</description></item><item><title>Flutter 子母帳號切換踩了四個坑：GetX 狀態管理的隱藏地雷</title><link>https://peter-notes.com/posts/flutter-getx-account-switch-state-trap/</link><pubDate>Thu, 16 Apr 2026 00:00:00 +0000</pubDate><guid>https://peter-notes.com/posts/flutter-getx-account-switch-state-trap/</guid><description>實作 Flutter 子母帳號切換功能時，連環踩了四個 GetX 狀態管理的坑：身份憑證不同步、ViewModel 生命週期錯亂、全域變數過期參考、記憶體狀態未持久化。逐一分析根因與修復思路。</description></item><item><title>廠商說不支援 URL Scheme：跨 App 綁定從自訂協議遷移到 Universal Link 的完整實錄</title><link>https://peter-notes.com/posts/flutter-universal-link-migration-from-url-scheme/</link><pubDate>Fri, 10 Apr 2026 00:00:00 +0000</pubDate><guid>https://peter-notes.com/posts/flutter-universal-link-migration-from-url-scheme/</guid><description>第三方裝置廠商不支援 URL Scheme 回調，要求改用 Universal Link。從 AASA 設定、Android App Links、token 安全驗證到跨平台 fallback 策略，完整記錄遷移過程，以及上線後踩到的 Play Store 簽名指紋陷阱和 token 靜默失敗問題。</description></item><item><title>從 53 種食物到 13,152 種：五國食物資料庫 ETL 管線設計實錄</title><link>https://peter-notes.com/posts/usda-fooddata-etl-pipeline-design/</link><pubDate>Tue, 17 Mar 2026 00:00:00 +0000</pubDate><guid>https://peter-notes.com/posts/usda-fooddata-etl-pipeline-design/</guid><description>從實戰出發，記錄如何設計一條 Python ETL 管線，整合台灣、日本、中國、USDA 四個政府食物營養資料庫，並處理 API 格式不一致、缺少分類欄位等真實踩坑經驗。</description></item><item><title>Google Play 警告消不掉：Fastlane 上傳 Native Debug Symbols 的三個陷阱</title><link>https://peter-notes.com/posts/fastlane-native-symbols-google-play/</link><pubDate>Tue, 24 Feb 2026 00:00:00 +0000</pubDate><guid>https://peter-notes.com/posts/fastlane-native-symbols-google-play/</guid><description>Google Play Console 一直警告缺少偵錯符號檔，明明 Fastlane 有寫上傳邏輯卻沒有作用。問題不在程式碼邏輯，而是 Fastlane 路徑解析機制、supply API 參數衝突、以及 CI 架構設計上的耦合。</description></item><item><title>後端修好了，前端卻沒跟上：Vue 網頁版的 JWT Refresh 機制從零補上</title><link>https://peter-notes.com/posts/vue-jwt-refresh-token-flutter-sso/</link><pubDate>Tue, 24 Feb 2026 00:00:00 +0000</pubDate><guid>https://peter-notes.com/posts/vue-jwt-refresh-token-flutter-sso/</guid><description>Flutter App 透過 SSO 開啟 Vue 網頁，但 JWT 15 分鐘過期後結帳頁直接報錯。問題不在後端，而是 Vue 從來沒有 refresh token 機制。從跨平台 token 傳遞到 axios interceptor 自動續約的完整修復過程。</description></item><item><title>Flutter iOS 冷啟動閃退：Debug 模式的隱藏陷阱</title><link>https://peter-notes.com/posts/flutter-ios-cold-start-crash-debug-mode/</link><pubDate>Tue, 17 Feb 2026 00:00:00 +0000</pubDate><guid>https://peter-notes.com/posts/flutter-ios-cold-start-crash-debug-mode/</guid><description>深入分析 Flutter iOS App 從主畫面啟動時閃退的根本原因：iOS 14+ 的 ptrace 安全限制導致 Debug 模式無法獨立運行，以及如何正確診斷和解決這個問題。</description></item><item><title>Flutter CI/CD Debugging: Three Build Failures in One Day</title><link>https://peter-notes.com/posts/flutter-cicd-three-build-failures/</link><pubDate>Sat, 17 Jan 2026 00:00:00 +0000</pubDate><guid>https://peter-notes.com/posts/flutter-cicd-three-build-failures/</guid><description>深入分析 Flutter 專案在 Jenkins CI/CD 中連續遇到的三個建置失敗：iOS Keychain 解鎖錯誤、file_picker Gradle 相容性問題、以及 Google Play Console 草稿狀態限制，並提供完整的解決方案。</description></item><item><title>同樣的功能，為什麼 Flutter 比 Vue 難 Debug 十倍？從實戰到架構的六層反思</title><link>https://peter-notes.com/posts/flutter-vs-vue-debugging-complexity/</link><pubDate>Sun, 04 Jan 2026 00:00:00 +0000</pubDate><guid>https://peter-notes.com/posts/flutter-vs-vue-debugging-complexity/</guid><description>同樣是「關於我們」頁面的顯示邏輯，Vue 改了十幾個 commit 都很順利，Flutter 卻卡了很久。本文從 Debug 實戰出發，延伸到 Domain Model 的防禦能力、Clean Architecture 的責任邊界、扁平架構的取捨、BFF 的可靠性價值，最後探討交接代碼的信任陷阱。</description></item><item><title>Flutter App 首頁 Banner 消失之謎：一場無效 API Token 的偵探之旅</title><link>https://peter-notes.com/posts/flutter-banner-401-invalid-token-debugging/</link><pubDate>Tue, 30 Dec 2025 00:00:00 +0000</pubDate><guid>https://peter-notes.com/posts/flutter-banner-401-invalid-token-debugging/</guid><description>深入剖析 Flutter App 首頁 Banner 無法顯示的問題，從 git commit 追蹤到 GraphQL 認證機制，揭開「帶無效憑證比不帶憑證更糟糕」的技術真相</description></item><item><title>15 次 Build Failed：一場 Jenkins + Flutter CI/CD 的史詩級除錯之旅</title><link>https://peter-notes.com/posts/2025-12-21-jenkins-flutter-cicd-debugging-journey/</link><pubDate>Sun, 21 Dec 2025 00:00:00 +0000</pubDate><guid>https://peter-notes.com/posts/2025-12-21-jenkins-flutter-cicd-debugging-journey/</guid><description>從 bundle exec 版本不一致、Bundler 權限錯誤、Discord Webhook 實作、CocoaPods 路徑問題、Build Number SSOT 架構、Ruby 版本相容性，到最終的 git describe 隨機行為——完整記錄 15 個 commits 的除錯歷程。</description></item><item><title>Flutter 狀態監聽完全指南：Provider、Bloc、Riverpod、GetX 深度比較</title><link>https://peter-notes.com/posts/flutter-state-listening-complete-guide/</link><pubDate>Thu, 13 Jul 2023 00:00:00 +0000</pubDate><guid>https://peter-notes.com/posts/flutter-state-listening-complete-guide/</guid><description>深入探討 Flutter 四大狀態管理方案的監聽機制：Provider、Bloc、Riverpod、GetX 的核心原理、實戰應用與最佳實踐，幫助你選擇最適合的狀態管理方案。</description></item></channel></rss>