curl 断点续传
Sep 13, 2022
使用 cURL 下载大文件时,如果中途意外断开了,可以使用断点续传来下载: curl -C - -OL https://... 参数 -C - 表示从上次位置继续下载,-C 后面接着的参数是偏移量,- 表示…
使用 simctl 安装 tvOS 和 watchOS 模拟器
Sep 13, 2022
Xcode 14 开始,把 tvOS 和 watchOS 模拟器从内置调整为按需下载,使得 Xcode 安装包一下少了 4G。 除在线按需下载模拟器,也可以手动下载安装: https://developer.apple.com/download/all/ 从官网上下载 watchOS_9_Simulator_Runtime.dmg 和 tvOS_16_Simulator_Runtime.dmg , 然后…
Clash 旁路由透明网关
Sep 12, 2022
正常的客户端上网流程: 客户端 => 路由器 => 互联网 加上旁路由后,流程变成: 客户端 => 旁路由(透明) => 路由器 => 互联网 客户端的 DNS 和网关的 IP 都指向旁路由,…
aria2 并发下载
Sep 05, 2022
浏览器自带的下载是单线程下载,如果要加速下载资源需要使用 aria2 。 原来浏览器自带下载需要 1 小时,现在命令行只需要 5 分钟: aria2c -x16 -s16 https://... -x:每个服务器的…
MacPorts 使用 Git 替代 Rsync 同步源
Sep 05, 2022
在使用 sudo port -v selfupdate 更新源的时候,发生了一个错误: Error: Failed to verify signature for MacPorts source! Error: Follow https://guide.macports.org/#project.tickets if you believe there is a bug. Error: /opt/local/bin/port: port selfupdate failed: Failed to verify signature for MacPorts source! 无法验证源的签名,暂时不确定是不是服…
SwiftPM 编译命令参数
Aug 30, 2022
SwfitPM 全称是 Swift Package Manager ,是 Swift 的包管理工具。 SwiftPM 的 manifest 文件是 Package.swift,在编译源码之前需要先编译这个 manifest 文件,然后再执行它进行源码构建。 SwiftPM 的…
C++ 17: 结构化绑定(Structured Binding)
Aug 29, 2022
结构化绑定(Structured Binding)是 C++ 17 的新特性,是一个很方便的语法糖。 typedef struct Rect { double x; double y; double width; double height; } Rect; Rect bounds{ 100, 100, 300, 400 }; auto [ x, y, w, h…
Swift 调用私有方法
Aug 29, 2022
_UICreateScreenUIImage 是用于生成屏幕快照的一个私有方法,效果类似按下截屏组合键,不过这个函数调用不会触发截屏音效。 在 Objective-C 里,只需要声明一下方法的原型就可以使用了。…
Xcode 13 中优化 Swift 对象的生命周期
Aug 28, 2022
默认情况下,Swift 对象的生命周期如下: 在 WWDC 21 中 ARC in Swift: Basics and beyond,新发布的 Xcode 13 增加了一个选项,用来优化 Swift 对象的生命周期: 当这个选项开…
ARC 与 AutoreleasePool
Aug 27, 2022
Objective-C 中的 ARC 与 AutoreleasePool Objective-C 中的对象在引用计数为 0 的时候就会被释放,为了解决手动管理引用计数(MRC)容易发生内存泄漏或者过度释放的问题,引入了自动引用计…