---
# System prepended metadata

title: 開發 Mac 版的 Flag's Block
tags: [esp8266, FlagsBlock, 產品開發]

---

###### tags: `產品開發` `FlagsBlock`,`esp8266`

開發 Mac 版的 Flag's Block
====

## Arduino 問題

1. Arduino 指令執行檔在 Arduino.app/Contents/MacOS/Arduino 
2. Arduino IDE 在 MacOS 10.7 (含) 之前的環境下要在 開發版管理員中把 Arduino AVR Boards 降級到 1.6.11 版材能正常編譯程式, 否則會出現以下錯誤：

    ```
    ....
    /Applications/Arduino.app/Contents/Java/hardware/tools/avr/bin/../lib/gcc/avr/4.9.2/../../../../avr/bin/ld: /Applications/Arduino.app/Contents/Java/hardware/tools/avr/bin/../libexec/gcc/avr/4.9.2/liblto_plugin.so: error loading plugin: dlopen(/Applications/Arduino.app/Contents/Java/hardware/tools/avr/bin/../libexec/gcc/avr/4.9.2/liblto_plugin.so, 2): Symbol not found: _environ
          Referenced from: /Applications/Arduino.app/Contents/Java/hardware/tools/avr/bin/../libexec/gcc/avr/4.9.2/liblto_plugin.so
          Expected in: /usr/lib/libSystem.B.dylib

        collect2: error: ld returned 1 exit status
        exit status 1
        Error compiling for board Arduino/Genuino Uno.
    ```

4. hardware 以及 libraries 等資料夾在 Arduino.app/Contents/Java/ 下

4. nwjs 指令執行檔在 nwjs.app/Contents/MacOS/nwjs

1. macOS 10.7.4 上的 Python 是 2.7.1, 使用 git 方式安裝 ESP8266 Arduino Core 時會發生  git 已經不支援 TLS 1.0/1.1 

1. ch340 在 MacOS 10.7.5 中要用別人改過的[驅動程式](http://varunmehta.com/technology/2017/06/14/mbot-with-macos-lion.html)。
2. ch340 晶片的 USB 通訊埠名稱為 /dev/cu.wchusbserial1470
3. feh 改成用內建的 qlmanage 顯示預覽圖片
4. 上傳程式時偶而會遇到執行 Arduino 的 Terminal 視窗不會自己結束, 但是程式實際上已經上傳完成的狀況, 這時候只要點一下 Terminal 視窗就可以了。

## 回復預設狀態要做的事

1. 刪除快取資料：

    ```
    cd /Users/flagtest/Documents/FlagsBlock/start.app/Contents/flag/FlagsBlock
    rm -r -f /Cache    
    ```
3. 復原 Arduino 偏好設定檔：
    ```
    cd /Users/flagtest/Documents/FlagsBlock/start.app/Contents/block/FlagsBlockSketch/
    cp preferences_bak.txt preferences.txt 
    chmod o+rw preferences.txt
    ```
    
1. 加上 FIRSTRUN 檔案：
    ```
    cd /Users/flagtest/Documents/FlagsBlock/start.app/Contents/block
    touch FIRSTRUN
    chmod o+rw FIRSTRUN
    ```
