背景
由于最近在開(kāi)發(fā)flutter項(xiàng)目,每次執(zhí)行flutter clean以后,iOS和Android工程就會(huì)被清除并重新生成,工程配置需要重新修改,這是一步相當(dāng)煩人的操作??????。那能不能讓flutter每次創(chuàng)建項(xiàng)目或者flutter clean以后生成的項(xiàng)目都包含自己想要的配置呢?The answer is yes~?????? 接下來(lái)就告訴你如何操作!(由于本人是iOS開(kāi)發(fā),以下均以iOS工程為例,Android修改方法類似)
模板工程
首先,想要修改模板先要找到模板的存放位置,模板存放在
flutter SDK目錄下--> packages/flutter_tools/templates

在templates目錄下可以看到有6個(gè)文件目錄,且模板文件或目錄一般以.tmpl結(jié)尾!
| 目錄 | 說(shuō)明 |
|---|---|
| app | flutter項(xiàng)目的模板 |
| cocoapods | iOS工程podfile模板(module除外) |
| driver | flutter測(cè)試代碼模板 |
| module | iOS工程podfile模板(module除外) |
| package | package沒(méi)有示例工程 |
| plugin | plugin中的示例工程使用的是app目錄下的模板,podfile使用的是cocoapods下的podfile模板 |
使用場(chǎng)景示例
- iOS工程證書(shū)相關(guān)設(shè)置
1.首先要找到project.pbxproj文件,不了解的可以看看這篇《全面認(rèn)識(shí)Xcode中的project.pbxproj文件和簡(jiǎn)單運(yùn)用》,看完估計(jì)也記不住~??
app下的在
app -> ios-objc.tmpl -> Runner.xcodeproj -> 右擊顯示包內(nèi)容 -> project.pbxproj.tmpl
module下的在
module -> iOS -> host_app_ephemeral -> Runner.xcodeproj.tmpl -> project.pbxproj.tmpl
2.將下邊這些配置字段放在project.pbxproj.tmpl對(duì)應(yīng)位置上即可
CODE_SIGN_STYLE = Manual;
PROVISIONING_PROFILE_SPECIFIER = 證書(shū)名稱;
DEVELOPMENT_TEAM = 開(kāi)發(fā)團(tuán)隊(duì);
PRODUCT_BUNDLE_IDENTIFIER = {{iosIdentifier}};
app下模板修改完成后,app和plugin生成的iOS工程將包含自己配置的證書(shū)信息,module同理
-
配置Podfile
Plugin使用的podfile模板在cocoapods目錄下
module使用的podfile模板在
module -> iOS -> host_app_ephemeral_cocoapods -> Podfile.copy.tmpl
找到podfile模板便可做一些自己的配置,比如說(shuō)添加自己的source
總結(jié)
總之,找到模板位置基本上就可以 猥瑣欲為 了~??