ios模拟器构建机环境搭建

映射

打开git bash映射:

 ssh -L 16031:172.21.213.31:5900 huya@172.21.213.31 -N

查看设备

idb list-targets |grep HY

维护脚本会将没起起来的设备启动

安装Xcode

传输13GB的安装包:

scp /Users/huya/Downloads/Xcode_13.4.xip huya@172.21.213.31:/Users/huya/Downloads/

双击解压安装

安装nvm

首先下载nvm,打开终端

可以官网查看新版本的命令:nvm/README.md at master · nvm-sh/nvm · GitHub

curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | bash

然后安装之后查看 nvm –version

结果发现报了这个错误 Command not found

是因为没有配置配置文件,处理方式如下

~目录下创建 .bash_prefile.zshrc 两个文件(可以直接重新输入上面的安装命令,它会帮我们自动配置好path,以下操作就能跳过)

1.在终端输入 vi ~/.zshrc

2.终端界面会进入Vim的普通模式,普通模式下无法编辑,需要按 i 键然后会进入编辑模式 i

3.把下面的内容复制进去

export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" # This loads nvm bash_completion
export NVM_DIR="$HOME/.nvm"

4.输入完了按esc退出编辑模式回到普通模式,然后再分别按 :wq (英文冒号)

就退回到终端出事的位置了,.bash_prefile文件的创建同上

增加这两个文件后,重启终端。

然后输入nvm –version 就可以看到版本号了

.bash_prefile文件在启用bash终端时执行,.zshrc文件在zsh启用时执行。

nvm管理node

  • nvm ls-remote :打印出所有的版本
  • nvm install stable:安装最稳定的版本
  • nvm install v12.22.12 : 安装node的12.22.12的版本
  • nvm uninstall v12.22.12 : 删除node的12.22.12的版本
  • nvm current :当前使用的node版本
  • nvm use v12.22.12 :将node改为12.22.12版本
  • nvm alias default 12.22.12:设置默认 node 版本为 12.22.12(必须设置!)

在终端我们可以使用 which node 来查看我们的 node 被安装到了哪里,这里终端打印出来的地址其实是你当前使用的 node 版本快捷方式的地址。

/Users/你的用户名/.nvm/versions/node/v10.13.0/bin/node

如果你想查看所有 node 版本的安装文件夹,我们可以在 访达(finder) 中使用快捷键 Command+Shift+G 输入 /Users/你的用户名/.nvm/versions 地址就可以看到。

安装brew

官网安装

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

安装完后按提示添加homebrew到path:

#将eval "$(opt/homebrew/bin/brew shellenv)"写入.zprofile文件
echo 'eval "$(/opt/homebrew/bin/brew shellenv)"' >> /Users/huya/.zprofile

eval "$(/opt/homebrew/bin/brew shellenv)"

brew -v查看版本

第三方安装

/bin/bash -c "$(curl -fsSL https://gitee.com/ineo6/homebrew-install/raw/master/install.sh)"

brew装完自动帮我安装了python3

安装adb

brew install android-platform-tools

# 兼容问题
softwareupdate --install-rosetta

安装git

brew install git

git config --global user.email "你的信息"
git config --global user.name "你的信息"

执行brew -v 命令看看是不是有两个提示,有的话就是homebrew-core和homebrew-cask目录 被git认为不是一个安全的目录,需要手动添加

git config --global --add safe.directory 你的homebrew-core路径
git config --global --add safe.directory 你的homebrew-cask路径

配置好这个才能用brew安装node

配置HTTP1.1

如果报错信息curl 92 HTTP/2 stream 0 was not closed cleanly,怀疑是HTTP/2协议自己的bug

需要修改配置:

git config --global http.version HTTP/1.1

vim ~/.gitconfig #使用终端命令查看是否更改

淘宝新源: npm config set registry https://registry.npmmirror.com/

brew安装node

mac用nvm就是装不上node,只能用brew装

brew install node@12

---------------------
nodee12 is keg-only, which means it was not symlinked into /opt/homebrew, because this is an alternate version of another formula. 

If you need to have node@12 first in your PATH, run:

echo 'export PATH="/opt/homebrew/opt/node@12/bin:$PATH"' >>  ~/. zshrc 

For compilers to find node@12 you may need to set:

export LDFLAGS="-L/opt/homebrew/opt/node@12/lib" 
export CPPFLAGS="-I/opt/homebrew/opt/node@12/include"

安装成功后,终端会显示nde@12只是keg,这意味着它没有符号链接到路径上

//根据提示打开文件
vim ~/.bash_profile
vim ~/.zshrc
//添加到文件最后一行
export PATH="/opt/homebrew/opt/node@12/bin:$PATH"

//执行下面的命令
source ~/.bash_profile
source ~/.zshrc

//查看node版本
node -v

安装ffmpeg

brew install ffmpeg@5

期间可能会发生依赖安装不上,这是自己单独用brew install安装装不上的依赖就好。

安装idb

brew tap Facebook/fb
brew install idb-companion

//idb客户端安装
pip3 install fb-idb

//查看该工具的所有功能
idb —help

安装完idb客户端后提示python没有添加路径,且idb显示command not found,故而将python路径添加到~/.bash_profile上:

vi ~/.bash_profile

//插入下面两句
export PYTHON_HOME=/Users/huya/Library/Python/3.8
export PATH=$PYTHON_HOME/bin:$PATH

//生效
source ~/.bash_profile

//继续输入
pip3 install fb-idb

然后输入idb看看是否正常使用。

tap命令

tap命令允许Homebrew进入另一个公式存储库。 完成此操作后,您将扩展可安装软件的选择。

这些附加的Git存储库(在usr / local / Library / Taps内部)描述了可用于安装的软件包公式集。

brew tap                     # list tapped repositories
brew tap <tapname>           # add tap
brew untap <tapname>         # remove a tap

安装Simulator

安装的版本是iOS 14.5 Simulator,直接在Xcode - preferences - components里点击安装,发现安装不了,显示no valid accounts registered with Xcode that have the ability to access this resource。要进行如下操作:

  1. open term
  2. sudo /Applications/Xcode.app/Contents/MacOS/Xcode
  3. Xcode - preferences - components
  4. download simulator
  5. cancel download simulator
  6. copy download url from term
  7. then in Terminal in some suitable scratch folder, download it:curl [the url you copied] -O (the letter O, not a zero)
  8. move to ~/Library/Caches/com.apple.dt.Xcode/Downloads/
  9. restart Xcode
  10. In Xcode, in the Downloads section, start the Simulator download again, it should find the file you downloaded and install it.

如果是14.5版本的话可以scp直接传过去

安装完后打开xcode→Window→Devices and Simulators界面进行操作

创建若干个iphone12mini simulator

右键坞中的simulator→Device→选择要打开的模拟器

终端根目录下输入:

ls -al
vim .simcfg.json

.simcfg.json文件插入以下json串:

{
    "820--------------------": {
        "egPort": 6550,
        "name": "HY0 iPhone 12 mini",
        "model": "iPhone 12 mini"
    },
    "822--------------------": {
        "egPort": 6551,
        "name": "HY1 iPhone 12 mini",
        "model": "iPhone 12 mini"
    }
}

拉代码下来

前端

cd res/app
npm install -g @vue/cli@4.5.9
npm install
npm run build  // 打包前端代码

执行npm run build之后生成的dist文件,不能直接通过vscode开启服务访问,会报错,需要安装serve

npm install serve -S -g   //一定要全局安装不然也会报错
serve dist                //然后启动服务

或者可以将dist文件拷贝到其他地方,比如使用hbuilder开启服务访问,或者复制到xampp的服务中访问。

后端

方式一

npm install
npm run ios-provider-sim

若npm报错

npm install报错: npm WARN tar ENOENT: no such file or directory

解决:

npm install yarn -g
yarn install

方式二

复制其他构建机~/目录下的devicefarm文件夹过来,通过配置devicefarm.sh脚本运行,记得修改name

./devicefarm.sh
ps -ef|grep provider # 查看运行起来没有

启动脚本

cd ~/Documents/devicefarm/script/sim
sodu python3 monitor-devices.py start           # 必须sodu,否则运行不起来

报错

have ‘arm64’, need ‘x86_64’

mach-o file, but is an incompatible architecture (have 'arm64', need 'x86_64')

解决:

m2 cpu最好使用zsh安装tidevice和其他python包

arch -x86_64 pip3 install pillow

xcodebuild报错

tool 'xcodebuild' requires Xcode, but active developer directory '/Library/Developer/CommandLineTools' is a command line tools instance

解决:

  1. Install Xcode
  2. Run sudo xcode-select -s /Applications/Xcode.app/Contents/Developer


   转载规则


《ios模拟器构建机环境搭建》 锦泉 采用 知识共享署名 4.0 国际许可协议 进行许可。
  目录