FoolishTalk

谈谈技术,聊聊生活

iOS模拟移动定位

Xcode,iOS,定位

前言 在阅读这篇文章之前,先保证你必须符合以下几个条件: 有台Mac可以使用 有一定的编程经验(如果你愿意折腾,没有经验也是可以的) 正文 因为有太多人说看不懂了,所以我又录了个视频 先打开Mac应用虚拟定位,可以看到以下的界面,可以在这里下载,另外有什么App使用上的问题和建议,也可以来微博私信我: 双击选择你要定位的位置点; 在左上角填速度,每个点之间移动...

音视频学习笔记

音视频,iOS

前言 虽然2019年已经不是音视频的风口,但是不可否认在iOS开发中,依旧属于一个很火的领域,由于一直没有机会进入到一间由音视频技术驱动的公司,所以对音视频这块的学习没有很深入的学习,上年年底的时候,决心要做出点改变,所以有了这篇。 原来这篇只是作为一个自己的学习笔记,并没有打算作为文章发出来,后来大体将音视频最基础的点都记录后,想到作为一个入门小白级的文章,或许是个不错的选择。不过也因为...

Swift闭包中weak多个对象

Swift,weak

无论是在OC还是Swift都会有在闭包中需要弱引用对象的时候,没有在Swift的文档中看到如何在闭包中对多个对象弱引用,最后在stackoverflow上找到相关的资料: { [weak self,weak sender] in //.... }

iOS多线程总结

iOS,多线程

iOS多线程总结 碎碎念 这是2019的第一篇,虽然原来这篇大概在上年7、8月的时候就开始写了,但是因为各种生活+工作的事情,再加上对文章保持严谨的态度,在写之前写过很多测试代码,同时也顺便自己复习了一下,所以一直搁置到现在才写完。 前言 最初写这一篇,是曾经被抛出过一个很泛的问题,“说说你知道的iOS多线程的知识点?”,对于一个iOS开发者来说,多线程绝对不陌生,而且经常会用到,但是遇...

2019的关键词

杂谈

2018 在过去的一年,经历了人生第一次裁员,被万表裁了之后,期间去过YY面试,第一次去到大公司去面试,面试之前并没有怎么好好准备,一直以来对自己的水平都是非常自信,结果依旧在上面栽了个大跟斗,最终在东莞和广州之间,还是选择留在了广州,去到了悦跑圈,年轻还是尽量希望能够往更好的平台和城市发展。 在工作和技术上,并没有很大突破,这点其实很遗憾,日复一日的搬砖,自身专业上没有很好沉淀,对细节把...

CloudKit实践

iOS,CloudKit

前言 在iOS 11后,有个接力的功能非常好用,可以在iPhone和Mac上共享剪贴板等。但是自己用的时候,总有很多小问题,明明需要打开的都打开了接力失效、上一次复制的是图片后来复制的是文本,iPhone直接剪贴板都不出来了。经历了一顿需求分析之后,决定自己动手做一个。 既然要实现跨平台,免不了要涉及到服务器,选择自己去写还是使用现有的云服务,成为了当前选择的最大问题。 为了解决又快懒~~...

知乎app内打开app store的功能分析

iOS,动画,SKStoreProductViewController

前言 今天刚好有个朋友问了我一个像知乎那样,app内打开app store的app内容页面,上面还能播放视频这种是怎么实现的,虽然问题很简单,但是本着探讨功能实现的想法,记录了下来。知乎app内效果如下: 通过这个图可以看出,其实要做的事情很简单,就是把原来的view往下移一点,然后在上面放视频。 无非就是几个思路,先看看原来的vc是否有子view属性,通过继承去重写约束,其次就是使用...

聊聊ReplayKit踩过来的坑

iOS,动画,ReplayKit

前言 ReplayKit是WWDC15推出的苹果原生录屏框架,目的在于让开发者更方便的使用屏幕录制功能,在悦跑圈的项目中也有用到,API对开发者可以说是非常友好了。我们先来看看ReplayKit的API。 开始录制 [[RPScreenRecorder sharedRecorder] startRecordingWithHandler:^(NSError * _Nullable ...

24岁的杂谈

杂谈

昨天刚过完了自己24岁的生日,过了第一个在工作之后,没有在敲代码的生日,工作的第一年生日,写了FFDB,第二年的生日写了Swift-FFDB,尽管这两个库都不完美,但是都是花了非常多心思在里面,自己还是很满足的。 今年的生日很特别,和我女朋友一起过的第一个生日,认识我的人都知道,以往的自己一直沉迷在写代码,完全不在乎身边的人和事,也不知道为什么,这次主动了起来抓住机会,说起来也很有巧合,我...

NS_ASSUME_NONNULL_BEGIN和NS_ASSUME_NONNULL_END

iOS,Xcode 10

更新了Xcode 10之后在新建OC的类的时候,都会默认加上了NS_ASSUME_NONNULL_BEGIN和NS_ASSUME_NONNULL_END。 NS_ASSUME_NONNULL_BEGIN @interface Person : NSObject @end NS_ASSUME_NONNULL_END 在Objective-C中,是没有像swift中!和?的概念,为了解决...