环信即时通讯云

环信即时通讯云

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

环信开发文档

环信客服云

环信客服云

无需下载,注册即用
声网开发者社区

声网开发者社区

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

技术讨论区

技术交流、答疑
资源下载

资源下载

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

iOS Library

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

Android Library

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

在Swift中使用泛型 swift开发

费城 发表了文章 • 91 次浏览 • 2021-04-27 22:53 • 来自相关话题

Swift 5.0 都发布这么久了,而泛型作为该语言的重要特性,还是非常有必要了解一下的。在 Swift 泛型的运用几乎随处可见,在系统层面,Swift 标准库是通过泛型代码构建出来的,Swift 的数组和字典类型都是泛型集。在主流的轮子里,也是有大量的泛型使... ...查看全部
4
评论

关于 iOS 中各种锁的整理 iOS开发技巧

费城 发表了文章 • 139 次浏览 • 2021-04-27 22:41 • 来自相关话题

名词解释原子:同一时间只允许一个线程访问临界区:指的是一块对公共资源进行访问的代码,并非一种机制或是算法。自旋锁:是用于多线程同步的一种锁,线程反复检查锁变量是否可用。由于线程在这一过程中保持执行,因此是一种忙等待。一旦获取了自旋锁,线程会一直保持该锁,直至显... ...查看全部
0
评论

常用开发加密方法 iOS开发

费城 发表了文章 • 92 次浏览 • 2021-04-27 22:33 • 来自相关话题

前言相信大家在开发中都遇到过,有些隐秘信息需要做加密传输的场景.A:你就把 XXX 做一下base64加密传过来就行这些问题相信大家都遇到过,那么在实际开发中我们应该如何选择加密方法呢?加密这里我就直接抛出来几个加密规则AES 对称加密,双方只有同一个秘钥ke... ...查看全部
0
评论

iOS 13:更多系统APP和组件采用Swift编写 iOS调研

费城 发表了文章 • 106 次浏览 • 2021-04-27 22:27 • 来自相关话题

苹果在 2014 年 WWDC 发布了全新 Swift 编程语言,Swift 是苹果平台未来的编程语言。自那以后,很多第三方开发者开始使用 Swift 编写程序,不过苹果 iOS 和 macOS 系统,以及各种系统应用还是采用 Objective-C 编写。这... ...查看全部
0
评论

CoreSimulator与Xcode两个文件夹造成Mac中多了100G的“其他”空间 Mac空间整理

费城 发表了文章 • 94 次浏览 • 2021-04-27 22:24 • 来自相关话题

tips 没有购买cleanMyMac的同学,不要担心,我既然写了文章,肯定是不为了让同学们花钱购买软件的。CoreSimulator与Xcode两个文件夹造成Mac中多了100G的“其他”空间;请原谅我表述的不太明白,还是上图吧:1.清理之前mac电脑只剩下... ...查看全部
0
评论

iOS websocket接入 iOS开发

费城 发表了文章 • 97 次浏览 • 2021-04-27 22:06 • 来自相关话题

接触WebSocket最近公司的项目中有一个功能 需要服务器主动推数据到APP。考虑到普通的HTTP 通信方式只能由客户端主动拉取,服务器不能主动推给客户端 。然后就想出的2种解决方案。1.和后台沟通了一下 他们那里使用的是WebSocket ,所以就使用We... ...查看全部
0
评论

iOS 用symbolicatecrash符号化崩溃日志中系统库方法堆栈 iOS开发技巧

费城 发表了文章 • 86 次浏览 • 2021-04-27 18:56 • 来自相关话题

说明现在已经有很多第三方平台支持解析crash日志中的系统方法了,比如bugly。但是万一遇到情况特殊或者公司要求,还是走上传崩溃日志到自己的服务器,然后自己去定期解析的话,就需要用到symbolicatecrash这个工具了。指令操作均在终端中进行。另外,每... ...查看全部
0
评论

关于WKWebView的post请求丢失body问题的解决方案 iOS开发技巧

费城 发表了文章 • 117 次浏览 • 2021-04-27 18:37 • 来自相关话题

WKWebView的优点这里不做过多介绍,主要说一下最近解决WKWebView的post请求丢失body问题的解决方案。WKWebView 通过loadrequest方法加载Post请求会丢失请求体(body)中的内容,进而导致服务器拿不到body中的内容的问... ...查看全部
0
评论

iOS - 同一个workspace下创建多个项目编程 iOS开发

编程扫地僧 发表了文章 • 79 次浏览 • 2021-04-27 17:03 • 来自相关话题

在iOS开发中,相关联的多个项目可能会放在同一个workspace下进行开发,那习惯了一个项目在一个工作空间下的同学该怎么快速开撸呢?只需要三步而已!第一步,先用Xcode在目标目录下创建一个workspace文件。见图说话。第二步,用Xcode打开works... ...查看全部
0
评论

iOS- 安装CocoaPods详细过程 iOS开发

编程扫地僧 发表了文章 • 70 次浏览 • 2021-04-27 16:35 • 来自相关话题

一、简介什么是CocoaPodsCocoaPods是OS X和iOS下的一个第三类库管理工具,通过CocoaPods工具我们可以为项目添加被称为“Pods”的依赖库(这些类库必须是CocoaPods本身所支持的),并且可以轻松管理其版本。CocoaPods的好... ...查看全部
0
评论

iOS- 集成Bugly详解 iOS开发

编程扫地僧 发表了文章 • 123 次浏览 • 2021-04-27 14:31 • 来自相关话题

SDK 集成Bugly提供两种集成方式供iOS开发者选择:通过CocoaPods集成手动集成如果您是从Bugly 2.0以下版本升级过来的,请查看iOS SDK 升级指南Bugly iOS SDK 最低兼容系统版本 iOS 7.0通过CocoaPod... ...查看全部
0
评论

iOS- 研发助手DoraemonKit技术实现(二) iOS开发

编程扫地僧 发表了文章 • 111 次浏览 • 2021-04-27 14:18 • 来自相关话题

一、前言性能问题极大程度的会影响到用户的体验,对于我们开发者和测试同学要随时随地保证我们app的质量,避免不好的体验带来用户的流失。本篇文章我们来讲一下,性能监控的几款工具的技术实现。主要包括,帧率监控、CPU监控、内存监控、流量监控、卡顿监控和自定义监控这几... ...查看全部
0
评论

iOS- 研发助手DoraemonKit技术实现(一) iOS开发

编程扫地僧 发表了文章 • 113 次浏览 • 2021-04-27 14:11 • 来自相关话题

一、前言一个比较成熟的App,经历了多个版本的迭代之后,为了方便调式和测试,往往会积累一些工具来应付这些场景。最近我们组就开源了一款适用于iOS App线下开发、测试、验收阶段,内置在App中的工具集合。使用DoraemonKit,你无需连接电脑,就可以对于A... ...查看全部
0
评论

iOS使用RunLoop监控线上卡顿 iOS开发技巧

费城 发表了文章 • 83 次浏览 • 2021-04-27 13:35 • 来自相关话题

通过iOS性能优化 我们知道,简单来说App卡顿,就是FPS达不到60帧率,丢帧现象,就会卡顿。但是很多时候,我们只知道丢帧了。具体为什么丢帧,却不是很清楚,那么我们要怎么监控呢,首先我们要明白,要找出卡顿,就是要找出主线程做了什么,而线程消息,是依赖RunL... ...查看全部
0
评论

iOS序列化的进阶方案——Protocol Buffer iOS开发技巧

费城 发表了文章 • 103 次浏览 • 2021-04-27 13:22 • 来自相关话题

前言最近项目需要,引入Protocol Buffer来做对象序列化。正文Protocol Buffer是Google出的序列化数据格式,下面简称pb。我们更常用的序列化数据格式应该是json,json和pb本质上都是对象的序列化和反序列化,在项目中json也是... ...查看全部
0
评论

探讨SWIFT 5.2的新功能特性 iOS API调用

费城 发表了文章 • 74 次浏览 • 2021-04-27 13:13 • 来自相关话题

从表面上看,SWIFT 5.2在新的语言特性方面肯定是一个小版本,因为这个新版本的大部分重点是提高SWIFT底层基础结构的速度和稳定性,例如如何报告编译器错误,以及如何解决构建级依赖。然而,斯威夫特5.2总数新的语言特性可能相对较小,它确实包括两个新功能,它们... ...查看全部
0
评论

iOS- WMZDropDownMenu:App各种类型筛选菜单 iOS开发

编程扫地僧 发表了文章 • 87 次浏览 • 2021-04-27 11:42 • 来自相关话题

软件介绍一个能几乎实现所有 App 各种类型筛选菜单的控件,可悬浮。目前已实现 闲鱼 / 美团 / Boss直聘 / 京东 / 饿了么 / 淘宝 / 拼多多 / 赶集网 / 美图外卖 等等的筛选菜单,可以自由调用代理实现自己想组装的筛选功能和 UI,且控件的生... ...查看全部
0
评论

IOS-图片浏览之YBImageBrowser的简单使用 iOS开发

编程扫地僧 发表了文章 • 88 次浏览 • 2021-04-27 11:23 • 来自相关话题

1.安装第一种方式 使用 cocoapodspod 'YBImageBrowser'    注意:请尽量使用最新版本(1.1.2);若搜索不到库,可使用rm ~/Library/Caches/CocoaPods/sear... ...查看全部
0
评论

iOS- 多页面嵌套(JXPagerView、JXCategoryView) iOS开发

编程扫地僧 发表了文章 • 80 次浏览 • 2021-04-27 11:10 • 来自相关话题

目录 1. 示例 2. 详细说明Podfile中导入 pod 'JXPagingView/Pager' pod 'JXCategoryView'1. 示例VC// 头部View高#define JXTableHeaderViewHeight (kIs_... ...查看全部
0
评论

iOS-TZImagePickerController获取图片视频 iOS开发

编程扫地僧 发表了文章 • 104 次浏览 • 2021-04-27 10:54 • 来自相关话题

TZImagePickerControllerDemo项目介绍TZImagePickerControllerDemoPodfile新增行 pod 'TZImagePickerController'使用之前导入头文件 #import <... ...查看全部
0
评论

iOS-MBprogressHUD的使用 iOS开发

编程扫地僧 发表了文章 • 70 次浏览 • 2021-04-27 09:47 • 来自相关话题

看开发文档中,涉及到六种基础的提示框typedef NS_ENUM(NSInteger, MBProgressHUDMode) { /**使用UIActivityIndicatorView显示进度。这是菊花默认值。 */ MBProgressHUDModeIn... ...查看全部
0
评论

WKWebView 使用问题整理 iOS开发技巧

费城 发表了文章 • 84 次浏览 • 2021-04-26 23:21 • 来自相关话题

一. WKWebView处理window.open问题WKWebView加载页面, 当页面使用window.open跳转时候, 无响应, 需要实现WKUIDelegate协议实现-(WKWebView *)webView:(WKWebView *)webVie... ...查看全部
0
评论

iOS面试题(四) iOS面试题

费城 发表了文章 • 100 次浏览 • 2021-04-26 23:12 • 来自相关话题

1. OC 的消息机制消息机制可以分为三个部分1. 消息传递当我么调用方法的时候,方法的调用都会转化为objc_msgSend这样来传递。第一步会根据对象的isa指针找到所属的类(也就是类对象)第二步,会根据类对象里面的catch里面查找。catch是个散列表... ...查看全部
0
评论

iOS面试题(三) iOS面试题

费城 发表了文章 • 106 次浏览 • 2021-04-26 22:44 • 来自相关话题

1. ARC帮我们做了什么?使用LLVM + Runtime 结合帮我管理对象的生命周期LLVM 帮我们在代码合适的地方添加release、retarn、autorelease等添加计数器或者减少计数器操作Runtime 帮我们像__weak、copy等关键字... ...查看全部
0
评论

iOS-一些常用第三方资源 iOS开发

编程扫地僧 发表了文章 • 172 次浏览 • 2021-04-26 17:46 • 来自相关话题

一:第三方插件1:基于响应式编程思想的oc地址:https://github.com/ReactiveCocoa/ReactiveCocoa2:hud提示框地址:https://github.com/jdg/MBProgressHUD3:XML/HTML解析地... ...查看全部
0
评论

ios-本地存储的五种方式 iOS开发

编程扫地僧 发表了文章 • 102 次浏览 • 2021-04-26 15:34 • 来自相关话题

ios数据存储的5种方式NSUserDefaults(Preference偏好设置)plist存储归档SQLite3CoreData应用沙盒Document:适合存储重要的数据, iTunes同步应用时会同步该文件下的内容,(比如游戏中的存档)Library/... ...查看全部
0
评论

iOS 显示动态图、GIF图方法总结 iOS开发

编程扫地僧 发表了文章 • 79 次浏览 • 2021-04-26 15:10 • 来自相关话题

一、WebView加载可以通过WebView加载本地Gif图和网络Gif图,但图片大小不能自适应控件大小,也不能设置Gif图播放时间。使用如下:// 1、WebView加载- (void)webViewShowGif { UIWebView *webVi... ...查看全部
0
评论

iOS -Masonry详解 iOS开发

编程扫地僧 发表了文章 • 80 次浏览 • 2021-04-26 14:54 • 来自相关话题

现在iPhone手机屏幕越来越多, 屏幕适配也越来越重要. Masonry就是为屏幕适配而生的三方框架.Masonry基础APImas_makeConstraints() 添加约束mas_remakeConstraints() 移除之前的约束,重新添加... ...查看全部
0
评论

iOS动态换肤-支持暗夜模式 iOS API调用

费城 发表了文章 • 165 次浏览 • 2021-04-26 13:25 • 来自相关话题

适配暗夜模式iOS13新出现了暗夜模式,苹果新增了一些API方便我们来做适配。这里不做深入,只是稍微总结下。适配暗夜模式,无非就是界面显示上的一些变化,暗夜模式下,主题由默认的白色调变为了深色调,相应的,我们的APP在显示上也需要做相应调整。主要包括两个方面:... ...查看全部
0
评论

iOS -SDWebImage的使用和底层原理 iOS开发

编程扫地僧 发表了文章 • 162 次浏览 • 2021-04-26 11:11 • 来自相关话题

一、SDWebImage的使用1、SDWebImage的安装集成有2种方式:(1)直接到github地址下载,链接https://github.com/rs/SDWebImage        (2)用coco... ...查看全部
0
评论

iOS -AFN实现原理&&面试 iOS开发

编程扫地僧 发表了文章 • 132 次浏览 • 2021-04-26 10:47 • 来自相关话题

AFNetworking是封装的NSURLSession的网络请求。AFNetworking由五个模块组成:分别由NSURLSession,Security,Reachability,Serialization,UIKit五部分组成NSURLSession:网... ...查看全部
0
评论

iOS -YYModel的底层实现原理 iOS开发

编程扫地僧 发表了文章 • 120 次浏览 • 2021-04-26 10:34 • 来自相关话题

一. YYModel逻辑结构 实际使用时,需要对其遍历,取出容器中得字典,然后继续字典转模型(YYModel的核心是通过runtime获取结构体中得Ivars的值,将此值定义为key,然后给key赋value值,所以我们需要自己遍历容器(N... ...查看全部
0
评论

iOS-数据结构初探 iOS开发

编程扫地僧 发表了文章 • 98 次浏览 • 2021-04-26 09:57 • 来自相关话题

数据结构的分类数据结构是指相互之间存在着一种或多种关系的数据元素的集合和该集合中数据元素之间的关系组成 简单来说:数据结构是以某种特定的布局方式存储数据的容器。这种“布局方式”决定了数据结构对于某些操作是高效的,而对于其他操作则是低效的。首先我们需要理解各种数... ...查看全部
0
评论

面试之链表 iOS面试题

费城 发表了文章 • 86 次浏览 • 2021-04-25 22:59 • 来自相关话题

前言这一篇博客是很早之前写的,是关于一些链表和二叉树面试相关的问题,算是整理吧,网上这部分的答案也很多,希望能给大家一些帮助。注意:本文中一些异常情况都是没有做处理的,例如NULL等等,只是给出了基本的解决方案.大家参考一下.链表部分问题:定义并且创建一个链表... ...查看全部
0
评论

Flutter集成到Swift老项目 使用pod接入flutter Flutter

费城 发表了文章 • 157 次浏览 • 2021-04-25 22:48 • 来自相关话题

Xcode:Version 11.3.1 (11C504)Swift:5.0iOS项目地址Flutter项目创建cd some/path/flutter create --template module flutter_yyframework文件路径如下:cd... ...查看全部
0
评论

iOS 音频播放iOS13上远程控制设置控制方法崩溃 iOS开发技巧

费城 发表了文章 • 117 次浏览 • 2021-04-25 22:40 • 来自相关话题

使用MPRemoteCommandCenter 处理远程音频事件的播放的时候,有些同学会用[pauseCommand addTarget:self action:@selector(remotePauseEvent)]这个方法来处理,但是在iOS13后苹果官方... ...查看全部
0
评论

iOS _OBJC_CLASS_$_NSEntityDescription报错 iOS开发技巧

费城 发表了文章 • 83 次浏览 • 2021-04-25 19:26 • 来自相关话题

最近项目中有使用到,MJ相关系列的库,结果出现了报错,如下:Undefined symbol: _OBJC_CLASS_$_NSEntityDescriptionUndefined symbol: _OBJC_CLASS_$_NSManagedObject通过... ...查看全部
0
评论

iOS之手写单例 iOS开发技巧

费城 发表了文章 • 131 次浏览 • 2021-04-25 19:01 • 来自相关话题

一、 不严谨写法先附上不严谨的创建单例的写法SignalModel.h@interface SignalModel : NSObject+ (instancetype)shareInstance;@endSignalModel.m@implementation... ...查看全部
0
评论

浅谈Constraints,Layout,Display的点点滴滴 iOS底层原理

费城 发表了文章 • 172 次浏览 • 2021-04-23 16:12 • 来自相关话题

浅谈Constraints,Layout,Display的点点滴滴神经骚栋关注赞赏支持前言这篇博客完全是因为 浅谈Masonry的使用技巧 才引出来的,如果不是内容太多,也不会单独写一篇博客来记录,在9102一整年中我基本与普通UI开发无缘,大部分工作是对La... ...查看全部
0
评论

iOS 多线程之performSelector、死锁 iOS底层原理

费城 发表了文章 • 120 次浏览 • 2021-04-23 15:45 • 来自相关话题

1. performSelector//在当前线程延迟1s执行,响应了OC语言的动态性:延迟到运行时才绑定方法[self performSelector:@selector(aaa) withObject:nil afterDelay:1];// 回到主线程,... ...查看全部
0
评论

ios设计模式之简单工厂模式 iOS开发技巧

费城 发表了文章 • 151 次浏览 • 2021-04-23 15:39 • 来自相关话题

最近一直在阅读OC编程之道(ios设计模式解析)一书(往期文章中我也将电子版的下载链接分享了出来)。其中包括23种设计模式和7种设计原则,如下图(此图为网络图片):在这里不过多的介绍设计模式和设计原则的问题了,感兴趣的同学可以自行去查阅资料,我在这里只介绍一种... ...查看全部
0
评论

Cocoapods 1.8 版本改用 CDN 服务 iOS开发技巧

费城 发表了文章 • 102 次浏览 • 2021-04-23 15:24 • 来自相关话题

Cocoapods 1.7.2 版本开始增加 CDN 支持但默认没有启用,1.8 版本的发布舍弃了原始完整克隆的 Specs 仓库改用 CDN 服务。CDN 利用的是免费且强大的 jsDelivr CDN 服务,该 CDN 网络在国内是有备案因此速度和稳定性都... ...查看全部
0
评论

iOS - UIStackView 布局 详解 iOS开发

编程扫地僧 发表了文章 • 146 次浏览 • 2021-04-23 14:47 • 来自相关话题

一、UIStackView简介概念:一个堆叠视图的容器,iOS9的新特性。用途:StackView及其子视图会自适应界面,减少我们设置约束的工作量。特点:类似ContainView,不会渲染到界面上。StackView中的子视图只能朝一个方向进行排布,要么水平... ...查看全部
0
评论

iOS -SEL、Method 和 IMP区别及使用 iOS开发

编程扫地僧 发表了文章 • 113 次浏览 • 2021-04-23 14:29 • 来自相关话题

Runtime中,SEL、Method 和 IMP有什么区别,使用场景?SEL:定义: typedef struct objc_selector *SEL,代表方法的名称。仅以名字来识别。翻译成中文叫做选择子或者选择器,选择子代表方法在 Runtime期间的标... ...查看全部
0
评论

iOS-通过Runtime防止重复点击-UIButton、UITableView iOS开发

编程扫地僧 发表了文章 • 113 次浏览 • 2021-04-23 14:23 • 来自相关话题

Gesture有系统处理单机双击,暂不去自定义时间间隔了。只处理UIButton、UITableView(UICollectionView)1、思路:UIButton hook sendActionUITableView hook setDelegate(sw... ...查看全部
0
评论

iOS-Crash文件的解析 iOS开发

编程扫地僧 发表了文章 • 129 次浏览 • 2021-04-23 14:11 • 来自相关话题

开发程序的过程中不管我们已经如何小心,总是会在不经意间遇到程序闪退。脑补一下当你在一群人面前自信的拿着你的App做功能预演的时候,流畅的操作被无情地Crash打断。联想起老罗在发布Smartisan OS的时候说了,他准备了10个手机,如果一台有问题,就换一台... ...查看全部
0
评论

iOS上架unity工程包含UIWebView问题 iOS与unity工程

费城 发表了文章 • 115 次浏览 • 2021-04-23 13:30 • 来自相关话题

在经过一系列的开发之后,来到了游戏上架的步骤,但是在上架的过程中,收到了被拒邮件ITMS-90809: Deprecated API Usage - New apps that use UIWebView are no longer accepted. Ins... ...查看全部
0
评论

iOS运行unity导出工程权限问题 iOS与unity工程

费城 发表了文章 • 122 次浏览 • 2021-04-23 13:09 • 来自相关话题

最近公司新开发了一款游戏,分别导出了安卓工程和xcode工程,在运行的过程中,出现了权限问题提示:在这边提示我,有两个.sh文件是被禁止的,没有运行的权限。其实这个问题很好解决,1、首先找到你xcode所在工程的文件夹,找到这两个.sh文件2、打开你的命令行控... ...查看全部
0
评论

iOS内存管理 iOS面试题

费城 发表了文章 • 112 次浏览 • 2021-04-22 22:49 • 来自相关话题

将计算机上有限的物理内存分配给多个程序使用地址空间不隔离内存使用率低程序运行的地址不确定虚拟内存虚拟地址空间是指虚拟的、人们想象出来的地址空间,其实它并不存在,每个进程都有自己独立的虚拟空间,每个进程只能访问自己的地址空间,这样就能有效的做到了进程的隔离。注:... ...查看全部
0
评论

iOS 中事件的响应链和传递链 iOS底层原理

费城 发表了文章 • 135 次浏览 • 2021-04-22 22:38 • 来自相关话题

iOS事件链有两条:事件的响应链;Hit-Testing事件的传递链响应链:由离用户最近的view向系统传递。initial view –> super view –> ….. –> view controller –> window ... ...查看全部