在进行实机调试前 ,我先对osx 系统进行了学习。
首先,我要安装brew,结果发现我没有权限在/usr/local里进行操作。由于我是新装的系统,显示我就是让被隐藏的目录显示出来。
打开终端,输入
defaults write com.apple.finder AppleShowAllFiles -bool true
然后需要重新加载finder,但是我不会,于是我是重新启动mac
通过终端进入/usr/local 输入 touch test,显示如下
touch: test: Permission denied
然后输入sudo touch test。
一样显示。进过网上的查找,才知道,原来10.11里苹果引入了rootless功能,让root用户对于 /systom /bin /sbin /usr 的目录不能进行执行权限。
那就只能关闭了。操作如下
启动mac,按住command + r ,进入恢复分区
在实用工具里找到终端启动运行。输入:csrutil disable;reboot。
mac 顺利的话,就已经关闭了rootless,并且会自动启动。
mac启动进入到/usr/local 输入 sudo touch test
输入命令ls ,看到/usr/local下多了test 目录。
安装brew,因为安装brew 终端崩溃了。然后以为恢复系统就可以了。结果系统被删除了。
因为安装brew,我学会了安装osx 系统。真是不作不会死。
这次安装没有brew官网上的安装方式,在网上找的一个命令,一次过。很开心。
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
成功安装好了brew,接下来就是安装ideviceinstall,这个工具类似android的adb
brew install ideviceinstaller
一切顺利,经过这几次安装,我发现在终端下安装任何东西一定要懂的等待,很多时候都是一动也不动,给我这个刚接触这种安装方式的人很不舒服,以为安装没有启动。其实不然,这个也许就是linux系统的特点,不要管他,去干点其他事情,过一会回来一切都好了。
检测ideviceinstaller是否安装好。
链接一个苹果设备,在终端输入
advice_id -l
执行后现实链接苹果的设置的udid
adviceinstaller -l 可以查看到bound_id
我们开始进行真机调试。
1.真机上安装了app
2.真机上开发者选项中 UI AUTOMATION中打开 Enable UI Automation
3.连接真机到mac
iOS Settings:
Application:BundleID(前面说过通过adviceinstaller -l获得)
Device Settings:Force Device (真机的型号)
Platform Version (真机的iOS)
UDID(前面说过通过advice_id -l获得)
启动appium,然后点击Inspector,顺利的话在真机上会启动app
注意点:关闭真机上的锁屏
虚拟机调试问题点:
1.冲开发那里拿到了 ipad的app ,当Force Device设置成 iPad 2的时候不能顺利启动(app安装在模拟器上,但是启动后马上崩溃)
但是相同的设置,相同的app,在Force Device设置成iPad Pro的时候,能在模拟器上顺利启动。
难道是开发在编译的时候是在设置过设备吗?还是模拟器的问题。暂时没有空去解决
真机调试问题点:
1.iPad 2 上开发安装好app, iPhone上也安装好app。真机调试,iPad 2顺利调试,iPhone上调试失败。
网上调查,可能安装证书的问题?至少启动,有空再去研究。
11/5
使用ideviceinstaller -l 调查手机上app
结果 报错
lunadeMac-mini:~ luna$ ideviceinstaller -l
Could not connect to lockdownd. Exiting.
使用命令
lunadeMac-mini:~ luna$ sudo chmod -R 777 /var/db/lockdown/
解决