qti接入问题集锦
1、zsh: command not found: qta-manage
在安装pip install qtaf --user后,执行qta-manage createproject footestproj,报错zsh: command not found: qta-manage
之前也碰到过,这种问题,就是因为zsh找不到命令路径导致,我们需要把命令路径加入到配置里面去。
这里涉及到两个路径bash路径和zsh路径,bash路径在~/.bash_profile
,zsh路径在~/.zshrc
我的做法是,在~/.bash_profile
加入路径,在~/.zshrc
加载bash路径,即source ~/.zshrc
如何确定qtaf路径
image.png
如图,再执行一次pip install qtaf --user安装命令,会显示他的路径,我们看第一行,一般命令是在bin路径,我们只需要把lib换成bin,然后把后面的去掉,这就是命令路径了。
以下是具体修改点:
1、open ~/.bash_profile
在里面加入export PATH=${PATH}:/Users/yourname/Library/Python/2.7/bin
2、在# User configuration下面,加入一行source ~/.bash_profile,确保每次zsh启动后,都加载最新的配置文件
3、修改完保存,然后执行source ~/.zshrc,退出terminal,再打开,执行qta-manage createproject footestproj,可以正常创建文件了。
2、安装pip install qt4i报错
刚开始报
python安装第三方库,经常遇到Permission denied
这里通用解决方法:
就是在后面加上--user
执行pip install qt4i --user
又报错,报
image.png
搜了两篇文章
MacOS中编译时找不到OpenSSL头文件的解决方案
大致过程如下:
brew install openssl
安装后会看见如下提示
A CA file has been bootstrapped using certificates from the SystemRoots
keychain. To add additional certificates (e.g. the certificates added in
the System keychain), place .pem files in
/usr/local/etc/openssl/certs
and run
/usr/local/opt/openssl/bin/c_rehash
This formula is keg-only, which means it was not symlinked into /usr/local,
because Apple has deprecated use of OpenSSL in favor of its own TLS and crypto libraries.
If you need to have this software first in your PATH run:
echo 'export PATH="/usr/local/opt/openssl/bin:$PATH"' >> ~/.zshrc
For compilers to find this software you may need to set:
LDFLAGS: -L/usr/local/opt/openssl/lib
CPPFLAGS: -I/usr/local/opt/openssl/include
意思就是,这个自行安装的新版并不会覆盖掉系统自带的版本。如果你希望你的程序优先调用这个版本,需要自行将之链接到环境变量;如果需要使用此版本编译软件,则需要自行在 Makefile 中设置 LDFLAGS 与 CPPFLAGS 。
当然这么做依旧是过于麻烦,经查阅资料,有网友给出解决方案:
brew link openssl --force
但是经过测试后发现 brew 拒绝链接,提示如下:
Warning: Refusing to link: openssl
Linking keg-only openssl means you may end up linking against the insecure,
deprecated system OpenSSL while using the headers from Homebrew's openssl.
Instead, pass the full include/library paths to your compiler e.g.:
-I/usr/local/opt/openssl/include -L/usr/local/opt/openssl/lib
但是我们依旧可以手动解决这个问题。
通过 brew 安装的 OpenSSL 的头文件位于 /usr/local/Cellar/openssl/版本号/include/openssl 文件夹内,以我的版本为例,即 /usr/local/Cellar/openssl/1.0.2o_2/include/openssl ,在终端内执行下列代码:
ln -s /usr/local/Cellar/openssl/1.0.2o_2/include/openssl /usr/local/include
手动创建软连接即可。然后再次执行。
解决Mac OS X 10.11 El Capitan 上 openssl/aes.h file not found 的问题
首先 brew install openssl 发现已经安装
然后再使用 xcode-select -p 命令查找xcode安装所在目录
比如命令得到安装目录为:/Applications/Xcode.app/Contents/Developer
再然后进入/Applications/Xcode.app/Contents/Developer,查找ssl.h
cd /Applications/Xcode.app/Contents/Developer && find . -name ssl.h
得到ssl.h所在目录,比如:./Toolchains/XcodeDefault.xctoolchain/usr/lib/swift-migrator/sdk/MacOSX.sdk/usr/include/openssl/ssl.h
然后将整个openssl所在目录拷贝至/usr/local/include/中:
cp -R /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/swift-migrator/sdk/MacOSX.sdk/usr/include/openssl /usr/local/include/
再次安装,问题解决
都没有解决问题。
最后参考安装qti报错解决。
具体解决方法:
$ brew install openssl && brew install swig
$ brew --prefix openssl
/usr/local/opt/openssl
$ LDFLAGS="-L$(brew --prefix openssl)/lib" \
CFLAGS="-I$(brew --prefix openssl)/include" \
SWIG_FEATURES="-I$(brew --prefix openssl)/include" \
pip install m2crypto --user
3、qt4i-manage setup运行出错,报
image.png
解决方法:
1、pip freeze | grep six 看下six库版本 qt4i要求six版本>1.11.0
pip install -U six依然报错
Cannot uninstall 'six'. It is a distutils installed project and thus we cannot accurately determine which files belong to it which would lead to only a partial uninstall.
最后用sudo pip install six --upgrade --ignore-installed six解决
3、配置xcode项目
image.png image.png
登录后,选择team为personal team
image.png
配置好之后,点“Product”>“Test”,构建及运行XCTestAgent。如果一切正常,就可以看到xctest安装到手机上了。这里要输入三次电脑密码,记得勾选始终允许。就可以了
4、fbsimctl报错
Exception: fbsimctl not found, use brew install
解决办法参考这里:
# Get the Facebook Tap.
brew tap facebook/fb
# Install fbsimctl from master
brew install fbsimctl --HEAD
依然报错。
最终解决办法:
1、自己下载代码,手动编译,参考这里
步骤:
1、brew install carthage
2、下载fbsimctl源码zip包,解压后,在解压的文件夹里新建output文件夹
3、执行./build.sh fbsimctl build output
4、编译完成后,执行./output/bin/fbsimctl list
如果有输出类似于这种的,则表示成功。
最后把fbsimctl软连接到
ln -s /Users/yourname/Documents/software/FBSimulatorControl-master/output/bin/fbsimctl ~/Library/Python/2.7/bin/fbsimctl
/Users/yourname/Library/Python/2.7/bin和~/Library/Python/2.7/bin/是一样的
最后,直接执行fbsimctl,看看是否还是有输出设备列表。如果有,表示成功链接