# flutter 執行方式
除了在mac模擬器上執行以外,其他三種方法都要先設定xcode裡面的`Bundle Identifier`,請參考網路文章XD
大概會有以下幾種:
1. run on mac simulator 在mac上打開模擬器執行
2. run on device 在裝置上執行
3. build on device 在裝置上安裝並執行
4. testflight (需要有付費開發者帳號)
## run on mac simulator 在mac上打開模擬器執行
一般在開發階段就使用mac模擬器就好了
```clike
$ open -a Simulator
```
```clike
$ cd path/of/project
$ flutter run
```

## run on device 在裝置上執行
如果要測試native相關功能可以在裝置上跑,依然會有hot-reload
1. 先將手機接線到mac
2. 手機會詢問是否信任連接的裝置,點「信任」
3. 手機選擇「設定」-->「一般」-->「裝置管理 Apple Development: ...」,一路點進去,按下「信任 Apple Development: ...」
4. 查詢目前連接到多少裝置:
```clike
$ flutter devices
```

第一顆點點的就是裝置id。
5. 指定要執行在哪個裝置
```clike
$ flutter run -d 00008020-00162C8A1488003A
```
## build on device 在裝置上安裝並執行
1. 將手機接線到mac
2. 打開xcode
3. file --> open --> `projectName/ios/Runner.xcodeproj`
4. 把要跑的裝置改為自己的手機


5. 左側欄點選`Runner`,targets選`Runner`,tab選擇`General`,把`Bundle Identifier`改成唯一的,應該就是中間多加一些字就可以了。
```
//原本的
com.example.flutterDemo
```
```
//改過後的
com.example.todolist.flutterDemo
```

6. 指定團隊:因為自己開發練習的都不會有團隊,所以直接新增一個自己的AppleID當做團隊就可以了
- 左側欄點選`Runner`,targets選`Runner`,tab選擇`Signing & Capabilities`
- `Signing` --> `Team` --> `Add an Account...`
- 加入自己的AppleID。

7. Run

- 記得整個過程,最好是讓手機螢幕解鎖。
- 跑完後就可以在手機操作app,線拔掉一樣可以執行。