搭建完本地服务器之后,我们便可以着手客户端的工作,这里我们使用XMPPFramework这个开源库,安卓平台可以使用Smack(最好使用4.1以及之后的版本,支持流管理),为...
自从3G时代带火到现在,即时通讯已经走过很多个年头了,现在的IM基本上都是一家公司的APP的基本配置,大多数公司都会选择一些三方公司,毕竟三方公司有着成熟的IM体系,服务器都...
本文介绍了CocoaAsyncSocket库中GCDAsyncSocket类的使用、粘包处理以及时间延迟测试. 一.CocoaAsyncSocket介绍 CocoaAsync...
我们在项目中有时会碰到视频相关的需求,一般的可以分为几种情况: 1. 简单的视频开发,对界面无要求,可直接使用系统UIImagePickerController。 (1)使用...
注册了这么久简书账号,今天终于决定把自己的总结发出来。第一篇文章诞生了! 项目中monitor数据上报,消息推送均使用了socket长连接,技术上使用GCDAsyncSock...
一、前言 以下是我自己的学习加理解,分享给大家,同时也算是自己做的笔记吧,俗话说好记性不如烂笔头,希望来的你能有所帮助,有什么理解不到位的地方,还请大神些多多指教。 ...
前言 Objective-C是一门非常动态的语言,以至于确定调用哪个方法被推迟到了运行时,而非编译时。与之相反,C语言使用静态绑定,也就是说,在编译期就能决定程序运行时所应该...
Block是我们在日常OC编码中经常使用的特性,它可以非常便捷高效的编写和组织代码,可以让异步调用的代码更加的精炼易读。但是在日常开发过程中我们大部分情况都是写着教科书一般的...
代码片段示例 声明变量一 声明变量二 声明变量三 声明变量四 以上为声明属性的几个方式,其中:1和2 两种方式在一些第三方库代码中经常性出现。 解读 1、声明一个存储属性,通...
由于种种原因,简书等第三方平台博客不再保证能够同步更新,欢迎移步 GitHub:https://github.com/kingcos/Perspective/。谢谢! Val...
masonry git地址:https://github.com/SnapKit/Masonry 本文主要会讲到masonry英文文档(见上面的git地址)中提及到的使用说明...
码云地址:https://gitee.com/xgljh/Flutter.git
我们在使用第三方框架时,往往需要import然后添加代码去实例化才能使用。但是IQKeyboardManager不需要任何代码就能自动解决键盘遮挡输入源,而且也提供了众多接口...
这篇文章会对 IQKeyboardManager 自动解决键盘遮挡问题的方法进行分析。 最近在项目中使用了 IQKeyboardManager 来解决 UITextField...
前言 在以前,一直以为Hybrid App开发是一种略显简单的事,不会使用太多能发挥移动端原生本身优势的复杂API,后来在新公司的工作(半混合式开发)过程中,发现混合式开发也...
Flutter中的异步其实就是用的Dart里面的Future,then函数,回调catchError这些东西。下面举例详细解答一下使用过程和遇到的一些问题,让大家更好的明白异...