iOS开发栈 - 专注于分享iOS开发相关知识

关注公众号【iOS开发栈】及时免费获取更多iOS开发知识

0%

广告作为App的三大营收渠道之一广泛存在于各类应用程序中,在最近的开发中对广告接触比较多也有了一些自己的认识,在这里进行一个总结。因为这篇文章主要是对App通过广告变现的一个行业性的认识,所以涉及到技术的东西并不多,但是如果要做好广告相关的需求尤其是程序化广告就少不了要对行业有深刻认识;另外,这篇文章也会涉及到App接入广告的需求和其他需求的不同之处,以及在iOS14中引入的SK框架和需要申请访问追踪权限对广告行业的影响。

那么,让我们开始吧。🛎

阅读全文 »

用户触摸事件和手势处理是iOS开发的一大知识点,比如按钮点击、UIScrollView及其子类的拖拽滚动,虽然这个知识点非常重要,但是由于UIKit已经做了很完善的封装,开发者能够对它深入了解的机会并不多。本人最近在项目的需求开发过程中遇到了这样一个场景,在这里把用到的知识点分享给大家,希望当你遇到类似场景的时候这篇文章能提供一些帮助。

本文主要涉及的内容包括:

  1. 场景重现,其他更日常的方法为什么不能解决问题。
  2. 使用hitTest:withEvent:实现穿过上层ScrollView
  3. 通过传递ScrollView的panGestureRecognizer重新使ScrollView可以滚动

让我们开始吧🛎

阅读全文 »

两三年前我就耳闻了iOS的XCTest框架,也听说过单元测试的大名,可一直都没有进行过实践,虽然也看过两篇相关的文章但是并没有在项目中使用过。最近由于一些原因打算试一下单元测试,所以用了大概三天的时间看了N多的文章、教程,并且在公司的项目中对一个类进行了单元测试。

这篇文章就来总结一下自己学到的理论和实践到的经验,总体来说就是单元测试的一篇入门文章。主要内容分为这几个部分:

  1. XCTest、单元测试是什么。
  2. 单元测试能带来什么。
  3. 在实际项目中怎么使用单元测试。

那么,让我们开始吧🇨🇳

阅读全文 »

应用的启动过程是用户对一个应用的最初印象,并且是用户每天都要进行很多次的动作。所以应用的启动时长是非常最要的,我们iOS开发程序员对这个性能指标应该有足够的重视。

而在进行优化之前一项必须要做的工作就是监测应用时长具体的状况,那么这篇文章就学习一下怎么利用Instruments工具来检查应用的启动时长。

阅读全文 »

Objc的属性修饰符想必你已经非常熟悉了,对assignweakcopystrong等的用法早就烂熟于心。但是对它们的原理你了解多少呢,为什么同样一个数组使用了不同的修饰符后,它会有相差如此之大的行为呢?

本文就从汇编和Objc运行时源码的角度来对copystrong修饰的数组进行一个深入探讨,主要包括下面两个方面:

  1. strongcopy修饰符的作用效果
  2. 通过对.m文件进行汇编来查看copystrong修饰符的本质区别
  3. 从apple开源的运行时代码查看set方法的实现
阅读全文 »