4 Star 9 Fork 5

wsl / iOS_Tips

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README
MIT

iOS_Tips

iOS的一些示例,不定时更新~

简书 掘金
CSDN 微博

目录

1、暗黑模式
2、AppleID登录应用
3、AVFoundation相关

3.1、AVFoundation 高仿微信相机拍摄和编辑
3.2、AVFoundation 人脸检测
3.3、AVFoundation 实时滤镜
3.4、GPUImage框架的使用
3.5、VideoToolBox和AudioToolBox音视频编解码
3.6、AVFoundation 利用摄像头实时识别物体颜色
3.7、AVFoundation 原生二维码扫描识别和生成

4、OpenGL ES学习
5、LeetCode算法练习
6、工作中踩过的坑

6.1、键盘和UIMenuController不能同时存在的问题
6.2、全屏侧滑手势/UIScrollView/UISlider间滑动手势冲突
6.3、UITableView/UICollectionView获取特定位置的cell
6.4、UIScrollView视觉差动画
6.5、iOS 传感器集锦
6.6、iOS 自定义转场动画
6.7、二进制重排优化启动速度
6.8、iOS APM应用性能监控管理(doing)
6.9、ipa瘦身之扫描无用资源
6.10、多个UIScrollView嵌套/个人中心页

7、iOS Crash防护
8、WKWebView相关

8.1、WKWebView的使用
8.2、WKWebView+UITableView混排
8.3、WKWebView离线缓存功能
8.4、Html非文本元素替换为原生组件展示
8.5、UIScrollView实现原理
8.6、UITableView的实现原理

高质量技术博客集合
结尾

1-暗黑模式适配

暗黑模式

2-AppleID登录应用

  • 查看本仓库下的AddingTheSignInWithAppleFlowToYourApp

3-AVFoundation相关

3.1-微信相机拍摄照片、小视频以及编辑功能

效果描述:

  • 1、自定义相机 拍摄视频和照片
  • 2、切换前后摄像头、调整焦距/设置聚焦点、横屏拍摄
  • 3、视频编辑:涂鸦、gif贴图、文字水印、视频裁剪 、添加背景音乐
  • 4 、图片编辑:涂鸦、贴图、文字水印、马赛克、图片裁剪

主要类:SLAvCaptureTool(音视频采集录制工具)、SLAvEditExport(导出编辑的音视频)。关于视频的压缩问题,可以通过降低采集时的分辨率sessionPreset、降低写入文件时的分辨率(AVVideoWidthKey宽AVVideoHeightKey高)和码率(AVVideoCodecKey)、指定高的FormatProfile(AVVideoProfileLevelKey)等方法来实现,同时也要保证一定的清晰度满足业务的需求, 可以看看这篇文章https://www.jianshu.com/p/4f69c22c6dce

拍摄视频.gif 拍摄照片 横屏视频
视频编辑 视频编辑 图片编辑
图片编辑 图片裁剪

3.2-人脸检测

人脸识别

3.3-实时滤镜拍摄和导出

主要类: 是由SLAvCaptureTool拆分的 SLAvCaptureSession(采集) + SLAvWriterInput(录制) 两个工具类,方便扩展,录制写入实现的方式也略有不同

人脸识别

3.4-GPUImage框架的使用

效果描述:实时拍摄添加水印和滤镜、本地视频添加水印、GIF图水印

  • 遗留问题:一个启动周期内,第一次启动摄像头时打开特慢,之后就特别块,还没找到原因,望知道到的告知一下🤝

GPUImage框架的使用

3.5-VideoToolBox和AudioToolBox音视频编解码

请查看本仓库下的 VideoEncoder&Decoder 文件

音视频编码

3.6-AVFoundation 利用摄像头实时识别物体颜色

音视频编码

3.7-AVFoundation 原生二维码扫描识别和生成

该代码地址在:https://github.com/wsl2ls/ScanQRcode

4-OpenGLES学习

示例描述:

  • 1、GLKit 绘制图片和正方体
  • 2、GLSL 绘制金字塔、颜色纹理混合
  • 3、GLSL 滤镜集合:灰度、旋涡、正方形马赛克、六边形马赛克
  • 4 、GLSL 抖音部分特效:分屏、缩放、抖动、灵魂出窍、毛刺

|OpenGLES学习.gif|OpenGLES学习|OpenGLES学习|

5-LeetCode算法练习

LeetCode算法练习集合(Swift版) ~ 每天一道算法题

6-工作中踩过的坑

6.1-键盘和UIMenuController的并存问题

| 问题描述.gif | 并存问题解决 |

6.2-全屏侧滑手势/UIScrollView/UISlider间滑动手势冲突

6.3-UITableView/UICollectionView获取特定位置的cell

6.4-UIScrollView视觉差动画

6.5-iOS 传感器集锦

6.6-iOS 自定义转场动画

6.7-二进制重排优化启动速度

6.8-iOS APM应用性能监控管理(doing)

CPU占用率、内存/磁盘使用率、卡顿监控定位、Crash防护、线程数量监控、网络监控(TCP 建立连接时间 、DNS 时间、 SSL时间、首包时间、响应时间 、流量)、ViewController启动耗时监测 、load方法的耗时、方法执行耗时......

6.9、ipa瘦身之扫描无用资源

扫描项目中无用的图片、类等文件资源, 此示例主要针对于此项目中的图片资源,其他类型资源实现原理相同。

6.10、多个UIScrollView嵌套/个人中心页

多个UIScrollView嵌套

7-iOSCrash防护

Crash防护内容涉及 NSArray/NSMutableArray、NSDictionary/NSMutableDictionary、NSString/NSMutableString、Unrecognized Selector、KVO、KVC 、异步线程刷新UI、野指针定位、内存泄漏/循环引用;主要是对常见易错的地方进行容错处理,避免崩溃,并保存出错时的函数调用栈,以方便快速定位代码,主要是利用的runtime和fishook知识。

iOSCrash防护

8-WKWebView相关

WKWebView的使用WKWebView+UITableView混排、WKWebView离线缓存功能、HTML非文本元素替换为原生组件展示、UIScrollView实现原理、UITableView的实现原理

WKWebView相关

结尾

  • 1、主工程就是iOS_Tips下的DarkMode,别怀疑🤣,历史遗留问题😁😀,大部分内容都在里面,run一下就明白了🤝;
  • 2、该demo里面有些功能还没有写博客介绍,后期有时间会补上,不过代码我一般喜欢写注释,所以我相信大家读起来应该也容易理解,建议大家看完之后,自己也可以写写,把整个流程过一遍,也许会比我写的更好哟;
  • 3、看过的高质量技术博客集合,这些博客质量都挺高的,都出自各个大厂、大佬之手,认真看完绝对干活满满;
  • 4、小视频拍摄录制失败,主要集中在plus和X系列手机上:可能是由于写入的视频宽高videoSize设置的问题,各位可以先试试这样设置 avCaptureTool.videoSize = CGSizeMake(self.view.width * 0.8, self.view.height * 0.8);
  • 5、当你编译的时候,XCode出现Unable to load contents of file list 错误,导致出现此原因是pods版本不一致,请更新pods版本或者重新安装。
  • 6、如果发现我简书或掘金上的文章无法查看了,请联系我。

Welcome to you 👏 您的follow和start,是我前进的动力,Thanks♪(・ω・)ノ 🤝

简书 掘金 QQ交流群 微信公众号 微信交流群
CSDN 微博 835303405 iOS2679114653 w2679114653(加我拉入群)

回到顶部

QQ交流群: 835303405

欢迎扫描下方二维码关注——奔跑的程序猿iOSer——微信公众号:iOS2679114653 本公众号是一个iOS开发者们的分享,交流,学习平台,会不定时的发送技术干货,源码,也欢迎大家积极踊跃投稿,(择优上头条) ^_^分享自己开发攻城的过程,心得,相互学习,共同进步,成为攻城狮中的翘楚!

奔跑的程序猿iOSer

MIT License Copyright (c) 2019 wsl Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

简介

iOS的一些示例,持续更新中:1、暗黑模式 2、AppleID登录应用 3、AVFoundation 高仿微信相机拍摄和编辑 4、AVFoundation 人脸检测 5、AVFoundation 实时滤镜 6、GPUImage框架的使用 7、音视频编解码 8、OpenGLES 9、LeetCode算法练习 10、.......等等,不定时更新~ 展开 收起
Objective-C
MIT
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
Objective-C
1
https://gitee.com/wsl2ls/iOS_Tips.git
git@gitee.com:wsl2ls/iOS_Tips.git
wsl2ls
iOS_Tips
iOS_Tips
master

搜索帮助