{%hackmd DfWYF9cYREebVNN1eEOz-w %} # sync https://www.figma.com/file/dFfZDHidb6VsHIAecRr8zT/%E8%89%B2%E5%BD%A9%E7%AE%A1%E7%90%86app-ui-prototype?node-id=0%3A1 ## MacOS - finder 中顯示隱藏檔案:shift + cmd + . - 純文字貼上:Shift + Option + Command + V - 搜尋文字定義(⌘ + Control + D) - 螢幕擷圖(⌘ + Shift + 4) - 最小化當前視窗, alt + tab 不會被切換出來: cmd + M - 如何叫出來? alt + tab 後切換到指定應用,按下 option 後放開 - 最小化所有視窗 (⌘ + Option + M) - 隱藏當前視窗,alt + tab 會被切換出來: cmd + H - 顯示最常用應用程式(⌘ + Shift + Tab) - 放大/縮小 - 系統偏好設定 => 輔助使用 => 勾選使用鍵盤來縮放 - option + cmd + = / option + cmd + "-" - 微調音量(Option + Shift + F11/F12) - 直接捲動到最上方或最下方(⌘ + 上/下) - 呈現所有app: ctrl + 上 - 叫出選單列: ctrl + 下 - 切分多個桌面, 可透過 ctrl 快速切換不同桌面: - Ctrl + 上, 拖曳指定視窗到上方 - 選遠單中點選windows - Spotlight 快捷鍵: cmd + space | 前往應用程式檔案夾:選到應用程式 + Ctrl + Enter - Finder 開啟時 - 開新視窗:cmd + N | 開新分頁:cmd + T - 捷徑,(⌘ + Shift + 英文字母) ex: A 是應用程式,U 是工具程式,D 是桌面,O 是文件 - 檔案瀏覽:空白鍵/space - 切換瀏覽資料夾的方式 (cmd + 數字鍵):1 大圖模式,2 列表清單,3 Mac 獨有的模式 - **text editor** ⁃ 回到行頭/尾: cmd + <= / cmd + => ⁃ 整行刪除: cmd + 回退鍵 ⁃ 段落刪除: option + 回退鍵 - **Safari** - 加入書籤: command + D - 開新瀏覽器: cmd + Home - 關閉 Safari 分頁(⌘ + W) - 結束 Safari (⌘ + Q ) - 切換分頁 (⌘ + 1, 2, 3 ...) - History: ⌘ + Y - openBlank: ⌘ + T - 開啟上一次關閉的分頁:cmd + shift + T - 網址列直接輸入文字 (⌘ + L) - 閱讀模式: cmd + shit + R - cmd + click: 以新標籤頁打開建結 - cmd + Shift + click: 在新標筑頁中打開建結,並使其成為啟用的標籤頁 - cmd + option + click: 在新視窗中打開建結 - cmd + Option + Shift + click:在新視窗中打明建結,並使其成為作用中的視窗 - move to the Dock: Ctrl + F3 - hidden/show Dock: cmd + option + D ## Xcode - 中間只保留編輯器: cmd + enter - 開啟設定: cmd + , - 隱藏左側 nav: cmd + 0 - 切換左側選單:cmd + 1~9 - 隱藏右側 inspector: cmd + option + 0 - 切換右側緩單:cmd + 1~7 - 隱藏下方debug: cmd + shift + Y - 設計視窗 - resume: cmd + option + p - cmd + shift + L - Design UI => view object - Coding => code snippet - 檔案重新命名: cmd + shift + enter - Quick find/open : ⇧ + ⌘ + O - 開新 tab 在 navbar 上,並包含當前工作區所有 view: cmd + T - 縮起區塊/展開區塊: - indent: cmd + option + <- - extend: cmd + option + -> - 增加方法的說明註釋: cmd + option + / - 增加或刪除該行的中斷點: cmd + \ - 啟動或關閉所有的中斷點: cmd + Y - Building - Build : ⌘ + B - Run & Build if necessary :⌘ + R - Stop the current build/run/testing : ⌘ + . - Run tests & Build if necessary: ⌘ + U - Clean : ⌘ + K - Clean All files and build folder : ⇧ + ⌘ + K - Profile (Instruments): ⌘ + I - Choose scheme : ⌃ + 0 - Choose Destination : ⌃ + ⇧ + 0 - Re-run the last run tests : ⇧ + ⌘ + ⌥ + G - 重新命名區塊內的變數: - 快速:ctrl + cmd + E - 用十字游標匡選:option + cmd (持續按著去 匡選/點選) - 快速找到方法: ctrl + 6 - 跳到定義:ctrl + cmd + J - 跳到行數:cmd + L - go forward: ctrl + cmd + -> - go back: ctrl + cmd + <- - reveal in project navigator: shift + cmd + J - 切換不同專案:cmd + ~ - 切換同一個 editor 中的不同 tab - 往前:cmd + shift + { - 往後:cmd + shift + } - 切換不同的大 tab - ctrl + tab - 切換不同的 editor - ctrl + J - ctrl + ~ - 當有多個頁面時,focus 其中一個:shift + ctrl + cmd + enter - 顯示方法說明: - 簡易說明:ctrl + . - 詳細說明:ctrl + alt + D - 將當前游標整行上下移動: - UP: cmd + option + \[ - Down: cmd + potion + \] - git diff 跳到:ctrl + \ - 找類別繼承的介面: ctrl + cmd + up arrow - 選擇多行同時進行修改:ctrl + shift + up/down arrow ## Safari JS 偵錯 - [須先進行設定,設定參考網站](https://developer.apple.com/library/archive/documentation/AppleApplications/Conceptual/Safari_Developer_Guide/GettingStarted/GettingStarted.html) **第一次使用 APP 需在 safari debug console 中打下面兩行程式,模擬登入** var params = {"name": "Kevin","token": "token token"}; window.webkit.messageHandlers.currentUserToken.postMessage(params); ## postman APP API collection export file 色彩管理 app 所規劃的所有 api,可在 postman import [json file](https://drive.google.com/file/d/1vgIkoNyOBWJpRkviY4AvE9TnG6rrPaL-/view?usp=sharing) 這個檔案。再透過 postman 建立 mock server,可參考 [官網](https://learning.postman.com/docs/designing-and-developing-your-api/mocking-data/setting-up-mock/)。就能在後台API尚未完成前,先在 app 上進行互動 ## 郭老師 - BD 上色彩學 - Lab 當傳統濃度計: 是拿 L & ab(ch) 來跟 i1 的濃度計做比較,並且做 ML 得出濃度 - 單點的三點修正/追色: 當客人拿一份自己的樣搞說要印,如何印出相似的顏色會是個難題 - 流程: - 透過得到目標的三個灰(亮中暗),在量當前印出來的三個灰 - 得到修正圖檔的檔案 - 議題: 圖稿上沒有灰 設計師有觀念後都會設計三個灰色色塊 印刷師傅看到色塊後做什麼 - 展望色彩未來: 工具 => 普及化 => 工作流程/色彩價值觀提生 => 色彩認證平台 - 期望: 提供好的流程給設計師與製造商,並提高大家對於色管的知識。讓世界由黑白變彩色 ## pbn 未完成項目 - 討論目標: - 一周能有多少時間執行,如何執行 - mvp 還差多少? 5~6 - APP (3) - 啟用序號 - 訂閱資訊查詢 - 序號清單 - 限制登入裝置數量: 登入時裝置已滿跳轉到登出設備 - 優化 連接光譜儀畫面 - warninig ### @ 優化: - 整理第一次審核需要哪些資訊 - Lab 與 濃度切開, 初步想法:入口傳送設定, segmented view & Child view 走流程 - Scroll view 有個屬性可移動 contentOffset = scrollview.bounds.x | 0 - scrollView.isScrollEnabled - 平板畫面優化 - 嘗試 container 中的 child view 大於 container 時會發生什麼事情 - 如果會有自動縮放, 再個手機型號看一下 - 上述可行的話. 是否只接調整 ipad 版本就好 ## 恭麟打螺絲 **啟動序號** 畫面都已經完成了,接下來要請別人在既有的架構下完成啟動序號的流程 **使用者流程** - 看到沒有使用權限,進到輸入序號的畫面 - 輸入使用序號 => 按下一步 - 輸入序號是錯的則呈現相關訊息: 如非法、已使用 - 輸入正確序號則進行到正式啟用序號的畫面 - 呈現序號資訊,並詢問使用者是否要啟動,取消則回到上一頁 - 使用者確認啟動,不成功時需提示,若成功時則反入口頁 **系統流程** - 進到輸入序號的畫面 - 輸入使用序號 => 按下一步 - API 到後台詢問,當 serialStatus 為 - 0 時代表成功、1 序號已啟用、2 無效序號 - 畫面互動 - 網路請求失敗:提示網路異常 - 1、2 輸入序號是錯的則呈現相關訊息,並停留在此畫面 - 0 將序號資訊帶往下一流程,並切換畫面呈現序號資訊 - 呈現序號資訊 與 啟動序號 - 等待使用者點選啟動取消 - 取消返回上頁 - 啟動, - API 到後台詢問 - 失敗原因, - 網路請求失敗:提示網路異常 - 啟用序號 NG:提示啟用失敗 - 成功 - 更新使用者資訊 app storage,更新 - subscriptionStatus 訂閱狀態 - resource 可用功能 - 結束啟動序號流程 - 跳轉回入口頁 **TestCase** - 使用者在等待網路請求時,不能操作畫面且要知道應用程式在忙碌中 - 使用者未輸入序號時無法點選下一步 - 使用者手機無網路點選 下一步|啟用 時,提示網路異常 - 使用者輸入錯誤序號時:無法下一步、呈現錯誤資訊 - 使用者輸入正確序號時:切換到啟用序號並呈現序號資訊 - 使用者按下取消返回上一步 - 使用者按下啟用失敗時呈現提示 - 使用者按下啟用成功時: 結束序號啟動流程、回入口頁、能使用進階功能、到設定頁訂閱狀態要是 pro ## xcode 與 iphone 用 xcode 無法將 app 裝到 ipone 上,錯誤訊息會導致我向開發者帳號新增 device 的方向去找。這次進而得知開發者帳號、IOS裝置與發佈之間的關聯性,且必須透過 Certificates 來做驗證與綁定。 ## IOS NFC writter 看了好多篇,每個人要使用的情境都不同。最多範例是 uri 但在 nfc metadata 大多寫入的不明確,雖然不明確還是可讀取。但就是要額外再寫個讀取邏輯,為了避免這點所以我想用跟 android 相同方法。除了官方的資源外下面的參考也幫助許多 https://stackoverflow.com/questions/47094314/nfc-tag-writer-sample-or-tutorial-for-ios https://www.appcoda.com/corenfc-introduction/ https://stackoverflow.com/questions/58115985/nfc-ndef-writing-on-ios-encoding ### NDEF specifications and regulations https://infocenter.nordicsemi.com/index.jsp?topic=%2Fcom.nordic.infocenter.sdk5.v12.0.0%2Fnfc_ndef_format_dox.html https://weirenxue.github.io/2022/03/08/nfc_ndef/ https://austinblackstoneengineering.com/nfc-p2p-basics/ ## NFC 讀取 bug - Ndef Payload 標準統一則是不需修改 - 若標準無法統一,android & ios 處理邏輯不同 - android 用 null 來判斷 - ios 用 "\0" 判斷 ## ?? - NFC tag: https://www.youtube.com/watch?v=37Cgbdusml0 - 工具組總攬 濃度計 灰平衡 兩個圖能轉成圖檔嗎? - 使用者功能權限判斷 api - android keystore password: https://cloud.tencent.com/developer/ask/sof/90409