- 博客(23)
- 收藏
- 关注
原创 提高iOS编译速度的Cocoapods插件ppbuild
背景:随着项目的不断迭代,项目代码及依赖三方库和内部库越来越多,导致项目编译时间越来越长,浪费大量开发时间。cocoapods-ppbuild插件将三方库打包为静态库,从而提高项目编译时间使用:修改 podfile 文件,加入以下代码plugin 'cocoapods-ppbuild'1. 使用静态库编译:use_frameworks! :linkage => :staticuse_static_binary!使用动态库编译(动态库会拖累app使用时间,推荐使用静.
2021-09-30 16:11:26 374
原创 记:iOS使用GCDAsyncSocket外部如何设置keepalive
问题描述:最近在我的项目组中遇到一个问题,由于我们项目使用采用的是TCP+Protobuf来做主要通讯协议,心跳是使用udp。服务器分为多台,各服务器负责各自的任务,比如我们账号服务器只负责与用户数据相关的任务,推送服务器负责服务器向前端通知等等。当我们的TCP中间由于某种原因与服务器断开连接,但是服务器和客户端都没有接到断开通知,或者需要好长时间才能知道(大概10分钟,不确定的时间段),彼此之间...
2018-04-23 14:54:23 1315
原创 备忘录
备忘一下 git 配置:ssh-keygen -t rsa -C "邮箱地址" 连续3个回车。如果不需要密码的话。最后得到了两个文件:id_rsa和id_rsa.pub。将id_rsa.pub中内容拷贝到git 中ssh-key中保存git config --global user.name "用户名"git config --global user.email...
2018-04-20 11:57:04 320
转载 OpenGL详解
原文出处:http://blog.csdn.net/candycat1992/article/details/39676669支持大家去看原文,真是一片好的博文。关于OpenGL写点很详细也很透彻,博主更是一位妹子。。。写在前面 OpenGL能做的事情太多了!很多程序也看起来很复杂。很多人感觉OpenGL晦涩难懂,原因大多是被OpenGL里面各种语句搞得头大,一会gen一下,一会b...
2016-09-12 17:08:05 3791
转载 iOS:网络编程模式
IOS 可以采用三类api 接口进行网络编程,根据抽象层次从低到高分别为socket方式、stream方式、url 方式。一 、socket 方式 IOS 提供的socket 方式的网络编程接口为CFSocket。CFSocket是BSD sockets的抽象和封装,CFSocket提供BSD sockets几乎所有的功能,并与run loop集成,用来实现多线程网络编程和网络
2016-09-09 17:38:39 577
原创 立体图形3D动画和绘制
做了一个关于立体图形3D动画和绘制图形的例子,这个是参照苹果官方文档和例子来写的,其中茶壶是根据点、颜色渲染、网格结构和灯光效果来绘制出来的。
2016-09-09 11:51:44 3904
转载 图像编程总结
iOS实现图形编程可以使用三种API(UIKIT、Core Graphics、OpenGL ES及GLKit)。这些api包含的绘制操作都在一个图形环境中进行绘制。一个图形环境包含绘制参数和所有的绘制需要的设备特定信息,包括屏幕图形环境、offscreen 位图环境和PDF图形环境,用来在屏幕表面、一个位图或一个pdf文件中进行图形和图像绘制。在屏幕图形环境中进行的绘制限定于在一个UIView
2016-09-08 14:59:56 2269
原创 iOS:直播动态评论和点赞效果
有人问我现在直播APP很火,动态的评论和点赞效果怎么做的。趁着最近有点时间就写了个demo供大家参考:图片和界面效果可以自己根据需求调整和优化。想要程序去做什么首先要明确自己想做什么,思考你的程序需要哪些信息等等。可能我们在写代码时发现之前的设计不切实际,或者想到一个更好的解决方案,或者等程序运行之后,想改变原来的设计思路,对程序做注释为今后的修改能提供很大的方便。(嘴笨,个人拙见)。
2016-09-07 11:29:49 6865 1
原创 iOS处理图片的各种模糊效果
PDBlurImage演示了使用vImage如何处理图像的模糊效果。vImage框架适合高性能图像处理,使用vImage能够得到矢量处理的效果而不用使用矢量代码。
2016-09-06 10:46:41 1867 1
转载 并发编程、iOS多线程
并发所描述的概念就是同时运行多个任务。这些任务可能是以在单核 CPU 上分时(时间共享)的形式同时运行,也可能是在多核 CPU 上以真正的并行方式来运行。OS X 和 iOS 提供了几种不同的 API 来支持并发编程。每一个 API 都具有不同的功能和使用限制,这使它们适合不同的任务。同时,这些 API 处在不同的抽象层级上。我们有可能用其进行非常深入底层的操作,但是这也意味着背负起将任务进行
2016-09-05 14:58:42 889
原创 给ViewController减肥
我们已经看到一些用来创建更小巧的 view controllers 的技术。我们并不是想把这些技术应用到每一个可能的角落,只是我们有一个目标:写可维护的代码。知道这些模式后,我们就更有可能把那些笨重的 view controllers 变得更整洁。
2016-09-02 12:49:53 716
转载 多线程GCD和Cocoa NSOperation实现原理
简介多线程是一个比较轻量级的方法来实现单个应用程序内多个代码执行路径。在系统级别内,程序并排执行,程序分配到每个程序的执行时间是基于该程序的所需时间和其他程序的所需时间来决定的。然而,在每个程序内部,存在一个或者多个执行线程,它同时或在一个几乎同时发生的方式里执行不同的任务。概要提示:iPhone中的线程应用并不是无节制的,官方给出的资料显示,iPhoneOS下的主线程的堆栈大
2016-09-02 11:03:51 566
原创 Instruments使用
Instruments是Xcode套件中没有被充分利用的一个工具。很多iOS开发者从没用过Instruments,或者只是用Leaks工具检测循环引用。实际上有很多Instruments工具,包括为动画性能调优的东西。 你可以通过在菜单中选择Profile选项来打开Instruments(在这之前,记住要把目标设置成iOS设备,而不是模拟器)。然后将会显示出图1.1(如果没有看到所有选项
2016-08-30 12:13:34 456
转载 Activity Monitor使用说明
Activity Monitor,官方解释为:(活动监视器)即实时显示CPU、内存和网络的使用情况,记录由虚拟内存大小测量的系统负载。用一句大白话来说,Activity Monitor类似Windows中的任务管理器,可以实时查看进程占用的CPU、内存的使用量。 一、Activity Monitor的介绍和大致使用具体操作步骤,首先从Xcode中运行Instrume
2016-08-30 12:07:40 7043 2
原创 Swift-- 计算文字尺寸
Swift中我们想计算一段文字的尺寸是使用String 发现当我们敲下boundingRect... 发现没有提示,感觉是不是没有提供boundingRectWithSize方法那? 其实不是,我们敲完后发现是有这个方法的 只是没有提示好了,上代码:let attributes = [NSFontAttributeName: font] let option = NSS
2016-08-26 12:16:56 741
转载 SDWebImage 原理及使用
SDWebImage托管在github上。https://github.com/rs/SDWebImage这个类库提供一个UIImageView类别以支持加载来自网络的远程图片。具有缓存管理、异步下载、同一个URL下载次数控制和优化等特征。SDWebImage 支持异步的图片下载+缓存,提供了 UIImageView+WebCacha 的 category,
2016-08-24 10:57:43 328
原创 显式动画
属性动画CAAnimationDelegate在任何头文件中都找不到,但是可以在CAAnimation头文件或者苹果开发者文档中找到相关函数。当更新属性的时候,我们需要设置一个新的事务,并且禁用图层行为。否则动画会发生两侧,一个是因为显式的CABasicAnimation,另一次是因为隐式动画(关于隐式动画后面我会介绍)。例如我们更改主视图的背景颜色:CABasicAnimation *anima
2016-08-23 10:11:24 464
原创 iOS RabbitMQ集成及使用
iOS RabbitMQ集成及使用iOS RabbitMQ集成及使用基本概念RabbitMQ是流行的开源消息队列系统,用erlang语言开发。RabbitMQ是AMQP(高级消息队列协议)的标准实现。如果不熟悉AMQP,直接看RabbitMQ的文档会比较困难。不过它也只有几个关键概念,这里简单介绍。RabbitMQ的结构图如下:几个概念说明:Broker:简单来说就是消息队列服务
2016-08-23 10:11:21 6586 4
原创 苹果推送机制(APNS)
苹果推送机制(APNS)苹果推送通知服务 (简称APNs) 是实现远程通知功能的主要内容. 它是一项将信息发送至 iOS 设备 (间接至 watchOS ), tvOS, OS X 设备强大且高效的服务. 每个设备都与 APNs 建立了一个可信任的加密的 IP 链接, 并使用这个持续链接来接受通知. 如果一个 app 有新的通知到达而这个 app 没有运行时, 设备会弹出提示框来告诉用户这个 ap
2016-08-23 10:11:18 1083
原创 矩形图表绘制
矩形图表绘制矩形图表绘制矩形图表绘制是根据每一项数量斜体增长矩形图表功能。在上篇日志中我讲到过使用CAShapeLayer配合UIBezierPath贝塞尔曲线绘制锯齿状图表。这篇中主要是说矩形图表绘制,涉及技术和上篇差不多,重复的具体就不说了。主要说一下CATextLayer,继承于CALayer。它以图层的形式包含了UILabel几乎所有的绘制特性,并且额外提供了一些新的特性。同样,CATe
2016-08-23 10:11:16 1672
原创 锯齿状图表绘制
锯齿状图表绘制锯齿状图形绘制CAShapeLayer :图形绘制层,CALAyer的子类,初始化时只需用CALayer的类方法layer。CAShapeLayer是一个通过矢量图形而不是bitmap来绘制的图层子类。你指定诸如颜色和线宽等属性,用CGPath来定义想要绘制的图形,最后CAShapeLayer就自动渲染出来了。当然,你也可以用Core Graphics直接向原始的CALyer的内容中
2016-08-23 10:11:13 1941
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人