
2.1 开发环境搭建
虽然Flutter本身支持跨平台开发,但是如果想编译和运行iOS应用,仍然需要mac OS平台。因此,本书以mac OS平台作为后续讲解所使用的操作系统,版本是mac OS High Sierra10.13.6。
2.1.1 下载JDK
从官网下载JDK(Java SE Development Kit),本书使用的JDK版本为8u201,选择Mac OS X x64平台对应的下载地址即可下载,如图2.1所示。

图2.1 下载JDK
2.1.2 安装JDK
和安装其他软件类似,双击打开下载的dmg文件开始安装,如图2.2所示。

图2.2 安装JDK
安装完成后,可以运行Terminal(终端),输入“java-version”可以检查安装的JDK版本。
对于mac OS操作系统而言,按照向导完成Java的安装后就可以正常使用Java命令。但对于Windows系统和Linux系统而言,仍然需要对其进行环境变量的配置。
初学者可能会问:何为环境变量,它有什么作用,为什么要配置它?
首先,环境变量是一种变量,由变量名和变量值组成,指的是在操作系统中用来指定操作系统运行环境的一些参数,如临时文件夹的位置、系统文件夹的路径等。因此,变量值通常会是一个路径。
其次,配置环境变量主要是为了共用和方便。例如,如果设置了系统的临时文件夹,那么除了系统本身,其他应用程序也可以获得这个路径值并把自己的临时文件存放到临时文件夹中。同样,如果把Java命令的路径添加到环境变量中,就可以使用命令行在任何时候直接调用这些命令,而无须输入这些命令的原始路径。
最后,无论是mac OS系统,Windows系统还是Linux系统,它们的环境变量都有系统变量和用户变量之分。这是因为上述三大类系统都是多用户系统,都允许多个用户共同使用一套操作系统。系统变量和用户变量的区别:前者是对于整个系统而言的,即不管系统中有多少个用户存在,如果某个环境变量是系统级别的,那么这个环境变量就会在所有用户中生效;而用户变量则只对当前用户生效,不会影响到其他用户。如果两者中具有相同变量名的环境变量,操作系统就会对其进行叠加处理;如果一个操作系统只包含一个用户账户,那么系统变量就可以简单地等价于用户变量。
本书中涉及的环境变量均为用户变量,mac OS系统配置环境变量的方法在下文中会介绍,Windows系统和Linux系统的配置方法不再详述。
2.1.3 安装和配置Xcode
Xcode不仅可以帮助我们编译调试iOS App,而且还包含了要用到的命令(比如Git),因此有必要安装它。其安装方法十分简单,只需要去App Store搜索它,然后安装即可,如图2.3所示。由于Xcode包含了大量用于开发的内容,因此体积比较大,安装可能需要较长的时间。

图2.3 安装Xcode
2.1.4 下载Flutter SDK
打开Flutter的官网页面,根据不同的操作系统选择下载即可,如图2.4所示。

图2.4 下载Flutter SDK
2.1.5 配置Flutter SDK
下载完成后,将压缩文件解压到一个位置,这个位置可以看作安装位置。例如,在官网的示例中将解压后的flutter文件夹放到用户文件夹下的Development文件夹中,如图2.5所示。

图2.5 解压后的flutter文件夹
接下来要配置环境变量,其目的是更方便地在终端使用Flutter命令。具体操作是启动Terminal(终端)并输入以下命令:

在vi编辑器中,输入下列内容:

保存并退出(关于vi的具体用法请参考使用手册)。完成后,再输入

使新的环境变量生效。在完成上述操作后,可通过echo $PATH指令查看环境变量的设置情况。从图2.6中可以看到,Flutter的路径已经被追加到PATH环境变量的最后了。

图2.6 PATH环境变量
2.1.6 配置必备组件
为了可以正常调试iOS App,还需要安装Homebrew。
Homebrew是用于mac OS系统和Linux系统的软件包管理工具,更多的时候用在mac OS系统中。当系统提示缺少某些组件时,Homebrew就能派上用场,堪称不可或缺的组件管理器。
打开Homebrew网站可以看到安装脚本,复制并在终端执行,然后依次执行下列命令:
