提高工作效率的工具
| 名称 | 用途 |
|---|---|
| Alfred | 便捷搜索/工作流 |
| XtraFinder | 增强形Finder |
| iTerm2 | 完爆Terminal的命令行工具 |
| Go2Shell | 从Finder快速定位到命令行工具 |
Mac远程登录到iPhone
通过Mac远程登录到iPhone的方式建立连接
SSH、OpenSSH
- SSH
Secure Sehll,安全外壳协议,是一种可以为远程登录提供安全保障的协议- 使用
SSH,可以把所有传输的数据进行加密,“中间人”攻击方式就不可能实现,能防止DNS欺骗和IP欺骗 - 是通过
TCP协议通信,所以要确保MAC和iPhone在同一个局域网
- OpenSSH
- 是
SSH协议的免费开源实现 - 可以通过
OpenSSH的方式让Mac远程登录到iPhone
- 是
###使用OpenSSH远程登录步骤
- ssh 帐户名@服务器主机地址,初始密码为
alpine
ssh root@192.168.1.1
- 进入之后可以用
passwd命令来修改密码 - 退出命令
exit
root、mobile
- root: 最高权限帐户,
$HOME是/var/root - mobile: 普通权限,只能操作一些普通文件,不能操作系统级别的文件,$HOME是/var/mobile
SSH的通信过程
- 建立安全连接,就是利用
SSL - 客户端认证
- 基于密码
- 基于密钥
cd ~/.ssh
ssh-keygen
ssh-copy-id root@192.168.1.1
cat ~/.ssh/authorized_key
- 数据传输
22端口
端口:对外服务的端口
- 21: ftp
- 80: http
- 22: ssh
通过USB进行SSH登录
- 默认情况下,由于
SSH走的是TCP协议,Mac是通过网络连接的方式登录到iPhone,要求iPhone连接Wifi - 为了加快传输速度,也可以通过
USB连接的方式进行SSH登录(usbmuxd)
usbmuxd的使用
- 下载usbmuxd工具包
https://cgit.sukimashita.com/usbmuxd.git/
- 将
iPhone的22端口映射到Mac的10010端口
python tcprelay.py -t 22:10010
- 连接自己的10010端口
localhost,本地虚拟网卡的IP地址,127.0.0.1
ssh root@localhost -p 10010
usbmuxd会将Mac本地10010端口的TCP协议数据,通过USB连接转发到iPhone
iOS终端的中文乱码问题
- 默认情况下,
iOS终端不支持中文输入和显示 - 解决文案:新建一个
~/.inputrc文件
set convert-meta off
set output-meta on
set meta-flag on
set input-meta on
- 如果是想在终端编辑文件内容,可以安装一个
vim
Cycript的开启和关闭
- 开启
cycript
cycript -p 进程ID
cycript -p 进程名称
Cycript常用语法
- UIAPP
[UIApplication sharedApplication]
- 定义变量
var 变量名 = 变量值
- 用内存地址获取对象
#内存地址
- 已加载的所有OC类
ObjectiveC.classes
- 查看对象的所有成员变量
*对象
- 递归打印view的所有子控件(跟lldb一样的函数)
UIApp.keywindow.recursiveDescription().toString()
*筛选出某种类型的对象
choose(UIViewController)