Erlo
· iOS全埋点解决方案-数据采集SDK

前言​ 埋点一般可以分为客户端埋点和后端埋点。由于客户端埋点更加贴近业务,更加直观,因此称为市面上主流数据采集手段。对于iOS端的埋点,目前市面上主流代码埋点和全埋点两种方案。其中,代码埋点即显式地调用数据采集SDK提供的接口来采集数据,在采集能力上有比较大的优势,但是需要做额外的开发,易用性较...

来源:博客园 2022-04-25 48

· iOS全埋点解决方案-应用退出和启动

前言​ 通过应用程序退出事件,可以分析应用程序的平均使用时长;通过应用程序的启动事件,可以分析日活和新增。我们可以通过全埋点方式SDK实现应用程序的退出和启动事件。一、全埋点的简介​ 目前、全埋点采集可以采集一下4个事件。1、$AppEnd事件:应用程序退出事件2、$AppStart事件...

来源:博客园 2022-04-25 59

· iOS全埋点解决方案-界面预览事件

前言​ 我们先了解UIViewController生命周期相关的内容和iOS的“黑魔法”MethodSwizzling。然后再了解页面浏览事件($AppViewScreen)全埋点的实现原理一、UIViewController生命周期​ 众所周知,每一个UIViewController都管理着...

来源:博客园 2022-04-25 28

· iOS全埋点解决方案-控件点击事件

前言​ 我们主要介绍如何实现控件点击事件($AppClick)的全埋点。在介绍如何实现之前,我们需要先了解一下,在UIKit框架下,处理点击或拖动事件的Target-Action设计模式。一、Target-Action​ Target-Action,也叫目标-动作模式,即当某个事件发生的时候,...

来源:博客园 2022-04-25 29

· 《经济机器如何运转》笔记

视频链接:【RayDalio】三十分钟看懂经济机器如何运转(比尔盖茨推荐)影响经济的三要素生产率的提高短期债务周期长期债务周期理解交易每次交易中:买方使用货币/信用向卖方获取商品、服务或股票资产支出总额=货币+信用支出总额是经济的驱动力价格=支出总额/销量所有的经济周期和动力...

来源:博客园 2022-04-25 25

· 《富豪谷底求生》纪录片记录

昨天看到知乎推这个主题,非常感兴趣。遂花了一天的时间把全集看完了(B站有资源),把从中总结到的东西记录了下来。一共32条,没时间看全片的同学可以看看下面的总结。总之我是准备把这32条背下来了。————以下是总结正文————1、赚大钱比较容易,只赚个几百几千,是比较难的;2、人一慌张就容易太...

来源:博客园 2022-04-25 34

· iOS全埋点解决方案-UITableView和UICollectionView点击事件

前言在$AppClick事件采集中,还有两个比较特殊的控件:UITableView•UICollectionView这两个控件的点击事件,一般指的是点击UITableViewCell和UICollectionViewCell。而UITableViewCell和UICollectionVi...

来源:博客园 2022-04-25 36

· iOS全埋点解决方案-手势采集

前言​ 随着科技以及业务的发展,手势的应用也越来越普及,因此对于数据采集,我们要考虑如果通过全埋点来实现手势的采集。一、手势识别器​ 苹果为了降低开发者在手势事件处理方面的开发难度,定义了一个抽象类UIGestureRecognizer来协助开发者。UIGestureRecognizer是具体...

来源:博客园 2022-04-25 40

· iOS内卷面试题-你以为你够卷了,面试官更卷!

同事天天说我卷,我没有。我只是在你们摸鱼的时候偷偷出去,见识了一下世面,结果发现面试官更卷.....下面是我最近个月面试整理的题目,可能会有遗漏,毕竟头发都快没了,你还能要求我有记忆力吗!不是说开局都先问底层的吗,我这一拳四个月的工夫,你怎么不接啊!图像、渲染流程图片是什么时候解...

来源:博客园 2022-03-22 105

· 使用AVPlayer自定义支持全屏的播放器(五)—Swift重构版本

前言很早之前开源了一个简单的视频播放器,由于年久失修,效果惨目忍睹,最近特意花时间对其进行了深度重构。旧版本后期不再维护,新版本使用Swift实现,后续会增加更多功能。不想看文字的请自行下载代码------>>>CLPlayer旧版本VS重构版本1.新版本使用Swift,旧版本使用Object...

来源:博客园 2022-03-22 75

· 两种方式实现轮播图

概述轮播图可以用UIScrollView或UICollectionView来实现。用UIScrollView实现轮播图的思路是:给图片数组的第一个元素(下标0)添加最后一张图片,之后再往末尾添加第一张图片,这样数组就增加了2张图片,第一个元素和倒数第二个元素是最后一张图片,最后一个元素和第二...

来源:博客园 2022-03-22 52

· iOS实现组件录屏视频不可见,用户肉眼可见(类似系统键盘效果)

系统键盘在密码框输入时,如果用户开启录屏,键盘在录屏得到的视频里会不可见,但是用户在录屏时却能看到。为了实现这个效果,利用UItextfield在录屏下视频不可见的特性,将实现这一效果的私有UIview,也就是_UITextLayoutCanvasView提取出来,作为背景,其他组件在这个背景上显...

来源:博客园 2022-03-22 69

· 编写第一个GET、POST接口[renren-fast框架系列(1)]

配置好renren-fast脚手架,学习完SpringMVC架构后,我需要具体调试renren-fast的接口,比如要新增某个接口。什么是前后端分离运行renren-fast项目时,我们访问http://localhost:8080/renren-fast/的结果:可以看到,接口给出了相应的...

来源:博客园 2022-03-22 64

· SourceTree代码变更和FoxMail邮件管理(效率小计俩)

代码变更溯源工作时,我们经常会想要查看一个类文件的变更历史,最常见的场景是:"卧槽,谁改了我的代码"新版本的Xcode溯源自我感觉相当难用,所以这里我们介绍一个工具SourceTree来完成这项工作。将项目工程加载到SourceTree当我们把项目工程拖到SourceTree之后,可以看...

来源:博客园 2022-03-22 90

· CPU是海王?聊聊 主/子线程 和 同/异步 的关系

最近表弟一直在找实习,经常会问我一些问题,有些问题在没有经历过真实工作时是真的不好理解的,所以我开了这个【表弟专栏】,专门为找工作的表弟解决一些疑惑。这篇文章从计算机发展的角度出发,描述为什么计算机需要划分"主/子线程"和"同/异步",希望这个故事你能喜欢。开天辟地,计算机"老计"诞生话...

来源:博客园 2022-03-22 70

· RGB、YUV、HSV和HSL区别和关联

RGB、YUV、HSV和HSL区别和关联近期在做的一个需求和颜色转换有关系,所以本篇将开发过程中比较常见的四种颜色进行一番梳理。一、RGB颜色空间从我们最常见的RGB颜色出发,RGB分别对应着Red(红)、Green(绿)、Blue(蓝),也就是我们平时所说的三原色,调整这三种颜色的比例,可以...

来源:博客园 2022-03-22 48

· 苹果开发者账号注册申请流程(2017-6-27)

前言因为网上的一些文章过于老旧已经不适合现在的苹果官网的申请流程,所以整理【最新】开发者账号申请流程,以供还在纠结苹果的几种开发者账号之间的区别,文章配合现在的苹果官网实际操作并截图一目了然,按照文章步骤可顺利申请适合你或者你的公司的账号。由于简书的markdown不支持图片的html属...

来源:博客园 2020-11-12 218

· 如何不上架AppStore(重签名)

前言自己开发的或朋友给的.ipaor.app如何让亲朋好友安装后把玩?那个谁把手机的UDID给我~那个谁把手机拿过来我给你用Xcode装一个~...解决方案除了上架AppStore我们还可以利用重签名让我或者公司开发的app安装到非测试设备上,也就是本文主要内容。准备工作1、...

来源:博客园 2020-11-12 312

· iOS计算缓存、Touch-ID、国际化

前言整理CSDN上的几篇文章至简书CSDN地址iOS计算缓存大小、清除缓存iOS8SDK向开发者公开了TouchID指纹识别功能iOS国际化---跟随系统语言iOS国际化---不跟随系统语言

来源:博客园 2020-11-12 281

· iOS直播系列之《很会飞的弹幕》

前言此弹幕来源于直播,所以名为LiveBarrage。弹幕效果:弹幕君说:我会飞~~~(gun~,你咋不上天!!);我的大小你做主;我飞的速度你来定,让我飞多快我飞多快(PS:恩!真听话);我的衣服你来买(弹幕样式自定义);我们弹幕家族自带磁场从来不会叠加碰撞的哦(⊙o⊙);...

来源:博客园 2020-11-12 304

· 【iOS】找工作的面试题集锦

   1.你在开发过程中常用到哪些定时器,定时器时间会有误差吗,如果有,为什么会有误差?  iOS中常NSTimer、CADisplayLink、GCD定时器,其中NSTimer、CADisplayLink基于NSRunLoop实现,故存在误差,GCD定时器只依赖系统内核,相对一前两者是比较准时的...

来源:博客园 2020-10-30 323

· uni-app中IOS离线打包报HBuilder has conflicting prov...

一、现象:  HBuilderhasconflictingprovisioningsettings.HBuilderisautomaticallysignedfordevelopment,butaconflictingcodesigningidentityAppleDistributionha...

来源:博客园 2020-10-30 642

· iOS-多Target那些事儿

引入记得之前说过一遍关于通过配置xcconfig文件,各取Debug与Release同一个宏的参数值的文章,特别是在不同的环境,测试环境Api与正式环境Api的区别,但是如果一个项目,有线上版本,有内测版本,有开发版本等等,或者有各种不同环境的Api,不同的环境下,宏值的区分,这时候用多Targe...

来源:博客园 2020-10-29 284 1

· 【Swift】Timer定时器到底准不准确?

  在开发过程中,Timer可以说是比较常见的了,用来做一些定时性的操作。可实际过成功,Timer的时间真的准吗?下面写几个代码来做验证。  1、Timertimer=Timer.scheduledTimer(timeInterval:1.0,target:self,selector:#sel...

来源:博客园 2020-10-28 139

· iOS 集成React Native超强实用入门笔记

环境安装 1.homebrew安装,官方:https://brew.sh/  /bin/bash-c"$(curl-fsSLhttps://raw.githubusercontent.com/Homebrew/install/master/install.sh)" 如果官方的方式安装不...

来源:博客园 2020-10-26 269

· iOS-多Target开发环境

引入记得之前说过一遍关于通过配置xcconfig文件,各取Debug与Release同一个宏的参数值的文章,特别是在不同的环境,测试环境Api与正式环境Api的区别,但是如果一个项目,有线上版本,有内测版本,有开发版本等等,或者有各种不同环境的Api,不同的环境下,宏值的区分,这时候用多targe...

来源:博客园 2020-10-24 344

· iOS 底层原理之—dyld 与 objc 的关联

前言 在dyld加载过程中,我们知道会调用_objc_init方法,那么在_objc_init方法中究竟做了什么呢?我们来探究下。 _objc_init方法 _objc_init方法实现    void_objc_init(void){staticboolinitiali...

来源:博客园 2020-10-20 290

· 使用系统手机国旗emoji来显示国旗

以前一直以为,要显示各国国旗,除了让UI给图片,没有其他办法。最近发现了手机中自带国旗,在系统表情键盘中就有各国国旗,如果对UI要求不是很高的话,可以直接使用国旗emoji上代码-(NSString*)emojiFlagForISOCountryCode:(NSString*)country...

来源:博客园 2020-10-14 204

· iOS使用NSTextAttachment添加图片,图片模糊

最近在忙的项目中,需要处理富文本的相关内容,产品需求并不复杂,所以想着用TextKit处理,顺便学习一下,没想到直接掉坑。在此记录一下(都是血泪史),顺便为有需要的小伙伴提供参考。//Addtheimageasanattachment.lettextAttachment=NSTextAttac...

来源:博客园 2020-10-13 306

· 自定义相机碰到的问题,比如常见的拍照录制视频方向,镜像左右颠倒等问题

iOS开发了好几年了,自定义相机都碰到过很多次,每次都是从网上copy代码使用,但是很多时候都会有方向等问题,从来没有真正研究过,现在在这里记录一下自定义相机碰到的问题,以防忘记问题一:横向拍照/录制视频,得到的视频也需要横屏。     要实现这个功能,就需要获取到设备的方向,这里有两种...

来源:博客园 2020-10-13 208

· 不会吧,这也行?iOS后台锁屏监听摇一摇

目录背景介绍探索过程其他APP有没有类似功能系统提供的摇一摇回调能否满足其他方法能否实现利用CoreMotion框架,监听加速计原始数据通过加速计监听摇一摇控制器相关逻辑和代码APP申请后台运行权限后,能否监听到摇一摇多APP都实现此功能时,摇一摇是何效果后台定位权限+系统摇一摇,是否可行?文章小结...

来源:博客园 2020-10-12 274

· iOS开发——你面试能用到的iOS面试题(二)

>为大家总结一份完整的2020年《大厂最新常问iOS面试题+答案》,**面试题合集答案**、**复习资料**,均有**完整PDF版**,需要的小伙伴加iOS技术分享群:761407670,群文件直接获取! 题目来源自这里,笔者对知识类问题和经验类问题做了解答,答案有遗漏的地方希望大家能补充,这是你...

来源:博客园 2020-10-12 420

· iOS 14 UDP收不到广播处理

1.简单说明项目使用到了CocoaAsyncSocket,建立TCP之前,使用了UDP广播获取IP地址,但是系统升级到iOS14之后,发现有台iPad间歇性可以收到广播,iPhone一直没有收到广播。2.解决办法Info.plist添加NSLocalNetworkUsageDescript...

来源:博客园 2020-09-29 739

· iOS----------设置tabBar图片以及文字位置

//设置图片位置homeVC.tabBarItem.imageInsets=UIEdgeInsetsMake(6,0,-6,0);//设置文字位置[[UITabBarItemappearance]setTitlePositionAdjustment:UIOffsetMake(0,-2.5)];

来源:博客园 2020-09-23 273

· iOS多线程之超实用理论+demo演示(可下载)

目录背景简介GCD、OperationQueue对比核心理念区别GCD队列串行队列(SerialQueues)并发队列(ConcurrentQueues)串行、并发队列对比图注意事项block(块)相关dispatch_afterdispatch_semaphoredispatch_apply自问自...

来源:博客园 2020-09-20 267

· Sagit.Framework For IOS 自动布局教程:14、UIScrollVi...

前言:本篇介绍UIScrollView 封装的一些用法。1、UIScrollView特殊用法:分页、分页事件、批量加载图片。基本定义:interfaceUIScrollView(ST)//定义两个事件,上一页和下一页typedefvoid(^OnScrollPrePager)(UIScr...

来源:博客园 2020-09-17 374

· Sagit.Framework For IOS 开发框架入门教程14:STLocation...

前言:本篇介绍框架里关于STLocation获取GPS坐标信息、跳转第三方地图的相关功能。1、STLocation基本定义:@interfaceSTLocation:NSObjecttypedefvoid(^OnLocationEnd)(STLocationModel*model);@p...

来源:博客园 2020-09-17 318

· Sagit.Framework For IOS 自动布局教程:15、UITableVie...

前言:框架对于UITableView、UITableViewCell 封装了不少功能,下面开始介绍。1、UITableView 基本定义。 @interfaceUITableView(ST)#pragmamark核心扩展typedefvoid(^OnAddTableCell)(UITabl...

来源:博客园 2020-09-17 336

· [Swift]一些第三方库

Kingfisher地址https://github.com/onevcat/Kingfisher功能加载网络图片 RxAlamofire地址 https://github.com/RxSwiftCommunity/RxAlamofire功能 RxSwift+Alamofire SnapKi...

来源:博客园 2020-09-16 273

· Sagit.Framework For IOS 自动布局教程:5、状态栏 :高度、样式前景...

前言:IOS的界面,分为:状态栏、导航栏、主界面、底部状态栏。本篇讲述状态栏的相关操作。1:状态栏的高度:框架是自动布局和自适应的,所以提供了一个宏定义来表示状态栏的高度:  当页面布局,需要用到状态栏高度的时候,就用:STStatusHeightPx来使用。当页面无导航栏显示的,主UI...

来源:博客园 2020-09-15 347

· Sagit.Framework For IOS 自动布局教程:8、UIView通用事件:点...

前言:前面介绍一些UI的基本用法,这节介绍一下UIView的通用事件。通用事件在所有的UI上都可以使用。1、UIView事件:点击定义://可以附加的点击事件(存档在keyvalue中时,无法传参(内存地址失效),只能针对性存runtime的属性)typedefvoid(^OnView...

来源:博客园 2020-09-15 381

· iOS开发全套资源,从入门到全栈IOS工程师

内容介绍:本内容涵盖框架、组件、测试、AppleStore、SDK、XCode、网站、书籍等。发起者来自vsouza,由jobbole提供中文编译。文章以下内容主要是分享面经和个人的学习建议,内容涉及到很多PDF文档(面试题库、学习笔记、实战文档、脑图等),由于文章有限,需要这些文档的,直接(点...

来源:博客园 2020-09-15 279

· Sagit.Framework For IOS 开发框架入门教程16:屏幕旋转、屏幕强制旋...

前言:框架对屏蔽旋转做了很全面的封装处理,本篇来介绍一下使用屏幕旋转的相关功能。屏幕旋转的相关方法定义:#pragmamark屏幕旋转//!屏幕旋转事件:【returntrue系统调用刷新布局([self.viewrefleshLayoutAfterRotate];);returnfals...

来源:博客园 2020-09-15 347

· iOS实现折叠单元格

本文实例为大家分享了iOS实现折叠单元格的具体代码,供大家参考,具体内容如下 思路 点击按钮或cell单元格来进行展开收缩,同时使用一个BOOL值记录单元格展开收缩状态。根据BOOL值对tableView的高度和button的image进行实时变更。 注意点: 在执行-(void)table...

来源:脚本之家 2020-09-13 275

· iOS蓝牙设备名称缓存问题的解决方法

1.问题背景 当设备已经在App中连接成功后 修改设备名称 App扫描到的设备名称仍然是之前的名称 App代码中获取名称的方式为(perpheral.name) 2.问题分析 当APP为中心连接其他的蓝牙设备时。 首次连接成功过后,iOS系统内会将该外设缓存记录下来。 ...

来源:脚本之家 2020-09-09 400

· iOS如何获取最顶层ViewController详解

1获取当前屏幕显示的Viewcontroller //获取当前屏幕显示的viewcontroller -(UIViewController*)getCurrentVC { ///下文中有分析 UIViewController*rootViewController=[UIApplic...

来源:脚本之家 2020-09-07 300

· iOS如何开发简单的手绘应用实例详解

开发一款简单的iOS手绘应用, 收集点,绘制形状,给形状着色,呈现给用户,好像就完了 框架是Quartz2D 1,收集点 首先需要有一个界面UIView,用这个界面监听用户的手势,收集点 用户按下手指 location(in,从触摸事件中,获得在画板中的坐标 var...

来源:脚本之家 2020-09-07 260

· iOS 如何高效的使用多线程

一、多线程简述 线程是程序执行流的最小单元,一个线程包括:独有ID,程序计数器(ProgramCounter),寄存器集合,堆栈。同一进程可以有多个线程,它们共享进程的全局变量和堆数据。 这里的PC(ProgramCounter)指向的是当前的指令地址,通过PC的更新来运行我们的程序,一个线程同...

来源:脚本之家 2020-09-02 249

· Swift 进阶 —— map 和 flatMap的使用

map和flatMap主要分在集合上的使用和在可选类型上的使用,下面分别来看下。 集合上使用map和flatMap 先看如下的代码: funcgetInfos(byname:String)->[String]{ ifname=="Jack"{ return["Male","25",...

来源:脚本之家 2020-09-01 276

· iOS程序性能优化的技巧

1.用ARC管理内存 ARC(AutomaticReferenceCounting,自动引用计数)和iOS5一起发布,它避免了最常见的也就是经常是由于我们忘记释放内存所造成的内存泄露。它自动为你管理retain和release的过程,所以你就不必去手动干预了。忘掉代码段结尾的release简直像记...

来源:脚本之家 2020-09-01 283

· iOS中各种UI控件属性设置示例代码

//视图已经加载完了,可以进行ui的添加了 -(void)viewDidLoad{ [superviewDidLoad]; //Doanyadditionalsetupafterloadingtheview. //初始化UILabel注意指定该对象的位置及大小 UILabel*lb=[[U...

来源:脚本之家 2020-08-30 298

· Sagit.Framework For IOS 自动布局教程:8、UIView通用事件:点...

前言:前面介绍一些UI的基本用法,这节介绍一下UIView的通用事件。通用事件在所有的UI上都可以使用。1、UIView事件:点击定义://可以附加的点击事件(存档在keyvalue中时,无法传参(内存地址失效),只能针对性存runtime的属性)typedefvoid(^OnView...

来源:博客园 2020-09-12 369

· iOS-----------特殊字符 双引号

  UIAlertController*alertController=[UIAlertControlleralertControllerWithTitle:@"是否打开“微信”"message:@""preferredStyle:UIAlertControllerStyleAlert];UIAl...

来源:博客园 2020-09-02 443

· jenkins打包制作framework遇见的问题

问题1:jenkins打包错误,根据错误信息《intarget'WIWJIMSDK'fromproject'WIWJIMSDK’》,确定到是项目的target有问题,解决方案看最后的完整流程 CLEANSUCCEEDED.png问题2:项目用xcode在本地Uat模式打包失败的问题,需...

来源:博客园 2020-09-01 382

· 打包制作framework遇见的问题

爱聊组件jenkins打包失败总结问题1:jenkins打包错误,根据错误信息《intarget'WIWJIMSDK'fromproject'WIWJIMSDK’》,确定到是项目的target有问题,解决方案看最后的完整流程问题2:xcode本地打包失败的问题,需要在序号为4的地方加Uat模式...

来源:博客园 2020-09-01 324

· 腾讯开发10年大佬:iOS开发现状与发展浅析!给你一个职业规划的方向

前言之前负责移动端基础架构相关的工作,并做了一段时间技术框架输出,所以对移动端的现状以及移动端开发这个行业有一定了解,与大家分享下。移动端开发时代已结束?过去两年里,移动端开发一直在被唱衰,Objective-C的语言热门度逐年下降,可参见TIOBE发布的排名。2017~2018开发语言排...

来源:博客园 2020-08-31 430

· 从APP的启动说起

iOS里面APP的启动,过程有些复杂,今天我们来抽丝剥茧,一步步探讨一下APP的启动会经历哪些过程。首先,用户点击iPhone里面的某个APP的icon,Kernel内核会开始初始化空间并创建进程,在调用exec_active_image后,开始加载Mach-O文件。这里我们简要说一下Mach...

来源:博客园 2020-08-31 472

· SwiftUI - Grid View 的实现方法,逐步剖析助你实现

简介在当前正式SwiftUI版本而言,很多控件都是缺少的。比如在UIKit框架里有UICollectionView组件,可以很方便地做Gird格子类型的视图。但是在SwiftUI这个框架里面,就没有对应UICollectionView的组件。我们当然可以用UIViewRepresentable来封...

来源:博客园 2020-08-30 392

· Sagit.Framework For IOS 开发框架入门教程15:表单校验事件:req...

前言:对于表单的提交事件中,经常在提交前,会验证一下表单的内容是否为空,格式是否正确。本篇讲述一下框架中关于表单校验事件的相关使用方法。1、方法定义:@interfaceUIView(STUIViewValue)#pragmamark设置数据校验//!【表单设置】用于校验输入的必填、...

来源:博客园 2020-08-27 495

· 2020年6月最新iOS面试题总结(答案篇)

之前发了这篇iOS面试总结(2020年6月),没想到挺受大家欢迎,本来是没打算为它写答案,但有几个人建议我最好出一篇答案,提的人多了我就答应了下来。因为最近比较忙,断断续续总算补完了,就有了这篇文章,希望它对大家还有用处。这些都属于参考答案,如果大家感觉有不对不准确的地方也欢迎指出,我会及时更新。...

来源:博客园 2020-08-26 834

热门文章

> <

每日一笑关闭


	   
	   
	   
评论一下
返回顶部