首页
沸点
课程
数据标注
HOT
AI Coding
更多
直播
活动
APP
插件
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
程序技巧
订阅
Ian_He
更多收藏集
微信扫码分享
微信
新浪微博
QQ
10篇文章 · 0订阅
一步一步教你实现iOS音频频谱动画(一)
很久以前在电脑上听音乐的时候,经常会调出播放器的一个小工具,里面的柱状图会随着音乐节奏而跳动,就感觉自己好专业,尽管后来才知道这个是音频信号在频域下的表现。 采样: 众所周知,声音是一种压力波,是连续的,然而在计算机中无法表示连续的数据,所以只能通过间隔采样的方式进行离散化,其…
OCEval-动态执行ObjectiveC的热修复方案
目前流行的 JSPatch/RN 基于JavaScriptCore提供了iOS的热修复和动态化方案。但是都必须通过下发Javascript脚本来调用Objective-C。 尤其是JSPatch,编写大量的JS代码来调用OC的方法,开发效率较低(目前可以借助语法转换器),运行效…
WWDC 2018:效率提升爆表的 Xcode 和 LLDB 调试技巧
在程序员写 bug 的职业生涯中,只有 bug 会永远陪伴着你,如何处理与 bug 之间的关系,是每一位程序员的必修课。特别是入门程序员经常受 bug 的影响,熬夜加班压力大,长痘长胖还脱发。 每一位 iOS 和 macOS 开发者都是幸运的,因为苹果的 Xcode 和 LLD…
10个让你相见恨晚的iOS Swift动画框架!
Airbnb 开源的用于渲染 AE 矢量动画的动画框架,有多平台版本,通过 AE 插件直接将动画导出为 json 文件在客户端使用,将动画功能实现完全交还给设计师,从此告别耗费性能的帧动画。 RazzleDazzle 是一个简单的自动布局友好的 iOS 关键帧动画框架,使用于滚…
一步一步教你实现iOS音频频谱动画(二)
在上篇文章中我们已经拿到了频谱数据,也知道了数组每个元素表示的是振幅,那这些数组元素之间有什么关系呢?根据FFT的原理, N个音频信号样本参与计算将产生N/2个数据(2048/2=1024),其频率分辨率△f=Fs/N = 44100/2048≈21.5hz,而相邻数据的频率间…
iOS 原生级别后台下载详解
当然,这个问题其实很简单,解决方案也有很多。但我第一时间想到的是,目前是否存一个具有任务组概念,非常权威,非常流行、稳定可靠,并且是用 Swift 写的,Github 上 star 非常多的下载框架?如果存在这样的轮子,我就打算把它作为项目里专用的下载模块。很可惜,下载框架很多…
[旧文搬运]JSBox中幽灵触发器的实现原理探索
幽灵触发器是钟颖大神的JSBox中的一个功能,在app进程被杀死的情况下,也可以将通知固定在通知栏,即便用户点击清除,也能马上再弹出,永远不消失,除非用户关闭App的通知权限或者卸载App,才可以消失。这个功能确实比较有意思,而且钟颖大神在介绍视频里有提到是目前JSBox独有的…
WWDC 2018:理解崩溃以及崩溃日志
人非圣贤,孰能无过。每个人在写代码的时候,或多或少都会犯错,那么如何调试、找出问题所在呢?让我们跟随苹果工程师一起了解一下崩溃是如何产生以及如何解决它们的吧。 1. 基础知识 崩溃是什么?崩溃是当应用想要做某件事的时候,被意外终止。 CPU 无法执行的代码。 被操作系统“强杀”…
SwiftUI 和 Swift 5.1 新特性(2) 属性代理Property Delegates
SwiftUI 带来的 Swift 5.1 的新特性比框架本身更重要。我们可以预见到,这些新的语言特性很快会被各个库作者所使用。在上一篇中,我们解释了 SwiftUI 代码中 some View 的 some 是什么以及它为何很重要 SwiftUI 和 Swift 5.1 新特…
iOS——隐形水印的实现和『颜色加深』算法
很多 APP 都在敏感页面有水印,主要为了应对舆情时可以追踪图片来源,一般在水印上都会有员工或用户 ID 和昵称。 威慑作用是指当用户看到水印时,会自觉避免违法传舆行为。 但是,当不需要威慑作用时,例如,为了保持应用或者图片的美观,显形的水印似乎不是那么必要,这时候可以考虑使用…