欢迎使用CSDN-markdown编辑器 简介:protobuf 即 google protocol buffer 是一种数据封装格式协议;比如其他经常用的xml,json等格式;protobuf的优势是效率高,同样的一份数据使用protobuf存储的时候更小,更加方便;官网:https://developers.google.com/protocol-buffers/https://github.com/google/protobuf在i
iOS开发之制作framework并将模拟器Framework与真机Framework合并 什么是frameworkFramework是资源的集合,将静态库(iOS8以后可以是动态库)和其头文件包含到一个结构中,让Xcode可以方便地把它纳入到你的项目中。分为真机—Debug(调试)版本、真机—Release(发布)版本、模拟器—Debug版本、模拟器—Release版本;开发中一般都打包Release(发布)版本,将真机和模拟器版本合并,提供外界。framework
Objective-C Associated Objects 的实现原理-Category添加实例变量 我们知道,在 Objective-C 中可以通过 Category 给一个现有的类添加属性,但是却不能添加实例变量,这似乎成为了 Objective-C 的一个明显短板。然而值得庆幸的是,我们可以通过 Associated Objects 来弥补这一不足。本文将结合runtime 源码深入探究 Objective-C 中 Associated Objects 的实现原理。在阅读本文的过程中
39个优秀的Swift UI开源库 毫无疑问,Swift已经成为github上最受欢迎的语言之一,对于iOS开发者来说,学习开源库可以帮你快速学习和掌握这门语言。Mybridge AI从将近2700个开源Swift UI库中筛选了39个项目推荐给开发者,这些项目被选中的几率只有1.4%,在GitHub上的star平均数是2527。Animation UINo 1 Spring [9164 stars o
iOS开发:深入理解GCD 第二篇(dispatch_group、dispatch_barrier、基于线程安全的多读单写) Dispatch Group在追加到Dispatch Queue中的多个任务处理完毕之后想执行结束处理,这种需求会经常出现。如果只是使用一个Serial Dispatch Queue(串行队列)时,只要将想执行的处理全部追加到该串行队列中并在最后追加结束处理即可,但是在使用Concurrent Queue 时,可能会同时使用多个Dispatch Queue时,源代码就会变得很复杂。在这
Airbnb 資深工程師分享:怎樣才是正確、有效的 code review 之前写过一篇《写代码的四个境界》,那个时候,大部分时候我还是愉快地写着自己的代码。Code review 也是每天工作的一部分,但是相对而言花的时间还是有限的。最近一是因为角色转换,二是突然来了很多新人。花在 code review 上的时间比写代码多出了好多,也有一些心得和感触,随便写写吧。总的说来,硅谷稍具规模的公司 code review 的流程都是比较规范的。模式也差不多。一来所有
JSPatch技术文档 一、背景需求介绍为什么我们需要一个热修复(hot-fix)技术?工作中容易犯错、bug难以避免。开发和测试人力有限。苹果Appstore审核周期太长,一旦出现严重bug难以快速上线新版本。作为生产力工具,用户有对稳定性和可靠性的需求。二、JSPatch简介JSPatch诞生于2015年5月,最初是腾讯广研高级iOS开发@bang的个人项目。它能够使用JavaScript调用
饿了么移动APP的架构演进 原文:https://mp.weixin.qq.com/s?__biz=MzAxNDUwMzU3Mw==&mid=401044540&idx=1&sn=24b7d8fb655ae6dd5d989d0cb3c08e90随着移动互联网时代的到来,移动技术也随之飞速发展。如今,APP已然成为绝大多数互联网企业用来获取用户的核心渠道。与此同时,伴随着业务量的增长,愈来愈多的APP也在不
nodejs基础: 如何升级Noejs版本 文章来源: http://theholmesoffice.com/node-js-fundamentals-how-to-upgrade-the-node-js-version/ Node.js的开发非常活跃,它的最新稳定版本也频繁变化,你不时会发现,一个模块不能在你当前的Node版本上使用,此时你需要升级Node幸运的是,可以用一种非常简单的方法来管理你的Node版本
细讲UIImage加载方式 原文:http://www.henishuo.com/image-loaded-method/前言关于本地图片UIImage的加载问题,还是需要注意的。不同的加载处理方式,在效率和性能上还是有差异的。今天,我们来讲讲UIImage的加载应该选择什么样的API来加载!两种API这两种API分别是:-imageNamed: 默认加载图片成功后会内存中缓存
仿猎豹垃圾清理(实现原理+源码) 仿猎豹垃圾清理(实现原理+源码)转载请注明出处: 仿猎豹垃圾清理(实现原理+源码)前几天无意打开猎豹内存大师, 发现它的垃圾清理很强大, 效果也不错, 闲着就研究了下。 不过.. 结果貌似和我想象的不太一样。怎么说呢, 听我下文一一分析。效果图: 从效果图, 我们可以看出它有以下几个功能:获取设备上已安装的所有App获取App的信息, 包括图
iOS 应用将适应新的的IPv6-only网络 -解决方案 苹果公司还称“在WWDC 2015上,我们宣布iOS 9开始向IPv6-only网络服务过渡。自2016年6月1日起,开发者所有提交至App Store的应用必须支持IPv6-only网络。由于大部分现有应用程序已经通过NSURLSession和CFNetwork APIs兼容该协议,因此这些应用无需做出调整。但如果你依然使用IPv4 API的或者硬件编码IP地址,那么你需要手动调整应用代码来
全站 HTTPS 来了 原文链接:http://bugly.qq.com/bbs/forum.php?mod=viewthread&tid=417&fromuid=6各位使用百度、谷歌或淘宝的时候,有没有注意浏览器左上角已经全部出现了一把绿色锁,这把锁表明该网站已经使用了 HTTPS 进行保护。仔细观察,会发现这些网站已经全站使用 HTTPS。同时,iOS 9 系统默认把所有的 http 请求都改为 HTTPS
APP请求超时问题-ios超时-android超时 最近发现公司的app在高峰期超时严重.用wifi网络一直超时,但qq等却正常.换成手机卡网络正常.起初以为是DNS解析问题.后来抓包,发现DNS解析正常,可以得到正确的A记录.但tcp retransmission严重.因为app内使用了友盟等第三方库,他们的DNS,tcp握手均正常.而我们的app却tcp retransmission严重.后来找到一篇文章
iOS开发-检测用户截屏, 并获取所截图片 http://blog.csdn.net/hitwhylz/article/details/38386979?utm_source=tuicool微信可以检测到用户截屏行为(Home + Power),并在稍后点击附加功能按钮时询问用户是否要发送刚才截屏的图片,这个用户体验非常好。于是乎, 我也想着实现这个功能。在iOS7之前, 如果用户截屏,系统会自动取消屏幕上的所有
知名应用背后的第三方开源项目 http://www.cocoachina.com/ios/20141017/9955.html知名应用程序的设计和技术一直都是开发者需要学习的,同样这些应用所使用的开源框架也是不可忽视的一部分。此前《iOS第三方开源库的吐槽和备忘》中作者ibireme列举了国内多款知名应用所使用的开源框架,并对其中一些框架进行了分析,同样国外开发者@iOSCowboy也在博客中给我们列出了国外多款知名应
ios身份证号码判断 + (BOOL)chk18PaperId:(NSString *)sPaperId{ //判断位数 if ([sPaperId length] !=15 && [sPaperId length] != 18) { return NO; } NSString *carid = sPaperId;
在iOS设备上进行抓包(补充) 之前我一般是通过wifi连入我的iMac,然后使用HttpScoop或者Charles来进行数据抓取及分析。前者非常好用,在调协议时我的必备工具,就是更新太慢,2.0版本老不出来。后者没用过,听说是java的。而且价格也太贵,前者15美刀,后者50美刀。Wireshark有装,但是界面实在让人提不起来胃口使用,所以装了就删除了。 HttpScoop虽然好用,但是只适用于http协议,对于soc
ios端支付宝问题一二备注 ios使用支付宝支付,很简单,看支付宝的demo便可.不便的是支付回调后的处理,支付宝没给出类似其他第三方集成平台的分类处理demo.说说使用ios端支付遇到的问题;1,旧版本的支付宝,一直验证不通过. 有部测试机,ios6系统,安装了很旧的支付宝版本,支付时,一直提示密钥验证不过.后来对比使用ios8上和最新的支付宝客户端加密的固定明文的串,发现两者加密后完全一样(ios6上的旧版
Objective C中数组排序几种情况的总结 大体上,OC中常用的数组排序有以下几种方法:sortedArrayUsingSelector:;sortedArrayUsingComparator:;sortedArrayUsingDescriptors:。1、简单排序(sortedArrayUsingSelector:) 如果只是对字符串的排序,可以利用sortedArrayUsingSelector:方法就可以了,代码如下