ios开发

讨论在线教室 iOS 端声音问题综合解决方案

目录 背景介绍 AVAudioSession AVAudioSessionMode AVAudioSessionOptions 通话音量与媒体音量 行业现状 听不见 RTC 声音 媒体声音被抑制 RTC 声音变小 解决方案 听不见 RTC 声音、RTC 声音变小 AudioSessi...

如何使用IOS自动化测试工具UIAutomation

目录 第一部分: 熟悉Instruments的UIAutomation. 第二部分: 控件的获取及操作 第三部分: 自定义自动化脚本 xcode中自带的Instuments工具可以用来进行APP的自动化测试, 以及用于进行内存泄露, 文...

IOS开发之多线程NSThiread GCD NSOperation Runloop

目录 IOS中的进程和线程 NSThread GCD NSOperation Runloop IOS中的进程和线程 通长来说一个app就是一个进程 ios开发中较少的运用进程间的通信(XPC),绝大多数使用线程。 在ios开发中,为了保证...

iOS横屏弹键盘的高度错误异常解决

问题:横屏下第一次弹出键盘高度异常 - (void)handleKeyboardWillShowNotification:(NSNotification *)notification { NSTimeInterval animationDuration = 0; CGRect keyboardFrame = CGRectZero; NSDictionary *userInfo = [notification...

iOS实现圆角箭头视图

在APP中实现类似聊天内容背景图时,需要绘制圆角及箭头。很多人会选择使用图片(这也是最省事的一种方法),但是对于在视图中对内容做约束布局的话,我们无法准确的知道箭头的偏...

关于ios配置微信config出现验签失败的问题解决

在开发中,出现了一个关于微信配置的问题。 使用的开发工具以及开发框架为 uniapp , JSSDK为 jweixin 使用uniapp进行公众号开发,需要在进入某个页面时候进行微信配置来达到更改分享信...

iOS实现摄像头实时采集图像

本文实例为大家分享了iOS实现摄像头实时采集图像的具体代码,供大家参考,具体内容如下 新接到一个实时获取摄像头当前照片的需求,在设定的时间内需要保持摄像头处在开启状态并...

iOS获取设备唯一标识的实现步骤

目录 1. 常用的UUID 2. MAC 地址 2.1 首先导入下面几个库: 2.2 新建一个文件,继承NSObject,在.m文件导入头文件,以及定义一些宏 3.UUID+自己存储 3.1 获取UUID的两个方法 3.2 首先在项目中添加...

IOS利用CocoaHttpServer搭建手机本地服务器

目录 缘起 原理 实现 缘起 今天用暴风影音看视频,然后发现它有个功能,wifi传片,感觉挺有意思,然后就上网查了下相关内容。 原理 使用CocoaHTTPServer框架,在iOS端建立一个本地服务...

iOS 下的图片处理与性能优化详解

目录 图片在计算机世界中怎样被存储和表示? 常见的图片格式 如何判断图片的格式? UIImageView 的性能瓶颈 解决性能瓶颈:强制解码 总结 图片在计算机世界中怎样被存储和表示? 图...

ios的签名机制详解

目录 前言 目的 非对称加密 最简单的签名 新的需求 加点东西 最终流程 概念和操作 其他发布方式 P.S.一些疑问 企业证书 App Store 加密 本地私钥 前言 iOS 签名机制挺复杂,各种证书,...

ios动态库和静态库的区别

目录 一、什么是库? 二、静态库和动态库的好处 使用静态库的好处: 动态库使用有如下好处: 三、iOS里静态库和动态库形式? 四、framework为什么既是静态库又是动态库? 五、a与....

IOS内存泄漏检查方法及重写MLeakFinder

目录 MLeakFinder-原理 1,首先看viewWillAppear 2,在看viewDidAppear 3,我们看什么时候会被标记为YES呢? 4,我们重点看willDealloc 5,现在我们回到:2的代码 [self willDealloc] 6,自己也在尝试重写...

WKWebview非全屏自动播放h5视频的实现方法(Swift、

前言 WKWebview加载一个视频播放的h5页面时,默认是需要用户点击一下才能播放视频,且视频播放时会全屏播放。如果想要h5页面视频非全屏自动播放该怎么做呢? Swift实现 这个时候就需...

IO实现计算器功能

本文实例为大家分享了IO实现计算器功能的具体代码,供大家参考,具体内容如下 代码: //// ViewController.m// Fraction_Calculator//// Created by 鲁军 on 2021/4/26.//#import "ViewController.h"#import "Calcul...

iOS实现逐帧动画做loading视图

本文实例为大家分享了iOS实现逐帧动画做loading视图的具体代码,供大家参考,具体内容如下 我封装了一个可复用的loading视图组件,用于按照一定周期逐帧播放加载动画。代码如下:...

IOS小组件实现时钟按秒刷新功能

引言 上一节中我们了解了IOS小组件的刷新机制,发现根本没法实现按秒刷新,但是看别的App里面有做到,以为用了什么黑科技,原来是因为系统提供了一个额外的机制实现时间的动态更...

详解IOS如何防止抓包

目录 抓包原理 防止抓包 一、发起请求之前判断是否存在代理,存在代理就直接返回,请求失败。 二、我们可以在请求配置中清空代理,让请求不走代理 SSL Pinning(AFN+SSL Pinning)推荐...

浅谈IOS如何对app进行安全加固

目录 防止 tweak 依附 1.限制二进制文件头内的段 2.setuid 和 setgid 检测越狱设备上是否有针对性 tweak 防 http 抓包 混淆(或者加密)硬编码的明文字符串 使用 Swift 开发 使用静态内连 C 函数...

详解IOS WebRTC的实现原理

目录 概述 P2P连接模式 WebRTC的服务器与信令 WebRTC的NAT/防火墙穿越技术 概述 它在2011年5月开放了工程的源代码,在行业内得到了广泛的支持和应用,成为下一代视频通话的标准。 WebRT...

详解如何使用ReactiveObjC

目录 概述 基本使用 1、基本控件 2、监听属性变化 3、遍历数组和字典 4、监听 Notification 通知事件 5、代替Delegate代理 二、RAC常用类 三、高级函数使用 1、连接信号、合并信号等 2、fl...

浅谈IOS屏幕刷新ADisplayLink

目录 什么是CADisplayLink CADisplayLink与NSTimer有什么不同 CADisplayLink使用的例子 注意 什么是CADisplayLink 我们在应用中创建一个新的CADisplayLink对象,把它添加到一个runloop中,并给它提供一个...

分析IOS RunLoop的事件循环机制

在RunLoop启动之后会发送一个通知,来告知观察者 将要处理Timer/Source0事件这样一个通知的发送 处理Source0事件 如果有Source1要处理,这时会通过一个go to语句的实现来进行代码逻辑的跳转...

iOS按比例实现方块图

本文实例为大家分享了iOS按比例实现方块图的具体代码,供大家参考,具体内容如下 原理:二分法递归实现,就是每次“对半分”,分到只剩两个 上代码:SZBlockView @interface SZBlockView...

iOS获取图片区域主色的方法

之前的项目有这样的需求,有一个页面可以检索一块区域内图片的主色。效果图如图所示 下面是如何获取区域主色的实现思路: 首先,我们需要从相册,或者相机去获取图片; 其次,...

iOS tableView右侧索引视图状态获取的方法实例

前言 在iPhone和其他iOS的很多程序中都会看到Table View的出现,除了一般的表格资料展示之外,设置的属性资料往往也用到Table View,Table View主要分为以下两种: Plain:这是普通的列表风格...

iOS实现无感知上拉加载更多功能的思路与方法

目录 什么是无感知上拉加载更多 如何实现无感知上拉加载更多 网上的思路(一) 网上的思路(二) MJRefresh代码的追根朔源 总结 什么是无感知上拉加载更多 什么是无感知,这个这样...

iOS列表上拉(平滑加载数据)自动加载数据的问

项目需求 我的的列表需要改变,原来的分页加载采用的是MJRefresh框架进行加载更多数据,这需要有一个上拉动作才能触发,而我的产品的意思是当快要滑动到底部时自动加载下一页数据...

iOS手动添加新字体的步骤和踩坑记录

目录 前言 字体添加 1、引入字体文件 2、配置 Info.plist 文件 3、解决添加新字体不生效问题 4、代码中设置字体 总结 前言 最近在一个日记软件,发现系统的默认字体过于丑陋,于是有了...

iOS block循环引用详解及常见误区

Block循环引用 什么情况下block会造成循环引用 ARC 情况下 block为了保证代码块内部对象不被提前释放,会对block中的对象进行强引用,就相当于持有了其中的对象,而如果此时block中的对...

Flutter Boost 混合开发框架

目录 一、Flutter Boost简介 二、Flutter Boost集成 2.1 Android集成 2.2 iOS集成 三、Flutter Boost架构 四、FlutterBoost3.0更新 4.1 不入侵引擎 4.2 不区分Androidx和Support分支 4.3 双端设计统一,接口统一...

iOS实现日历行程的增删改查

前言 我们可以使用系统提供的EventKit框架来访问和操作用户的日历日程和提醒(虽然日历和提醒是两个独立的app,但是是用同一个框架来处理数据)。同样地,日历和提醒的数据的数据...

iOS实现贝塞尔曲线动画

本文实例为大家分享了iOS实现贝塞尔曲线动画的具体代码,供大家参考,具体内容如下 效果如图: 仿美人相机,手势滑动隐藏顶部view。为了方便讲解,将屏幕分为几个区域,如图:...

iOS实现从通讯录中选择联系人

有时候APP需要用户输入一位联系人的姓名和电话,除了用户手动输入,一般也允许用户从通讯录中选择一位联系人(图1),下面的代码就是使用系统的 AddressBookUI/AddressBookUI.h库 实现这...

iOS实现联系人列表功能

本文实例为大家分享了iOS实现联系人列表功能的具体代码,供大家参考,具体内容如下 按照顺序排列联系人列表,需要引入一些工具(详见demo): 主要部分代码: #import "LinkMan.h"#import...

IOS之WebSocket框架Starscream案例详解

传统的网络技术 (也就是 Berkeley sockets) 被认为是可靠和稳定的。但是 Berkeley socket 在某些 web 技术,比如代理和防火墙下不太好使。WebSocket 出现于 2011 年,是一种在客户端和服务端之间...

IOS NSTimeInterval使用案例详解

一 ios 获取时间间隔 想在程序开始或者进入某个界面 ,到结束程序或退出某个界面,获取到这个持续时间. 获取到这个时间还需要转化一个取得时分秒. -(NSString *)getCurrentTime{ NSDateForma...

IOS 算法 三数之和求解问题

目录 IOS 算法三数之和求解问题 1、三数求和简单介绍 2、代码 IOS 算法三数之和求解问题 1、三数求和简单介绍 对于一个整数的数组, 是否存在a, b, c 使得 a + b + c = 0, 返回a b c 数组,相同...

iOS masonry的使用方法

目录 iOS masonry的基本使用 一、CocoaPods的安装 二、Masonry的基本使用 1、三个约束和基础API iOS masonry的基本使用 前言: 在写OC的UI时,当在不同的机型上运行时,如果只用frame则会导致视图...

iOS文本的多语言适配以及实践指南

目录 背景 字体包的多语言适配和实践 需求分析 技术设计 文本信息的多语言适配和实践 需求分析 技术设计 技术开发 拓展 总结 背景 产品被多个国家使用,产品方希望产品拥有更好的...

iOS实现应用悬浮窗效果

本文实例为大家分享了iOS实现应用悬浮窗效果的具体代码,供大家参考,具体内容如下 需求 在一个app应用的最顶部添加一个悬浮窗,就像ios系统AssistiveTouch 可以左右滑动,但是最终会...

iOS15适配小结

目录 1、tabbar及navicationbar的背景颜色问题 原因:因为设置颜色方法在ios15中失效 解决方法--重新设置相关属性 2、tableview新属性-sectionHeaderTopPadding 使用 1、tabbar及navicationbar的背景颜色问...

iOS开发实现计算器功能

本文实例为大家分享了iOS实现计算器功能的具体代码,供大家参考,具体内容如下 效果图 Masonry 使用数组来自动约束 NSArray *buttonArrayOne = @[_buttonAC, _buttonLeftBracket, _buttonRightBracket, _butt...

iOS自定义雷达扫描扩散动画

本文实例为大家分享了iOS实现雷达扫描扩散动画的具体代码,供大家参考,具体内容如下 自己自定义了 一个雷达扫描/扩散效果的View。 扫描View 效果如下: 扩散View 效果如下: 自定义...

iOS实现雷达扫描效果

本文实例为大家分享了iOS实现雷达扫描的具体代码,供大家参考,具体内容如下 #import UIKit/UIKit.h @interface LTIndicatiorView : UIView@property(nonatomic,strong)UIColor *color;@property(nonatomic,assign)float r...

iOS Swift逻辑运算符示例总结

目录 运算符分类 赋值运算符 算数运算符 组合运算符 比较运算符 三目运算符 合并空值运算符 区间运算符 逻辑运算符 总结 运算符分类 从操作数角度看:运算符包括一元、二元、三元...

如何在iOS中高效的加载图片详解

目录 前言 图片的渲染流程 DataBuffer SD源码分析 ImageBuffer 占用内存大小 Xcode测试 如何减少图像占用内存 向下采样 SD源码分析解码过程 选择正确的图片渲染格式 渲染格式 如何正确的选择...

Xcode中代码注释编写的一些小技巧

目录 前言 Objective-C的代码注释 Swift的代码注释 Objective-C和Swift的注释风格现在已经统一 快速修改注释 参考文档 总结 前言 码农总是在搬砖,日复一日,年复一年,有的时候都会麻木。...

iOS中读写锁的简单实现方法实例

目录 废话开篇 思考一、对于锁的类型的理解 思考二、读写锁的实现逻辑 思考三、简单封装读写锁,满足读写逻辑 总结 废话开篇 iOS 下的多线程的技术的应用衍生出了锁的机制,试想...

iOS开发数独小游戏实例

本文实例为大家分享了iOS实现数独小游戏的具体代码,供大家参考,具体内容如下 一、界面设计 如下图。图1是用户打开程序后的主页面,点击“开始游戏”后进入游戏页面(图2,图3)...