如何通过终端为Flutter项目设置macOS端的开发语言
Flutter macOS平台指定Objective-C开发语言解决方案
场景1:尚未生成macOS平台目录
直接使用flutter create命令的-m参数指定macOS端开发语言即可,-m是macOS平台语言的专属参数,和iOS端的-i参数作用一致:
flutter create --org package_name . -m objc
执行后生成的macOS项目默认使用Objective-C作为开发语言。
场景2:已经生成了Swift版本的macOS平台目录
操作前请先备份macOS目录下的自定义原生代码、签名配置、Info.plist自定义项等内容,避免数据丢失,之后可以二选一操作:
- 方案A(操作最简单,适配性最高):删除根目录下的macOS文件夹,重新执行场景1的指定OC的生成命令,生成完成后把之前备份的自定义配置改回去即可。
- 方案B(手动修改现有项目):
- 打开
macos/Runner.xcodeprojXcode项目 - 删除项目中默认的Swift文件:
AppDelegate.swift、MainFlutterWindow.swift - 新建对应OC类文件:
AppDelegate.h/AppDelegate.m、MainFlutterWindow.h/MainFlutterWindow.m,代码内容可参考全新生成的OC版macOS Flutter模板编写 - 进入项目Build Phases配置,在Compile Sources中移除已删除的Swift文件,添加新建的OC文件
- 打开
Info.plist,将Principal class项的取值从$(PRODUCT_MODULE_NAME).AppDelegate改为AppDelegate - 调整
macos/Podfile配置,移除Swift相关的混编配置项,执行pod deintegrate && pod install重新安装依赖即可
- 打开
内容的提问来源于stack exchange,提问作者Abd Alrahman Alhayek
相关产品推荐
相关产品推荐

