說明
由于使用VSCode和iOS進(jìn)行聯(lián)調(diào)步驟過于繁瑣陨收,所以這里聯(lián)調(diào)所用到的開發(fā)工具為Android Studio
聯(lián)調(diào)步驟
1.flutter通過Cocoapods本地導(dǎo)入方式進(jìn)行集成
集成方式可參考《Flutter初探--iOS項(xiàng)目集成flutter》
Podfile中進(jìn)行如下配置:
flutter_application_path = 'path/to/my_flutter/'
load File.join(flutter_application_path, '.ios', 'Flutter', 'podhelper.rb')
target 'Example' do
install_all_flutter_pods(flutter_application_path)
end
target 'ExampleTests' do
install_all_flutter_pods(flutter_application_path)
end
2.執(zhí)行pod install
或 pod update
安裝成功
3.運(yùn)行Xcode項(xiàng)目到指定設(shè)備
4.執(zhí)行flutter attach
當(dāng)iOS項(xiàng)目運(yùn)行起來以后,執(zhí)行flutter attach
有兩種方式
- 在Android Studio右上角點(diǎn)擊帶flutter圖標(biāo)的小手機(jī)按鈕
- 在終端執(zhí)行
flutter attach
命令輸出后會(huì)輸出以下內(nèi)容
Checking for advertised Dart observatories...
Checking for available port on com.example.xxx._dartobservatory._tcp.local
Checking for authentication code for com.example.xxx._dartobservatory._tcp.local
Syncing files to device XXX的 iPhone...
當(dāng)Syncing files to device XXX的 iPhone...
出現(xiàn)時(shí)表示代碼已經(jīng)成功同步到設(shè)備上了
需要注意的是:當(dāng)有多個(gè)設(shè)備時(shí)(iPhone或模擬器)執(zhí)行flutter attach命令,會(huì)讓你指定設(shè)備蜡励,這時(shí)執(zhí)行flutter attach -d "device_id"
保證和iOS項(xiàng)目運(yùn)行為同一個(gè)設(shè)備即可
5.斷點(diǎn)調(diào)試
在AndroidStudio打上斷點(diǎn)即可進(jìn)行調(diào)試
6.熱重載
聯(lián)調(diào)過程是支持熱重載的订框,例如修改一些文案或UI布局等基矮,但是有些條件限制,具體內(nèi)容可看flutter中文網(wǎng)上的使用熱重載
以下情況需要重新pod update
且重復(fù)上述過程(僅供參考坯台,以實(shí)際情況為準(zhǔn))
- 修改pubspec.ymal中的配置,需要執(zhí)行
flutter packages get
- 新增文件或資源
以下情況需要重新運(yùn)行iOS項(xiàng)目
- 修改main.dart main函數(shù)中初始化的內(nèi)容
- 修改全局使用的靜態(tài)變量
...