#ios

记录一个最近发现的小细节:UIImage.size 和 CGImage.size 在一些情况下是不相等的。
最近在学习使用 Tuist 生成项目,摆脱烦人的 .xcodeproj。但是 Tuist 好用虽然好用,但是因为最近文档正在迁移,加之一些东西只能从示例中发掘,整个学习过程有点费劲。所以开一篇文章记录一下。
最近在研究 Tuist,一个用来管理 Xcode 项目的工具。这个工具好像从 4.0 版本开始,创建新项目默认就是 SwiftUI 模版了,所以需要手动再从 SwiftUI 改回 UIKit。 在改动过程中发现 SceneDelegate 不执行,搜索了一番后找到了解决方案,在此记录一下。
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 加速的文章也有很多,方法也是五花八门,本文挑选几个进行记录。
下文主要针对各种加圆角的情况进行实践,看看会不会出现离屏渲染的情况。
最近要负责面试,于是各处搜罗了一些面试题,用于笔试(不包含算法),也当作自己的一个复习。
最近要负责面试,于是各处搜罗了一些面试题,用于当面面试使用(非笔试题),也当作自己的一个复习。同时提供了一个我自己角度的评判,仅供参考。
UICollectionViewCompositionalLayout 是 Apple 在 iOS 13 引入的,用于构建基于组合的 UICollectionView 布局的类。它允许开发者根据一系列的组合布局,更轻松、更灵活地创建复杂的 UICollectionView 布局。 本文主要围绕 UICollectionViewCompositionalLayout 中 “可组合” 这个特性进行讨论。
本篇主要讲解 NSCollectionLayoutGroup 内 “子视图” 的填充方式。 算是为 UICollectionViewCompositionalLayout 的讲解做一些铺垫,毕竟把 Item 的填充方式了解清楚了之后,才能组合多种 Group 来进行更复杂的布局。
本篇文章记录使用 NSCollectionLayoutSection 类的 orthogonalScrollingBehavior 属性的过程中遇到的问题。 通过设置该属性可以控制对应 Section 的滑动效果。
使用 match 命令更新开发证书的时候,遇到了 503 Service Temporarily Unavailable 的报错,搜到解决方案后想着还是记录一下吧。
最近尝试使用 Mac Catalyst 将 App 移植到 macOS 上,打包时遇到了该问题,故记录一下。
实际上 iOS 好像是会在很多地方默认添加上动画的。这些动画倒也还好,但是有的时候就和需求不符就比较烦人了。 前几天偶然的再次查到了这个方法,于是决定开个文章记录一下。 感谢参考1,原作者的总结。本文基本引用自参考1。
实际上项目中很早就由我提出要将现有的 APNs 更改为 PushKit 了。只不过当初后端的同学很忙,没有时间搞这个... 现在因为要接入 CallKit,所以这个不搞不行了。那么也来记录一下吧。
Share Extension 这篇文章就不多讲了。 单纯的说一下从前辈那里请教来的如何从 Share Extension 跳转到 Containing App 吧。
开个贴记录一下 Xcode 9 下自己常用的几个发生了变化的快捷键。