../20251008-env-debugging-safari-ios

Set up localhost environment for debugging React app on Safari (iOS)

讓 iOS 的 Safari 可以連至 macOS 上的 localhost react app,並可以看到 console.log

  1. 打開 iOS Safari 的 Web Inspector,Settings -> Apps -> Safari, advacned -> enable Web Inspector
  2. 打開 macOS Safari 上的 Show features for web developers,Settings -> Advanced panel -> enable Show features for web developers
  3. iOS 和 macOS 需要在同一個區網底下
  4. React app 的 server 要 listen 0.0.0.0,如果是用 vite 的可以參考 server optsions
  5. 打開 iOS Safari 直接連 macOS 的區網 IP,e.g. http://192.168.0.135:5173/
  6. 回到 macOS,打開 Safari,上方 menu 選 developer,可以看到 iOS 上的 Safari,點開後就可以看到在 iOS Safari 上的 console log 了 ios connected to macos

Set up HTTPS for localhost (optional)

有些 API 需要在 HTTPS 下才能執行,像是 crypto.randomUUID()

這邊用的是 mkcert,設定安裝請看 repo 的 readme,產生完 key 後,vite config 補上 server options 就可以了

server: {
  //For local SSL: https://github.com/FiloSottile/mkcert
  https: {
   key: fs.readFileSync("./localhost+2-key.pem"),
   cert: fs.readFileSync("./localhost+2.pem"),
  },
  host: true,
},