Junqing's Blog

「越自律,越自由」

囤一些Swift三方库

SwiftyJSON git: https://github.com/SwiftyJSON/SwiftyJSON 在使用JSONSerialization序列化时对数据的类型要求很严格,同时需要不停解包才能拿到对应的数据,这个库的好处在于避免逐层的解包,直接到最终的字段进行解包就可以 1 2 3 4 5 6 7 8 let json = try? JSON(data: dataFrom...

浅谈iOS崩溃解析

在开发过程中我们经常会遇到崩溃,而一般来说崩溃会被iOS系统收集,你可以从设置-隐私与安全-分析与改进-分析数据目录下找到历史崩溃信息,一般为.ips格式。但是当我们打开日志文件查看内容时,关键的堆栈信息都是十六进制的。所以最关键的一步就是要解析这个日志,这一过程有一个专业的术语:符号化(symbolicate) 符号化 Symbolication is the proces...

Hello Immersive World

VisionOS 随着苹果发布了其第一款头显Apple Vision Pro,visionOS也第一次出现在开发者面前。visionOS定义了许多全新的空间计算概念来帮助开发者搭建全新的沉浸式app,与此同时,visionOS可以无缝衔接除Swift、SwiftUI、RealityKit以及ARKit,如果你已对这些苹果的高级框架有足够的了解,那么就可以更快地适应visionOS开发。 ...

iOS崩溃分类梳理

OC类异常 NSException是OC中的异常类,定义自己的拦截函数并在启动时设置就可以捕获异常。 常见的OC异常 具体问题具体分析 异常名称 含义 NSInvalidArgumentException 传递了非法的参数 NSRangeExceptio...

通过CreateML打造专属于自己App的AI模型

Apple在2017年发布了2个机器学习框架,Core ML和Vision,通过Core ML只需几行代码即可将强大的智能机器学习能力集成到开发者的应用程序中,Vision是一个计算机视觉任务框架,专注于处理包括图像和视频处理、人脸识别、文本识别和对象追踪等问题,Core ML提供了偏底层的机器学习能力,就像是Core Graphics,而Vision使用起来更像是UIKit的感觉,提供了...

首次使用Jekyll的问题

背景 我的个人blog使用的是JekyII,在执行bundle install的环节出现无法安装eventmachine的情况。经过不断的寻求答案和尝试最终找到解决办法,在这里记录一下。 报错就一个,找不到openssl。mac自带了一个openssl,目前是在/usr/bin/openssl。我们需要使用homebrew安装的版本(我也不知道为什么)。如果你没有安装过homebr...

OC+Swift 混编随记📝

简单记录自己在混编时遇到的困惑

framework与modular 我的理解是在cocoapods在1.5.0版本之前如果要混编只能采用动态库管理,就是要在podfile里面加上 use_frameworks! 在引用OC库时要 #import<xxx/xxx.h> 使用尖括号这种形式。在1.5.0版本之后支持swift静态库了,所以可以使用 #use_modular_headers! 来管理所有的pod,mo...

典中典: 粤语/国语歌合集

持续更新~

还是老歌好听啊,尤其是粤语经典老歌,总让人很放松,很享受。 千千阙歌 - 陈慧娴 YYDS! 下一站天后 - twins 你的浅笑 - 吕方 仍是老地方 - 李克勤 倾城 - 李克勤 偷偷摸摸 - 李克勤 一生中最爱 - 谭咏麟 无言感激 - 谭咏麟 爱.极爱 - 谭咏麟 回赠 - 谭咏麟 解情还须系情人 - 黄凯芹 情深缘浅 - 黄凯芹...

iOS UICollectionView自定义布局初探: 瀑布流实践

瀑布流简介 瀑布流作为一种推荐内容的载体如今已广泛应用在各种主流产品中,其内容的呈现形式多是无序的,内容本身多与用户喜好呈正相关,其优点就是可以让用户在无限滚动中”淘宝”。典型的瀑布流多为2列的纵向形态,当然也包括横向展示形式,如appstore的专题推荐。 古早时期有使用多列tableView或者自定义scr...

永远的第一天

"Hello World, Hello Blog"

print(“Hello World, Hello Blog”) 一直都希望能有个自己的网站,自从工作以来,这个想法愈发强烈。其实早在4年前,我第一次知道了Github Pages这个东西,并在Github上建了repo,但之后便没了后续。这几天随着自己在研究代码的过程中有许多心得体会,这又让我捡起了网站的主意,于是便有了这个blog。 有了这个blog,我便有了更新的欲望,未来...