过去 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 加速的文章也有很多,方法也是五花八门,本文挑选几个进行记录。
下文主要针对各种加圆角的情况进行实践,看看会不会出现离屏渲染的情况。
最近要负责面试,于是各处搜罗了一些面试题,用于笔试(不包含算法),也当作自己的一个复习。
最近要负责面试,于是各处搜罗了一些面试题,用于当面面试使用(非笔试题),也当作自己的一个复习。同时提供了一个我自己角度的评判,仅供参考。
最近写的后端项目需要用到队列,其中有一些东西折腾了好一会儿,在这里记录一下。 Celery 是一个开源的分布式任务队列,可实现异步任务调度、定时任务、任务结果处理等功能。
UICollectionViewCompositionalLayout 是 Apple 在 iOS 13 引入的,用于构建基于组合的 UICollectionView 布局的类。它允许开发者根据一系列的组合布局,更轻松、更灵活地创建复杂的 UICollectionView 布局。 本文主要围绕 UICollectionViewCompositionalLayout 中 “可组合” 这个特性进行讨论。
本篇主要讲解 NSCollectionLayoutGroup 内 “子视图” 的填充方式。 算是为 UICollectionViewCompositionalLayout 的讲解做一些铺垫,毕竟把 Item 的填充方式了解清楚了之后,才能组合多种 Group 来进行更复杂的布局。
本篇文章记录使用 NSCollectionLayoutSection 类的 orthogonalScrollingBehavior 属性的过程中遇到的问题。 通过设置该属性可以控制对应 Section 的滑动效果。
使用 match 命令更新开发证书的时候,遇到了 503 Service Temporarily Unavailable 的报错,搜到解决方案后想着还是记录一下吧。
最近尝试使用 Mac Catalyst 将 App 移植到 macOS 上,打包时遇到了该问题,故记录一下。
文章以图文的形式,记录 Combine 中各操作符的用法以及效果。下文为原文章内容的转载 + 翻译。
本文针对 GitLab-Runner 的配置进行讲解说明。
本文仅针对 macOS 和 Linux 平台,讲解如何注册 GitLab-Runner。Windows 平台不包含在本文介绍范围内。
本文档用于介绍如何搭建适用于构建 iOS 项目的 GitLab-CI 环境。