-
Notifications
You must be signed in to change notification settings - Fork 4
工具箱
工具 | 安装 | 使用 | 功能 |
---|---|---|---|
wifi-password | brew install wifi-password | wifi-password | 查看当前密码 |
htop | brew install htop | sudo htop | 系统监视器 |
tree | brew install tree | tree | 树状结构列出文件夹汇总目录内容 |
archey | brew install archey | ~~ archey -h ~~ | 显示系统信息 |
Youtube-dl | brew install youtube-dl | ~~ youtube-dl -help ~~ | 以高分辨率从任何平台下载YouTube视频 |
Imagemagick | brew install imagemagick | ~~ convert help ~~ | 图片格式转换 |
Speedtest-cli | brew install speedtest-cli | ~~ speedtest-cli -h ~~ | 测速 |
progress | brew install progress | watch progress -q | 查看cp 和mv 执行进度 |
-
thefuck
自动帮你纠正终端命令
-
exa
A modern version of ‘ls’. 代替ls,可以显示各种漂亮的权限颜色
-
Ag
终端字符搜索神器,快而准,格式又美观,无敌。
-
fd
终端文件搜索神器,不用再使用find
了。
-
asciinema
终端视频录制,主要用来录制一些终端命令。-
首次注册会去官网,然后写个邮箱,邮箱会受到邮件,点击链接即注册
之后,一般会向邮箱里发送登录验证,点击即可
然后就会将你录制的视频,存在你的账号下 -
开始记录
first-rec.cast
是自定义的文件名 也可以没有文件名asciinema rec first-rec.cast
-
停止记录
exit
停止录制后会询问保存方式:
asciinema: recording finished asciinema: press <enter> to upload to asciinema.org, <ctrl-c> to save locally
-
按
Enter
键,然后 访问出现的url
-
ctrl + c
会存到本地,zsh asciinema upload first-rec.cast
可以再次上传到官网
-
-
you-get
视频下载神器,下载各种地方的视频。比如:youtube,bilibili,抖音,快手,知乎,优酷等等。
-
tig
字符模式下交互查看git项目,可以替代git命令。
-
mycli
mysql客户端,支持语法高亮和命令补全,效果类似ipython,可以替代mysql命令。
-
jq
json文件处理以及格式化显示,支持高亮,可以替换python -m json.tool。
-
icdiff
分屏显示 diff。
-
objdump
objdump
命令是用查看目标文件或者可执行的目标文件的构成的gcc
工具。
-
nm
简单说的话,就是可以帮你列举出该目标中定义的符合要求的符号。要求可以很多,主要通过参数实现:外部引入的、内部定义的、动态的... 也可以添加参数使nm同时打印行号、文件名等相关信息。
-
llvm-ar
llvm-ar命令可用于读取SVR4,GNU,BSD和Darwin格式的存档文件,以及写入GNU,BSD和Darwin样式的存档文件
-
libtool
libtool 是一个通用库支持脚本(/usr/bin/libtool),将使用动态库的复杂性隐藏在统一、可移植的接口中。
将数字地址转换为二进制图像或进程的符号
atos 方式在一般情况下还比较适用,但是一旦量级上来,其符号化速度便无法满足需要了
- e.g.
atos -o mydemoSdk.framework.dSYM/Contents/Resources/DWARF/mydemoSdk -arch x86_64 -l 0x101c85000 0x00000001024c59d4 0x00000001024b0cfa 0x00000001024b2694 0x00000001024b8920 0x0000000102568bc7 0x000000010256a039 0x00000001020d2fb9 0x00000001020d30cc
- 配合
xcrun
使用,atos 手动将所有的调用栈地址加上,会比较麻烦,xcrun可以自动获得所有的调用栈
xcrun atos -o mydemoSdk.framework.dSYM/Contents/Resources/DWARF/mydemoSdk -arch x86_64 -f Tutorial_2021-03-22-114106_B-70KRJ1WT-1802.crash > my.sym.txt
显示进程中分配的虚拟内存区域
dump and verify DWARF debug information
frida-trace is a tool for dynamically tracing function calls.
-
Fork
一款优秀的Git
图形化工具, 开发者为一对捷克夫妻, 男主负责Mac
端, 女主负责Windows
端价格
$49.99
-
TablePlus
一个数据库可视化的GUI
工具,可以方便地对MySQL
,PostgreSQL
,Redis
和其他各种数据库进行操作和数据查看
相对于Fork
小贵, 可以按设备量购买license
-
IINA
一款优秀的视频播放器,For and only for modern macOS
免费开源
-
Background Music
Mac
下强大的声音管理工具免费开源
-
一款全能的下载工具。支持下载 HTTP、FTP、BT、磁力链、百度网盘等资源。
免费
-
沙盒快捷访问工具
价格
¥75
-
Proxyman是本机高性能macOS应用程序,具有强大的调试功能,使开发人员能够捕获,检查和处理HTTP请求/响应。
价格:
$ 39 - 59
解锁全部功能
-
一个图形化的崩溃日志符号化工具
免费开源
-
多平台 EPUB 编辑器
免费开源
-
Hopper Disassembler,逆向工程工具,可让您反汇编,反编译和调试应用程序。
(个人许可证)¥ 679.88, 可批量购买
-
Enhancing the Xcode Simulators
应用内购买, 订阅式
-
Thor
(俗称锤子)是一款iOS
平台的抓包调试Http或Https协议的工具,在众多抓包调试Http或Https协议的工具中功能方面相比较完善和稳定,用户可以通过Thor对绝大多数app进行一些项目的调试,或者抓取一些需要的图片、音频、压缩包、下载链接等,从而制作出来的便是Thor过滤器。 -
Anubis
是一款网络开发调试和HTTP学习的工具,用来调试API或者学习理解HTTP协议,配合Thor使用,可以进行日期格式化、Base64编码等或将抓取记录导出至Anubis
,编辑请求头,请求重放,进行网络调试分析。 -
Shu
是一款iOS
平台的万能文件查看器,可解压、打开、查看给格式的文件(包括.ipa的安装包),转换文件,同时包括下载功能,是一款强大的文件中转和处理站。价格:
¥88
, 性价比很高
-
Jump Desktop
远程控制软件, 支持Windows
和Mac
双平台
平时远程Mac
直接VNC
, 偶尔需要远程一台Windows
时使用
价格:¥98
PPHub
一款不错的 GitHub App
价格: ¥12
LightBlue
一款免费的蓝牙调试工具
ShenYj.github.io - 简书地址 - 返回首页
-
Apple
Common
蓝牙
LBS
音视频
- AVAudioSessionchange_route
- 切换线路
- StreamingKit
- Audio Unit 基础
OC 与 Swift 混编
Object-C
- 代码混淆
- autoreleasepool
- 忽略编译器(clang)警告
- 定时器
- 锁
- RunLoop
- block
- NS_REFINED_FOR_SWIFT
- NS_CLOSED_ENUM
- NS_TYPED_ENUM、NS_STRING_ENUM
- NS_TYPED_EXTENSIBLE_ENUM、NS_EXTENSIBLE_STRING_ENUM
- 关键字nonnull和nullable
- class、objc_getClass和object_getclass方法区别
- isKindOfClass和isMemberOfClass
- 应用程序的加载
- non-lazy classes & lazy classes
- load方法
- initialize方法
- 方法的本质
- 类型编码
- self和super
- 类的内存分析
Swift
- precondition
- 权限控制
- Array常用Api
- String初始化、定义
- String常用Api
- String截取演练
- Set定义、创建
- Set访问和修改
- Dictionary操作
- Dictionary和KeyValuePairs
- Dictionary与String转换
- 常用高阶函数
- enum原始值
- enum关联值
- enum遍历
- 递归enum
- enum内存分配
- 指针
- for循环
- break跳出循环
- 变量名与关键字冲突
- 类的定义
- 类的继承和初始化
- 关键字: final
- 关键字: mutating
- 关键字: lazy
- 修饰类方法的关键字: static
- 关键字: final、dynamic、objc和_dynamicReplacement
- 关键字:@dynamicMemberLookup和@dynamicCallable
- 关键字: propertyWrapper
- 自定义运算符
- 下标: subscript
- 扩展: extension
- 协议: protocol
- 协议和扩展
- 为什么需要泛型
- 泛型函数定义
- 泛型类型
- 泛型的类型约束
- 关联类型
- 为泛型定义要求
- 泛型下标
- 多线程
- Attributes
- 错误处理
- Codable
- DispatchSourceTimer
- Swift 5.x 演练: 更多功能编辑页
- Swift 5.x 类库收集
- 单元测试笔记
- 实例对象内存结构
- 元类型、Type、Self
- frozen
- convention
- Swift(5.3.2)源码编译
- SQLite.Swift类库演练
- Swift 5.5 关键字: async/await
- Swift 5.5 新特性: Continuations
- Swift 5.5 新特性: Actor
- Swift 方法调度
- Swift Mirror
- Swift 关键字: @_silgen_name
- Swift 关键字: @_disfavoredOverload
- swiftmodule
- Swift 5.6 新特性: Type placeholders
- Swift 5.6 新特性: #unavailable
- Swift 5.6 新特性: CodingKeyRepresentable
- Swift 5.6 新特性: existential any
- Swift 5.7 新特性: if-let/guard 语法简化
- Swift 5.7 新特性: Multi-statement closure type inference
- Swift 5.8 新特性: @backDeployed
- Swift 5.9 新特性: if switch expressions
- Swift 6.0 新特性:@preconcurrency
RxSwift
macOS - AppKit
-
iOS Assembly(ARM64)
-
C++
C++ 基础
- cout、cin
- 函数重载
- 默认参数
- extern "C"
- pragma once
- inline function
- const
- Reference
- 汇编
- 类和对象
- 堆空间内存管理
- Constructor
- Destructor
- 成员变量初始化
- 声明与实现分离
- namespace
- 继承
- 访问权限
- 初始化列表
- 多态:虚函数
- 多态:虚函数实现原理
- 多态:虚析构函数
- 多态:纯虚函数
- 多态:抽象类
- 多继承
- static
- static: 单例模式
- const 成员
- 引用类型成员
- 拷贝构造函数
- 调用父类的拷贝构造函数
- 浅拷贝、深拷贝
- 对象型参数和返回值
- 匿名对象
- 隐式构造
- 编译器自动生成的构造函数
- 友元
- 内部类
- 局部类
- 运算符重载
- 模板
- 类型转换
- C++标准
- Lambda
- 异常
- 智能指针
-
Flutter
Dart
Flutter
-
Go
Go 基础
-
Ruby
Ruby 基础
-
React-Native
React-Native
-
工具篇
-
Swift Package Manager
-
自动化
-
TroubleShooting
-
扩展