iOS flutter工程如何不依赖Xcode来运行项目

2022-07-06  本文已影响0人  半邪亦正

背景:最近在做的项目是flutter的工程,代码部分既有OC的原生代码,也有dart的代码,当然,大多数时间都是在写dart的代码,写dart的代码需要用VS code或Android Studio(下面简称AS),我是习惯使用AS 的,但是在run项目的时候,还得要打开Xcode,虽然不在 Xcode上写代码,但还是要把Xcode打开,把项目跑起来,既然Xcode的作用这么卑微,那么有没有办法不打开Xcode也能把项目跑起来呀?

首先声明一下,以下都是在模拟器下操作 ,并非真机,因为iOS的模拟器基本就可以满足日常开发需求

1、去Xcode化第一步 - 编译

第一步,当然是解决编译问题,这个比较简单,因为我们可以通过脚本来替代Xcode的编译
核心脚本

cd project/dir #进入你的项目目录下
#打开模拟器
open -a Simulator
#终止运行
xcrun simctl terminate booted com.tencent.qq #后面的是项目bundle id
#依赖更新,如果有需要的话
pod install
#编译,如无需编译直接运行,可以把这句注释
xcrun xcodebuild -workspace QQ.xcworkspace -scheme QQ -sdk iphonesimulator -configuration Debug -arch x86_64 -derivedDataPath build
#安装到模拟器
xcrun simctl install booted  ./build/Build/Products/Debug-iphonesimulator/QQ.app
#模拟器运行,如果你改了bundle id,记得这里跟着改,否则你跑起来的不一定是你当前编译的
xcrun simctl launch booted com.tencent.qq

脚本注释比较清楚,就不展开讲解了,把这段脚本跑起来,基本就可以编译成功并运行在模拟器上。
可能遇到的问题:

打开指定模拟

2、去Xcode化第二步 - 断点调试

有了第一步,不需要依赖Xcode也可以把项目编译并在想要的模拟器上运行了。但是我们平时写代码,除了编译运行,还需要调试呀,如果你需要断点调试原生的代码,那不好意思,你还是打开Xcode吧。我们这里说的是flutter项目,所以只需要AS就好了(或者VSCode),而Xcode本身也并不支持断点调试flutter。
好了直接上干货,当第一步完成后,我们的项目已经在模拟器跑起来了,接下来要做的就是flutter attach,点击下图红框的按钮就好,当然前面的设备要选你跑起来的模拟器


flutter attach

attach成功后,就可以断点调试了,至于怎么调试,那就好好学一下 AS如何调试flutter吧,不扩展了 。

3、去Xcode化最后一步 - 日志查看

调试除了断点,有时候还需要看log,我们之前看log都是在Xcode上的,现在Xcode没了,怎么看呢?
方法有很多,这里讲的是mac给我们提供的一个工具 Console

Console
先来认识一下它,关注 一下我加红字的区域即可
上一篇 下一篇

猜你喜欢

热点阅读