有的时候我们想要看看某个 App 的资源文件,或者单纯看看它引用了哪些三方库等。这些内容只要有一个 ipa 文件就可以看,也无需砸壳。 本文就记录一下如何简单的提取手机中 App 的 ipa 文件。
最近在学习使用 Tuist 生成项目,摆脱烦人的 .xcodeproj。但是 Tuist 好用虽然好用,但是因为最近文档正在迁移,加之一些东西只能从示例中发掘,整个学习过程有点费劲。所以开一篇文章记录一下。
最近在研究 Tuist,一个用来管理 Xcode 项目的工具。这个工具好像从 4.0 版本开始,创建新项目默认就是 SwiftUI 模版了,所以需要手动再从 SwiftUI 改回 UIKit。 在改动过程中发现 SceneDelegate 不执行,搜索了一番后找到了解决方案,在此记录一下。
CSS 有多种选择器,可以帮助我们针对不同的 HTML 标签设置样式。
记录前端的学习过程。 本篇文章是最基础的 HTML 部分。
使用 tinymediamanager 配合 TMM(themoviedb)实现 Jellyfin 刮削。 网上现有的教程都比较老了,所以开一篇帖子记录一下自己配置的过程。
假如我们没有公网 IP,或者公网 IP 出现故障暂时无法访问,那么我们可以借助云服务器+WireGuard的形式实现内网穿透。
当我们配置玩 DDNS 和 WireGuard 之后,我们已经可以安全的访问我们 NAS 上的文件以及各种服务了。 但是如果你觉得通过端口访问 Docker 中各个服务太繁琐,或者 Docker 服务太多,要记的端口太多。那么我们可以通过配置 Nginx 的方式,来给各个 Docker 服务绑定一个域名。
因为配置了公网 ip,为了安全,使用 WireGuard 控制访问。 本文参考自:群晖DS220+安装 WireGuard 保姆级教程
本文使用DSM 7.0。请您确保已经获取了公网 ip,并且已经购买了域名。 因为我的域名在腾讯云上,所以为了方便 DDNS 使用腾讯云的服务,步骤参考:群晖(Synology)NAS 启用腾讯云 DDNS 并安装免费证书
过去 Package.swift 没有好好写,toolchain 版本跟着 Xcode 走,没有兼容不同的版本。最近研究用 SPM 代替 CocoaPods,所以认真的研究折腾了一下。 本文总结把 Package.swift 从 5.9 降至 5.1 过程中遇到的一些问题。
相信经常使用 SPM 的小伙伴,应该都遇到过使用 Reset Package Caches 时报错:An unknown error occurred. reference 'refs/remotes/origin/main' not found (-1),或者其他分支。 关于这个问题在 stackoverflow 上有比较多的讨论,例如这个 SPM unknown error reference not found when changing branch。 思来想去决定根据上面的回答,记录一下解决方案。
CGO 是一种在 iOS 平台上运行 Go 代码的方案。而 WireGuard 一种 VPN 技术,其中包含了一部分 Go 代码,同时项目提供了一个 Makefile 脚本,使用 CGO 来将相关代码编译成 iOS 静态库。 写这篇文章的契机是,因为希望使用 Mac Catalyst 将内部工具带到 macOS 平台,我又回过头去看一年前(恰巧是22年3月)研究 WireGuard 的过程。 发现虽然当时的研究成功,.xcframewrok 文件还在,但是过程已经模糊不清了。另外还需要针对 Mac Cataglyst 构建出新的静态库,所以又要从头进行梳理不过好在是 “模糊不清”,而不是 “一干二净”,多少还记得一些。
最近开始阅读学习 epoxy 的源码,开个新的系列来记录一下学习成功。
虽然国内实际开发用 Swift Package Manager(后称 SPM)的比较少,但是国外的一些开源库里却经常用到。所以经常遇到项目 clone 下来之后,SPM 加载失败导致项目无法运行的问题。 网上关于 SPM 加速的文章也有很多,方法也是五花八门,本文挑选几个进行记录。
下文主要针对各种加圆角的情况进行实践,看看会不会出现离屏渲染的情况。
最近要负责面试,于是各处搜罗了一些面试题,用于笔试(不包含算法),也当作自己的一个复习。
最近要负责面试,于是各处搜罗了一些面试题,用于当面面试使用(非笔试题),也当作自己的一个复习。同时提供了一个我自己角度的评判,仅供参考。