注册
环信即时通讯云

环信即时通讯云

单聊、群聊、聊天室...
环信开发文档

环信开发文档

环信FAQ

环信FAQ

集成常见问题及答案
RTE开发者社区

RTE开发者社区

汇聚音视频领域技术干货,分享行业资讯
技术讨论区

技术讨论区

技术交流、答疑
资源下载

资源下载

收集了海量宝藏开发资源
iOS Library

iOS Library

不需要辛辛苦苦的去找轮子, 这里都有
Android Library

Android Library

不需要辛辛苦苦的去找轮子, 这里都有
2
评论

iOS逆向(8)-Monkey、Logos 逆向 iOS开发

费城 发表了文章 • 1128 次浏览 • 2021-06-02 22:56 • 来自相关话题

由于最近微信大佬发飙,罚了红包外挂5000万大洋,这就让人很慌了,别说罚我5000万,5000块我都吃不消。所以笔者决定以后不用微信做例子了。换成优酷了😈。本文会对优酷的设置页面增加一个开启/关闭屏蔽广告的Cell(仅UI)。效果可见下文配图。在之前的几篇文章... ...查看全部
2
评论

iOS开发你不知道的事-编译&链接 编译链接 iOS开发

费城 发表了文章 • 960 次浏览 • 2021-06-01 22:32 • 来自相关话题

对于平常的应用程序开发,我们很少需要关注编译和链接过程。我们平常Xcode开发就是集成的的开发环境(IDE),这样的IDE一般都将编译和链接的过程一步完成,通常将这种编译和链接合并在一起的过程称为构建,即使使用命令行来编译一个源代码文件,简单的一句gcc he... ...查看全部
0
评论

测试 View Controllers viewcontroller iOS开发

费城 发表了文章 • 768 次浏览 • 2021-06-01 14:02 • 来自相关话题

我们不是迷信测试,但它应该帮助我们加快开发进度,并且让事情变得更有趣。让事情保持简单测试简单的事情很简单,同样,测试复杂的事会很复杂。就像我们在其他文章中指出的那样,让事情保持简单小巧总是好的。除此之外,它还有利于我们测试。这是件双赢的事。让我们来看看测试驱动... ...查看全部
0
评论

iOS标准库中常用数据结构和算法之cache cache iOS开发

费城 发表了文章 • 812 次浏览 • 2021-05-31 14:48 • 来自相关话题

📝缓存Cache缓存是以键值对的形式进行数据的存储和检索,内部采用哈希表实现。当系统出现内存压力时则会释放掉部分缓存的键值对。 iOS系统提供了一套基于OC语言的高级缓存库NSCache,同时也提供一套基于C语言实现的缓存库libcache.dylib,其中N... ...查看全部
0
评论

iOS标准库中常用数据结构和算法之内存池 内存池 iOS开发

费城 发表了文章 • 995 次浏览 • 2021-05-31 14:36 • 来自相关话题

⛲️内存池内存池提供了内存的复用和持久的存储功能。设想一个场景,当你分配了一块大内存并且填写了内容,但是你又不是经常去访问这块内存。这样的内存利用率将不高,而且无法复用。而如果是采用内存池则可以很轻松解决这个问题:你只需要从内存池中申请这块内存,设置完内容后当... ...查看全部
0
评论

iOS WKWebView实现JS与Objective-C交互(一) 附Demo JS交互 iOS开发

费城 发表了文章 • 997 次浏览 • 2021-05-30 20:08 • 来自相关话题

前言: 根据需求有时候需要用到JS与Objective-C交互来实现一些功能, 本文介绍实现交互的一种方式, 使用WKWebView的新特性MessageHandler, 来实现JS调用原生, 原生调用JS.一. 基础说明WKWebView 初始化时,有一个参... ...查看全部
0
评论

整洁的 Table View 代码 tableview iOS开发

费城 发表了文章 • 694 次浏览 • 2021-05-30 19:56 • 来自相关话题

Table view 是 iOS 应用程序中非常通用的组件。许多代码和 table view 都有直接或间接的关系,随便举几个例子,比如提供数据、更新 table view,控制它的行为以及响应选择事件。在这篇文章中,我们将会展示保持 table view 相... ...查看全部
0
评论

Core Image 和视频 iOS开发

费城 发表了文章 • 764 次浏览 • 2021-05-29 10:56 • 来自相关话题

在这篇文章中,我们将研究如何将 Core Image 应用到实时视频上去。我们会看两个例子:首先,我们把这个效果加到相机拍摄的影片上去。之后,我们会将这个影响作用于拍摄好的视频文件。它也可以做到离线渲染,它会把渲染结果返回给视频,而不是直接显示在屏幕上。两个例... ...查看全部
0
评论

GCD你会用吗?GCD扫盲之dispatch_semaphore GCD iOS开发

费城 发表了文章 • 819 次浏览 • 2021-05-28 15:13 • 来自相关话题

本文是GCD多线程编程中dispatch_semaphore内容的小结,通过本文,你可以了解到:1、信号量的基本概念与基本使用2、信号量在线程同步与资源加锁方面的应用3、信号量释放时的小陷阱今天我来讲解一下dispatch_semaphore在我们平常开发中的... ...查看全部
0
评论

探究iOS鲜为人知的小秘密一一__attribute__运用 __attribute__ iOS开发

费城 发表了文章 • 1053 次浏览 • 2021-05-28 14:55 • 来自相关话题

Clang Attributes是Clang提供的一种源码注解,方便开发者向编译器表达某种要求,参与控制如Static Analyzer、Name Mangling、Code Generation等过程,一般以attribute(xxx)的形式出现在代码中;为... ...查看全部
2
评论

iOS-拍照后裁剪,不可拖动照片的问题 相片处理 iOS开发

费城 发表了文章 • 1383 次浏览 • 2021-05-27 10:05 • 来自相关话题

问题在项目中,选择照片或拍照的功能很长见,由于我之前采用系统自带的UIimagePickViewController遇到一点问题:1、使用拍照功能,进行截取时(allowEditing = YES)时,拍照完成的图片无法拖动,没有办法进行选择性的截取图片2、如... ...查看全部
0
评论

【环信大学】深入浅出Runtime(2) Runtime

admin 发表了文章 • 963 次浏览 • 2021-05-26 18:34 • 来自相关话题

逻辑图终端代码及源码clang 命令行及源码.zip
0
评论

iOS 详解socket编程[oc]粘包、半包处理 iOS开发

zuyu 发表了文章 • 1047 次浏览 • 2021-05-25 22:31 • 来自相关话题

在做socket编程时,如果是做tcp连接,那就不可避免的会遇到粘包与半包的问题。粘包 就是多组数据被一并接收了,粘在了一起,无法做划分;半包 就是有数据接收不完整,无法处理。要解决粘包、半包的问题,一般在设计数据(消息)格式时会约定好一个字段专门用于描述数据... ...查看全部
0
评论

Socket简析与iOS实现 iOS开发

zuyu 发表了文章 • 799 次浏览 • 2021-05-25 22:26 • 来自相关话题

Socket的基本概念1.定义网络上两个程序通过一个双向通信连接实现数据交互,这种双向通信的连接叫做Socket(套接字)。2.本质网络模型中应用层与TCP/IP协议族通信的中间软件抽象层,是它的一组编程接口(API),也即对TCP/IP的封装。TCP/IP也... ...查看全部
0
评论

iOS 接入WebSocket iOS开发

zuyu 发表了文章 • 1268 次浏览 • 2021-05-25 22:20 • 来自相关话题

WebSocket是什么WebSocket协议是 基于TCP 的一种网络协议。它实现了浏览器与服务器全双工(full-duplex)通信——允许服务器主动发送信息给客户端。WebSocket基本原理帧协议:0 ... ...查看全部
0
评论

任意组合判断还在用Switch?位运算符了解一下~ iOS开发技巧 iOS开发

费城 发表了文章 • 875 次浏览 • 2021-05-25 16:01 • 来自相关话题

情景再现很多时候,当我们写程序都会有这样的情况,就是代码多选操作.例如下面的操作.比如有四个视图View(分别为A,B,C,D);当点击按钮a的时候,视图A,B背景色发生改变;当点击按钮b的时候,视图A,B,D背景色发生改变;当点击按钮c的时候,视图B,C,D... ...查看全部
0
评论

作为iOSer,你还不会适配暗黑模式吗 ---- 如何适配暗黑模式(Dark Mode) 暗黑模式适配 iOS开发

费城 发表了文章 • 1064 次浏览 • 2021-05-25 14:35 • 来自相关话题

原理1、将同一个资源,创建出两种模式的样式。系统根据当前选择的样式,自动获取该样式的资源2、每次系统更新样式时,应用会调用当前所有存在的元素调用对应的一些重新方法,进行重绘视图,可以在对应的方法做相应的改动资源文件适配1、创建一个Assets文件(或在现有的A... ...查看全部
0
评论

SwiftUI-如何创建一个工程 SwiftUI swift开发

费城 发表了文章 • 971 次浏览 • 2021-05-24 21:36 • 来自相关话题

2019年度WWDC全球开发者大会,更新旗下用于手机、电脑、智能手表和电视机顶盒的软件操作系统。此外还发布了计算机编程语言框架SwiftUI。SwiftUI是基于开发语言Swift建立的框架——SwiftUI。全新的SwiftUI可以用于watchOS、tvO... ...查看全部
2
评论

SwiftUI 入门指引教程 SwiftUI swift开发

费城 发表了文章 • 949 次浏览 • 2021-05-23 18:43 • 来自相关话题

这是 WWDC2019 发布的 SwiftUI 布局框架的一些官方示例。首先为了保证项目的正常运行,需要升级 Mac OS 至 10.15 beta 版,以及 Xcode 使用 Xcode 11 beta。1.创建项目运行首先创建一个新的项目,模板可以使用第一... ...查看全部
0
评论

SwiftUI官方教程解读 SwiftUI iOS开发

费城 发表了文章 • 1099 次浏览 • 2021-05-21 17:12 • 来自相关话题

SwiftUI简介SwiftUI是wwdc2019发布的一个新的UI框架,通过声明和修改视图来布局UI和创建流畅的动画效果。并且我们可以通过状态变量来进行数据绑定实现一次性布局;Xcode 11 内建了直观的新设计工具canvus,在整个开发过程中,预览可视化... ...查看全部
0
评论

Swift 5—表达通过字符串插值 字符串插值 iOS开发

费城 发表了文章 • 889 次浏览 • 2021-05-21 16:26 • 来自相关话题

Swift的设计 - 首先是 - 是一种安全的语言。检查数字和集合是否有溢出,变量总是在第一次使用之前初始化,选项确保正确处理非值,并且相应地命名任何可能不安全的操作。这些语言功能在很大程度上消除了一些最常见的编程错误,但我们不得不让我们guard失望。今天,... ...查看全部
0
评论

Swift—文本输出流 swift文本输出 iOS开发

费城 发表了文章 • 893 次浏览 • 2021-05-21 16:17 • 来自相关话题

print是Swift标准库中最常用的函数之一。实际上,这是程序员在编写“Hello,world!”时学习的第一个函数。令人惊讶的是,我们很少有人熟悉其他形式。例如,您是否知道实际的签名print是 print(_:separator:terminator:)... ...查看全部
0
评论

知乎 iOS 客户端工程化工具 Venom iOS开发工具 iOS开发

费城 发表了文章 • 1102 次浏览 • 2021-05-19 17:02 • 来自相关话题

前言知乎 iOS 客户端从一开始围绕问答社区到目前涵盖 Feed,会员,商业,文章,想法等多个业务线的综合内容生产与消费平台。项目的复杂程度已经在超级 App 的范畴。单周发布与业务并行开发也逐渐变成主流。同时在知乎 iOS 平台,技术选型一直也都比较开(su... ...查看全部
0
评论

Runtime底层原理--动态方法解析总结 Runtime iOS开发

费城 发表了文章 • 770 次浏览 • 2021-05-17 16:17 • 来自相关话题

方法的底层会编译成消息,消息进行递归,先从实例方法开始查找,到父类最后到NSObject。如果在汇编部分快速查找没有找到IMP,就会进入C/C++中的动态方法解析进入lookUpImpOrForward方法进行递归。动态方法解析动态方法解析分为实例方法和类方法... ...查看全部
0
评论

iOS Files文件应用程序开发 iOS开发

费城 发表了文章 • 943 次浏览 • 2021-05-17 14:56 • 来自相关话题

前言:最近在做一个项目,需要用到文件选取、上传、下载功能,首先想到的就是iOS11自带的“文件”应用。“文件”算是一个中转站,是iOS系统的文件管理器,可以为各个项目提供私有的文件夹,进行文件管理。iOS11已经提供了相当完善的接口,本文基于此开发过程的总结,... ...查看全部
0
评论

iOS timer定时器正确使用方式 iOS开发

费城 发表了文章 • 876 次浏览 • 2021-05-15 21:05 • 来自相关话题

1. 初始化,添加定时器前先移除[self.timer invalidate];self.timer = nil;self.timer = [NSTimer scheduledTimerWithTimeInterval:2.f target:self sele... ...查看全部
0
评论

“小家碧玉”中的UIStackView iOS开发技巧

费城 发表了文章 • 1111 次浏览 • 2021-05-15 20:58 • 来自相关话题

KeyWordsAutoLayout UIStackView背景随着需求的迭代,项目中在列表的同一个区域新增业务标签貌似成了每个产品经理的“特殊嗜好”。如下图中的区域(其实本人的项目中在箭头区域大概有7个类似的标签,当然在业务上不会同时出现,能同时出现的时候最... ...查看全部
0
评论

Swift5.0的Runtime机制浅析 swift开发

费城 发表了文章 • 862 次浏览 • 2021-05-15 20:36 • 来自相关话题

导读:你想知道Swift内部对象是如何创建的吗?方法以及函数调用又是如何实现的吗?成员变量的访问以及对象内存布局又是怎样的吗?这些问题都会在这篇文章中得到解答。为了更好的让大家理解这些内部实现,我会将源代码翻译为用C语言表示的伪代码来实现。Objective-... ...查看全部
0
评论

iOS的异步处理神器——Promises iOS开发技巧

费城 发表了文章 • 1141 次浏览 • 2021-05-15 20:20 • 来自相关话题

前言你是否因为多任务的依赖而头疼?你是否被一个个嵌套的block回调弄得晕头转向?快来投入Promises的怀抱吧。正文回调任务是很正常的现象,比如说购买一个商品,需要下单,然后等后台返回。单一任务,通常只需要一个block,非常清晰;以上面的下单为例,传给网... ...查看全部
0
评论

在Swift中自定义Codable类型 swift开发

费城 发表了文章 • 1456 次浏览 • 2021-05-15 20:02 • 来自相关话题

大多数现代应用程序的共同点是,它们需要对各种形式的数据进行编码或解码。无论是通过网络下载的JSON数据,还是本地存储的模型的某种形式的序列化表示 - 能够可靠地编码和解码不同的数据对于或多或少的任何Swift代码库都是必不可少的。这是Swift的Codable... ...查看全部
0
评论

CocoaPod知识整理 cocoapods iOS开发技巧

费城 发表了文章 • 1278 次浏览 • 2021-05-14 20:03 • 来自相关话题

前言Pod库是很重要的组成部分,大部分第三方库都是通过CocoaPod的方式引入和管理,同时项目中的部分功能也可以用Pod库来做模块化。本文是对CocoaPod的一些探究。XS项目中的Pod库是很重要的组成部分,目前阅读器模块正在进行SDK化,需要用Pod库来... ...查看全部
0
评论

可变共享结构(第二部分) iOS开发

费城 发表了文章 • 871 次浏览 • 2021-05-14 19:45 • 来自相关话题

我们改进了新数据类型的观察能力。在上一章中,我们构建了一个名为的struct / class混合类型 Var。今天我们将继续实验。Var类包含一个结构,我们可以利用关键路径寻找到的结构。如果我们有一个people内部的阵列Var,我们希望采取先Person出数... ...查看全部
0
评论

被忽视了的NSDataDetector iOS开发

九漏鱼 发表了文章 • 821 次浏览 • 2021-05-14 19:18 • 来自相关话题

keywordsNSDataDetector NSRegularExpression NSTextCheckingResult在日常开发场景中经常会遇到,在一段文本中检测一些半结构化的信息,比如:日期、地址段、链接、电话号码、交通信息、航班号、奇怪的格式化了的... ...查看全部
0
评论

iOS完整文件拉流解析解码同步渲染音视频流 iOS开发

九漏鱼 发表了文章 • 1247 次浏览 • 2021-05-14 19:08 • 来自相关话题

需求解析文件中的音视频流以解码同步并将视频渲染到屏幕上,音频通过扬声器输出.对于仅仅需要单纯播放一个视频文件可直接使用AVFoundation中上层播放器,这里是用最底层的方式实现,可获取原始音视频帧数据.实现原理本文主要分为三大块,解析模块使用FFmpeg ... ...查看全部
0
评论

SDWebImage加载多张高分辨图片crash iOS开发

九漏鱼 发表了文章 • 1143 次浏览 • 2021-05-14 17:27 • 来自相关话题

项目中有一个控制器里的图片服务器那边没有进行压缩 所以使用SDWebImage显示在collectionView/tableView的时候有时会crash(及时没有反复进几次就会crash了)。网上查了很多资料,大致总结有一下几种方法:1、每次加载高清图片时清... ...查看全部
1
回复

EaseIMKit更新用户信息无效 iOS开发

shiry 回复了问题 • 2 人关注 • 984 次浏览 • 2021-05-14 17:24 • 来自相关话题

2
评论

优雅的处理 iOS 中复杂的 Table Views iOS开发

费城 发表了文章 • 800 次浏览 • 2021-05-12 13:22 • 来自相关话题

Table views 是 iOS 开发中最重要的布局组件之一。通常我们的一些最重要的页面都是 table views:feed 流,设置页,条目列表等。每个开发复杂的 table view 的 iOS 开发者都知道这样的 table view 会使代码很快就... ...查看全部
0
评论

数据时代之非侵入式埋点方案 iOS埋点 iOS开发

费城 发表了文章 • 898 次浏览 • 2021-05-10 19:25 • 来自相关话题

在发展日新月异的移动互联网时代,数据扮演着极其重要的角色。埋点作为一种最简单最直接的用户行为统计方式,能够全面精确的采集用户的使用习惯以及各功能点的迭代反馈等等,有了这些数据才能更好的驱动产品的决策设计和新业务场景的规划。本文旨在提出一种轻量级非侵入式的埋点方... ...查看全部
0
评论

探究产生离屏渲染的秘密 iOS热门技术

费城 发表了文章 • 932 次浏览 • 2021-05-10 17:28 • 来自相关话题

一.渲染机制CPU将计算好的需要显示的内容提交给GPU,GPU渲染完成后将渲染结果放入帧缓冲区,随后视频控制器会按照Vsync(垂直脉冲)信号逐行读取帧缓冲区的数据,经过可能的数模转换传递给显示器进行显示。二.GPU屏幕渲染两种方式1.On-Screen Re... ...查看全部
0
评论

iOS — Swift高级分享:SWIFT协议的替代方案 iOS开发

费城 发表了文章 • 966 次浏览 • 2021-05-10 13:30 • 来自相关话题

毫无疑问,协议是SWIFT总体设计的主要部分-并且可以提供一种很好的方法来创建抽象、分离关注点和提高系统或功能的整体灵活性。通过不强烈地将类型绑定在一起,而是通过更抽象的接口连接代码库的各个部分,我们通常会得到一个更加解耦的体系结构,它允许我们孤立地迭代每个单... ...查看全部
2
评论

iOS OC开发 BTC、ETH、区块链钱包 iOS开发

费城 发表了文章 • 1607 次浏览 • 2021-05-10 13:19 • 来自相关话题

ETH钱包部分:功能有:1、创建钱包2、通过助记词导入钱包3、通过KeyStore导入钱包4、通过私钥导入钱包5、查询余额6、查询以太坊系代币余额7、转账BTC钱包部分:功能:1、创建钱包2、通过私钥导入钱包3、通过助记词导入钱包4、查询余额5、查询交易记录6... ...查看全部
0
评论

ARC对init方法的处理 iOS开发

费城 发表了文章 • 1064 次浏览 • 2021-05-10 13:15 • 来自相关话题

前言此文源于前几日工作中遇到的一个问题,并跟同事就init方法进行了相关讨论。相关代码如下:Person *myPerson = [Person alloc];NSMethodSignature *signature = [NSMethodSignature ... ...查看全部
0
评论

iOS 开发:『Crash 防护系统』(二)KVO 防护 iOS开发

费城 发表了文章 • 1172 次浏览 • 2021-05-08 13:16 • 来自相关话题

1. KVO Crash 的常见原因KVO(Key Value Observing) 翻译过来就是键值对观察,是 iOS 观察者模式的一种实现。KVO 允许一个对象监听另一个对象特定属性的改变,并在改变时接收到事件。但是 KVO API 的设计,我个人觉得不是... ...查看全部
0
评论

Swift高级分享 - 在Swift中构建模型数据 iOS开发

费城 发表了文章 • 878 次浏览 • 2021-05-08 13:05 • 来自相关话题

在代码库中建立可靠的结构通常是必不可少的,以便更容易使用。然而,实现一个既足够严格以防止错误和问题的结构 - 以及对现有功能足够灵活的结构以及我们想要的任何未来变化 - 都可能非常棘手。对于模型代码而言尤其如此,模型代码通常由许多不同的功能使用,每个功能都有自... ...查看全部
0
评论

iOS开发性能监控 iOS开发

费城 发表了文章 • 1106 次浏览 • 2021-05-08 12:07 • 来自相关话题

App 的性能问题虽然不会导致 App不可用,但依然会影响到用户体验。如果这个性能问题不断累积,达到临界点以后,问题就会爆发出来。这时,影响到的就不仅仅是用户了,还有负责App开发的你。线下性能监控其中线下监控使用的还是Instruments,Instrume... ...查看全部
0
评论

iOS-编译过程 iOS开发

zuyu 发表了文章 • 998 次浏览 • 2021-05-07 22:02 • 来自相关话题

编译器iOS编译和打包时,编译器直接将代码编译成机器码,然后直接在CPU上运行。而不用使用解释器运行代码。因为这样执行效率更高,运行速度更快。C,C++,OC都是使用的编译器生成相关的可执行文件。解释器:解释器会在运行时解释执行代码,获取一段代码后就会将其翻译... ...查看全部
0
评论

iOS- 核心动画分类以及基本使用 iOS开发

编程扫地僧 发表了文章 • 1003 次浏览 • 2021-05-07 21:22 • 来自相关话题

1、UIView和核心动画区别?核心动画只能添加到CALayer, 核心动画一切都是假象,并不会改变真实的值。如果需要与用户交互就使用UIView的动画. 不需要与用户交互可以使用核心动画。在转场动画中,核心动画的类型比较多。根据⼀个路径做动画,只能用核心动画... ...查看全部
0
评论

iOS--开发中遇到的der,csr,crt,p12,pem文件到底是什么 iOS开发

费城 发表了文章 • 1323 次浏览 • 2021-05-07 19:22 • 来自相关话题

关于pem文件的话,上一篇文章已经有提到:iOS---利用OpenSSL演示RSA加密解密,PEM在工作中,pem文件,我们是不会直接使用的,需要从pem文件里面提取csr文件。csr文件步骤1:从private.pem文件里,提取rsacert.csr文件,... ...查看全部
0
评论

Swift高级分享 - 在Swift中提取视图控制器操作 iOS开发

费城 发表了文章 • 986 次浏览 • 2021-05-07 19:04 • 来自相关话题

视图控制器往往在为Apple平台构建的大多数应用程序中起着非常重要的作用。他们管理我们UI的关键方面,提供系统功能的桥梁,如设备方向和状态栏外观,并经常响应用户交互 - 如按钮点击和文本输入。由于它们通常具有这样的关键作用,因此许多视图控制器最终遭受常见的大规... ...查看全部
1
回复

请教IOS IM SDK3.7.4版 发送消息的方法封装在哪里? 环信_iOS

yangjian 回复了问题 • 2 人关注 • 1178 次浏览 • 2021-05-07 15:43 • 来自相关话题