环境准备
Mac、Xcode、node、watchman、React Native命令行工具react-native-cli。
开发React Native可以使用任何的编辑器,如sublime、webstorm、vscode等,因为开发React Native主要是编写js代码,但是必须要安装Xcode来编译iOS应用所需的工具和环境。
因为是在Mac环境,所以在安装这些依赖的时候,建议使用Homebrew,当然了,这只是建议,使用其他的安装方式也可以。
安装依赖
Xoce
Xcode是Mac自带的,如果电脑中没有,可以自己从App Store或者apple官网下载。在安装Xcode的时候,会同时安装Xcode IDE、Xcode命令行工具和iOS模拟器。
React Native目前需要Xcode9.4及以上的版本,如果当前的版本低的话,可以按照上面的安装方式升级。
Xcode命令行工具
启动Xcode,在Xcode > Preferences > Locations菜单项下检查是否已经安装有Command Line Tools。命令行工具包括了一些必须的工具,如git等。如果已经安装了命令行工具,可以不用理会;如果没有安装,则自行百度下安装方式吧。
node
brew install node
安装node的时候,会打包安装npm的,如果不习惯使用npm,或者有使用yarn习惯的,也可以使用yarn,这里暂且以npm为例。
watchman
brew install watchman
watchman,则是facebook提供的一个开源的项目,为监控文件系统变更的工具,用来监视文件并且记录文件的改动情况,当文件变更时可以触发一些操作,如执行一些命令等。
react-native-cli
npm install react-native-cli -g
基本的依赖已经安装完成,结下来就可以创建项目了。
创建项目
使用react-native-cli命令行工具创建一个名为react1的项目.
react-native-cli创建项目方式
react-native init project-name 创建一个名为project-name的项目
react-native init project-name --version version-num 创建一个项目名称为project-name版本号为version-num的react native项目
需要注意的是控制版本号参数version前面是两个-,版本号必须精确到两个小数点。
如: react-native init react1 --version 0.44.3 这样创建了一个名为react1版本号为0.44.3的react native项目。
下面我们就以刚创建的这个项目为例进行说明。
项目创建完成之后,会有一些提示信息,可重点查看下以下几行信息:
To run your app on iOS:
cd /usr/local/var/www/react/react1
react-native run-ios
- or -
Open ios/react1.xcodeproj in Xcode
Hit the Run button
To run your app on Android:
cd /usr/local/var/www/react/react1
Have an Android emulator running (quickest way to get started), or a device connected
react-native run-android
这几行信息会告诉我们如行运行创建好的项目,记住即可。
编译、运行项目
我们可以按照安装提示,采用命令行的方式运行项目,如
cd /usr/local/var/www/react/react1
react-native run-ios
也可以使用Xcode集成环境编译、运行新创建的React Natie项目。使用Xcode编译、运行的时候,如果项目有异常的时候,会显示异常信息,方便我们查看详细的错误信息,使用run-ios命令行的时候,这些异常信息就不会显示出来;这就是集成开发环境给我们带来的遍历。
如果我们的代码没有问题,环境一切正常的话,初次运行,大概会等个几分钟,就可以看到运行结果了。当然了,这里是Xcode的iOS模拟器运行的项目。
我这里的示意图已经将运行环境切换到真机上运行的效果,模拟器上的效果基本一致。
在真机上运行
我们前面已经实现了在模拟器上运行,但我们的更希望我们的项目能够运行我们的真实的机器上,希望看到项目真实的运行效果。
这里我们以iOS设备为例。
-
通过USB数据线连接设备
通过数据线链接iOS手机和Mac电脑,然后使用Xcode打开我们的项目,即使用Xcode打开.xcodeproj文件。
如果是第一次在你的iOS设备上运行开发中的app,那么就需要先注册你的设备为开发者工具。注册方法为:
打开Xcode,打开菜单Product,查找菜单Project下的Destination菜单项,然后从设备列表中选择我们自己的设备名称,Xcode就会注册我们的设备为开发者工具;
-
配置代码签名
首先需要注册苹果开发者账号。如果你之前还没有注册过,这里只针对你的设备在当前的Mac环境中的开发者账号。注册方式为:
使用Xcode打开React Native项目;
然后在右侧主要配置区域(这里我没有找到这块区域的专业名称叫什么,暂且先这么叫着吧,等会我截图展示,应该就不会迷惑我说的到底是什么了),选择General标签;这里主要配置两项:Signing和Deployment Info。
Signing:首先确认你的开发者账号在Team的选择项里面;如果没有在的话,可以点击选择项里的add an Account来添加账号;
Deployment Info:Deployment Target:这里的版本选择,要注意不要高于当前设备的iOS版本,如果高了,会报错;如我的iPhone手机当前的系统版本为12.0.1,我这里选择了12.0;
在注册证书的地方,可能会由于网络的原因注册失败,这里没啥别的好办法,就多重试几次(我现在截图的是注册成功的,如果注册失败了,会有注册失败的提示,还有"try again"的按钮,就多点几次重试按钮吧,或者重启下Xcode)。
-
编译运行
前面的几步完成之后,接下来点击“运行”就可以了。
第一次构建项目,可能需要的时间会长一点,等几分钟就可以了。构建完成之后,效果就直接在iOS真机上显示出来了。
在第一次手机真机运行开发者项目的时候,可能会出现各种个样的问题。一般情况下,确认手机和电脑在同一个网络,即使用同一个wifi;再就是让手机信任我们前面注册的开发者。设置信任注册开发者的方法:设置-通用-设备管理,然后信任我们注册的开发者账号就可以了。