Linear Color and sRGB

最近在尝试序列化 SwiftUI,具体来说是把任意的 SwiftUI view 转化成一个 JSON 的模版。由于 SwiftUI 内部的属性都是不对外暴露的,所以只能在 runtime 通过反射(Mirror API)来强行获取内部的属性。例如,如果想保存 Text,就要通过这种方式来获取内部的 string。Swift Playground 和 LLDB 也是通过 Mirror 来在运行时展示对象内部的属性的。

SwiftUI.Color.Resolved

Intro to CocoaPods

就像 JavaScript 的 NPM,Python 的 pip,Java 的 Gradle,甚至 Ubuntu 的 apt-get 一样,我们在使用 Xcode 开发软件时也需要使用包管理工具。CocoaPods 就是这样的一款用 Ruby 编写第三方库依赖管理工具,每个 iOS Developer 都不会对它感到陌生。

How to Print Backtrace for Debugging

作为客户端工程师,当我们监控到线上报警需要追查原因的时候,往往需要回捞用户日志。但很多时候日志打得并不十分全面。例如我们查看日志,发现用户出错的原因是某个函数传入的参数不合法,但由于调用方太多,并不知道是哪里在调用的时候传入了错误的值。如果能像 crash report 那样,打印出当前的函数调用栈就好了!

Call Stack

Debugging iOS App Crashes with Hopper Disassembler

当线上的 App 发生 crash 的时候,我们总能收集到 crash 报告。很多时候,只看 crash 报告的崩溃堆栈信息就能帮助我们定位到问题了。但要想获得更多的信息,有时候就不得不去反编译我们的程序。

iOS图片裁剪、旋转、格式转换

在使用 CoreML 对图片进行识别时,有时模型需要接收特定格式的图片,这就需要我们先对图片做好处理,再传递给模型。比如,我在一个识别人脸面部表情的程序中,就需要先裁剪出人脸区域,做成适当大小的灰度图,再交给 MLModel 进行识别。

iOS限制UIScrollView允许滑动角度

本文主要解决 UIScrollView 中自己添加的滑动手势与它本身自带的滑动手势冲突的问题。

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×