09 2016 档案
摘要:来源:JamesYu 链接:http://www.jianshu.com/p/a4d519e4e0d5 最*在做*板的过程中,发现了一些很不规范的代码。偶然修复支付bug的时候,看到其他项目代码,使用通知的地方没有移除,我以为我这个模块的支付闪退是因为他通知没有移除的缘故。而在debug和看了具体的
阅读全文
摘要:看到facebook的一套内存泄漏检测工具,感觉不错,想要查看原文可以点击(http://t.cn/Rqi6Saz),后续在去分析相关的开源工具 手机设备上的内存属于共享资源。应用不合理的使用它会导致内存耗尽,崩溃以及导致性能的大幅度降低。 Facebook的iOS客户端有许多特性,它们共享同一个内
阅读全文
摘要:来源:没故事的卓同学 链接:http://www.jianshu.com/p/96b36360bb2d 在Xcode 7我们在 OTHER_SWIFT_FLAGS中配置环境变量。但是有一个不爽的地方就是需要在自定义的变量前增加“-D”后才能使用。比如: 然后才能正常使用: #if MYFLAG //
阅读全文
摘要:来源:徐不同 链接:http://www.jianshu.com/p/3d602a60ca4f iOS10 推送必看(基础篇) 虽然这篇文章比较长,也不好理解,但是还是建议大家收藏,以后用到的时候,可以看看,有耐心的还是读一读。 这篇文章开始,我会跟大家好好讲讲,苹果新发布的iOS10的所有通知类。
阅读全文
摘要:来源:徐不同 链接:http://www.jianshu.com/p/f5337e8f336d iOS10更新之后,推送也是做了一些小小的修改,下面我就给大家仔细说说。希望看完我的这篇文章,对大家有所帮助。 一、简单入门篇—看完就可以简单适配完了 相对简单的推送证书以及环境的问题,我就不在这里讲啦,
阅读全文
摘要:来源:酷酷的哀殿 链接:http://www.jianshu.com/p/067f4674f75f Xcode 8 的 clang 新的警告控制,当所有路径都通过一个函数都调用自身时,会产生一个警告 ⚠️。 下图展示了,如何开启该功能(默认开启)。 下面展示了产生该警告的一种情况 值得注意的地方是,
阅读全文
摘要:来源:伯乐在线 - Jerry4me 链接:http://ios.jobbole.com/88828/ 点击 → 申请加入伯乐在线专栏作者 我的Github地址 : https://github.com/Jerry4me 本文章的demo链接 : https://github.com/Jerry4m
阅读全文
摘要:来源:酷酷的哀殿 链接:http://www.jianshu.com/p/d8035216b257 前言 相信大部分见过 @weakify 和 @strongify 的开发者都会喜欢上这两个宏。但是很多人只知道它的强大威力,却没有意识到在特定环境下的危险性。 本文将通过代码测试的方式告诉读者,如何正
阅读全文
摘要:来源:iOS_小松哥 链接:http://www.jianshu.com/p/9ab1205f5166 有时候我们需要处理图片,比如改变大小,旋转,截取等等,所以今天说一说图片处理相关的一些操作。 本文所说的方法都是写在UIImage的Category中,这样使用起来也方便;由于代码太多,这里就不贴
阅读全文
摘要:来源:iOS_小松哥 链接:http://www.jianshu.com/p/a725e24d7835 为什么要格式化代码 当团队内有多人开发的时候,每个人写的代码格式都有自己的喜好,也可能会忙着写代码而忽略了格式的问题。 在之前,我们可能会写完代码后,再一点一点去调格式,很浪费时间。 有了Clan
阅读全文
摘要:效果演示 百度外卖 波浪效果图: 你需要知道的 CADisplayLink 简单的说就是一定时器,其根本利用刷帧和屏幕频率一样来重绘渲染页面.其创建方式: CAShapeLayer CALayer的子类,通常结合CGPath来绘制图形.其创建方式: 其优点 三角函数 思路实现 主要代码实现 终 最后
阅读全文
摘要:android生命周期: 开始Activity:onCreate、onStart、onresume; Activity重新获得焦点:onReStart、onStart、onresume; 关闭Activity:onPause、onStop、onDestory; 启动的时候: I/Main: onCr
阅读全文
摘要:来源:StanOz 链接:http://www.jianshu.com/p/31bcddf44b8d 这篇文章是我一边学习证书验证一边记录的内容, 稍微整理了下,共扯了三部分内容: HTTPS 简要原理; 数字证书的内容、生成及验证; iOS 上对证书链的验证。 HTTPS 概要 HTTPS 是运行
阅读全文
摘要:来源:iOS_小松哥 链接:http://www.jianshu.com/p/be00c3f3cafd 大家都是知道使用宏不仅方便,而且可以提高开发效率。下面总结了iOS开发过程中的一些常用宏,会持续的往里面添加。 //字符串是否为空 #define kStringIsEmpty(str) ([st
阅读全文
摘要:从iOS8.0开始推送功能的实现在不断改变,功能也在不断增加,iOS10又出来了一个推送插件的开发(见最后图),废话不多说直接上代码: 在开始之前需要打开一个推送开关,不然无法获取deviceToken,老项目或者出现deviceToken无效的情况:如图: 打开后会生成entitlements文件
阅读全文
摘要:随着iOS10发布的临近,大家的App都需要适配iOS10,下面是我总结的一些关于iOS10适配方面的问题,如果有错误,欢迎指出. 1.系统判断方法失效: 在你的项目中,当需要判断系统版本的话,不要使用下面的方法: 它会永远返回NO,substringToIndex:1在iOS 10 会被检测成 i
阅读全文
摘要:一、访问了一个已经被释放的对象 在不使用 ARC 的时候,内存要自己管理,这时重复或过早释放都有可能导致 Crash。 例子 NSObject * aObj = [[NSObject alloc] init]; [aObj release]; NSLog(@"%@", aObj); 原因 aObj
阅读全文
摘要:前段时间,在项目中有个需求是支付完成后,弹出红包,实现这么一个发红包的功能。做了最后,实现的效果大致如下: 一、使用方法 整个ViewController的代码大致如下 // // SecondViewController.m // HWPopTool // // Created by HenryC
阅读全文
摘要:[iOS 10 day by day] Day 1:开发 iMessage 的第三方插件 [iOS 10 day by day] Day 2:线程竞态检测工具 Thread Sanitizer 《iOS 10 day by day》是 shinobicontrols 公司编写的系列博客,介绍开发者需
阅读全文
摘要:前段时间公司项目打算重构,准确来说应该是按之前的产品逻辑重写一个项目😂。在重构项目之前涉及到架构选型的问题,我和组里小伙伴一起研究了一下组件化架构,打算将项目重构为组件化架构。当然不是直接拿来照搬,还是要根据公司具体的业务需求设计架构。 在学习组件化架构的过程中,从很多高质量的博客中学到不少东西,
阅读全文
摘要:一、Native开发中为什么需要H5容器 Native开发原生应用是手机操作系统厂商(目前主要是苹果的iOS和google的Android)对外界提供的标准化的开发模式,他们对于native开发提供了一套标准化实现和优化方案。但是他们存在一些硬伤,比如App的发版周期偏长、有时无法跟上产品的更新节奏
阅读全文
摘要:众所周知,iOS默认是不支持gif类型图片的显示的,但是我们项目中常常是需要显示gif为动态图片。那肿么办?第三方库?是的 ,很多第三方都支持gif , 如果一直只停留在用第三方上,技术难有提高。上版本的 Kingfisher 也支持gif ,研究了一番,也在网上搜索了一番,稍微了解了下iOS实现g
阅读全文
摘要:iOS9推出的时候,苹果希望大家使用https协议,来提高数据传输之间的安全性。下面我就从最简单的代码介绍,如何在工程中设置,来支持https的请求。 一、证书准备篇 1.证书转换 在服务器人员,给你发送的crt证书后,进到证书路径,执行下面语句 // openssl x509 -in 你的证书.c
阅读全文
摘要:1.Notification(通知) 自从Notification被引入之后,苹果就不断的更新优化,但这些更新优化只是小打小闹,直至现在iOS 10开始真正的进行大改重构,这让开发者也体会到UserNotifications的易用,功能也变得非常强大。 iOS 9 以前的通知 1.在调用方法时,有些
阅读全文
摘要:iOS 10的一大变化是更强的隐私数据保护。在文档中是这么描述的: You must statically declare your app’s intended use of protected data classes by including the appropriate purpose s
阅读全文
摘要:关于HotfixPatch 在IOS开发领域,由于Apple严格的审核标准和低效率,IOS应用的发版速度极慢,稍微大型的app发版基本上都在一个月以上,所以代码热更新(HotfixPatch)对于IOS应用来说就显得尤其重要。 现在业内基本上都在使用WaxPatch方案,由于Wax框架已经停止维护四
阅读全文
摘要:相信HotFix大家应该都很熟悉了,今天主要对于最近调研的一些方案做一些总结。iOS中的HotFix方案大致可以分为四种: WaxPatch(Alibaba) Dynamic Framework(Apple) React Native(Facebook) JSPatch(Tencent) WaxPa
阅读全文
摘要:苹果公司在iOS7中推出了语音合成的技术,无需网络环境也可以实现语音合成。 iOS7语音合成的主要的API如下: 1、AVSpeechUtterance,是语音合成的基本单位,它封装影响语音合成的需要的一些参数:语音、语调、语速和延迟等。 2、AVSpeechSynthesisVoice,是语音合成
阅读全文
摘要:日志: 8.30号:没怎么做东西,就是搭建了项目的架构,拉入了之前经常用的一些工具类,宏定义等等。 8.30主要事项:UITabbarController+UINavigationController项目架构组建。部分代码 8.31号:开始在8.30建的类上面填充内容,首页,这个最复杂的界面。 搭建
阅读全文
摘要:也许现在有一款App可以提供所有你需要的,你不需要的,或者你可以想象到的内容。但是,有多少App真的可以不仅满足需求而且还能提供很好的用户体验呢? 相信很多APP并没有这样的能力。有一些APP的设计特别烂,以至于用户很难去完成一些操作。也有一些APP,当用户做了一些操作之后,动不动就挂掉了。还有一些
阅读全文
摘要:1. 背景 Aspects 和 JSPatch 是 iOS 开发中非常常见的两个库。Aspects 提供了方便简单的方法进行面向切片编程(AOP),JSPatch可以让你用 JavaScript 书写原生 iOS APP 和进行热修复。关于实现原理可以参考 面向切面编程之 Aspects 源码解析及
阅读全文
摘要:随着工具链的完善,语言的升级以及各种优质教程的涌现,做一个 App 的成本也越来越低了。尽管如此,有些事情最好前期就做起来,避免当 App 有了一定规模后,再感慨当初为什么没有多留点心。 完善的日志系统 以 iOS 为例,有时图方便,就直接用 NSLog 了,甚至线上都一直开着。一方面会影响性能,尤
阅读全文
摘要:在swift 3中新增加了两中访问控制权限 fileprivate和 open。下面将对这两种新增访问控制做详细介绍。 fileprivate 在原有的swift中的 private其实并不是真正的私有,如果一个变量定义为private,在同一个文件中的其他类依然是可以访问到的。这个场景在使用ext
阅读全文
摘要:文章目录 一. 系统Crash 二. 处理signal 下面是一些信号说明 关键点注意 下面是一些信号说明 关键点注意 下面是一些信号说明 关键点注意 三. 实战 四. Crash Callstack分析 – 进⼀一步分析 五. demo地址 六. 参考文献 前言 今天在ios高级群,有朋友问到iO
阅读全文
摘要:本框架实现思路与YTKNetwork和RTNetworking类似,相当于一个简单版,把每一个网络请求封装成对象。使用LXNetwork,你的每一个请求都需要继承LXBaseRequest类,通过覆盖父类的一些方法或者实现相关协议方法来构造指定的网络请求。这个网络库可直接在项目中使用,但是有些功能完
阅读全文
摘要:我去,就这两个东西还要讲?是OC或Swift开发人员都知道是怎么回事好吗?不就是用来标记和分组代码的吗?难道还有别的装逼技能? 当然,其实问大部分人说这两个是什么作用,或者是除了这两个还知道什么的情况下。很多人都只知道这两个是用来组织代码的。然而这样说也对也不对,确实我们常用的情况是都是用这两个来组
阅读全文
摘要:前言 相信大部分见过 @weakify 和 @strongify 的开发者都会喜欢上这两个宏。但是很多人只知道它的强大威力,却没有意识到在特定环境下的危险性。 本文将通过代码测试的方式告诉读者,如何正确地使用这两个的宏。 @weakify 和 @strongify 本文意在说明其危险性,所以不会全面
阅读全文
摘要:效果图 iTools有点卡, 但是推到服务器倒是很快的. 推流 前言 这篇blog是iOS视频直播初窥:的一个补充. 因为之前传到github上的项目中没有集成视频的推流.有很多朋友简信和微博上问我推流这部分怎么实现的. 所以, 我重新集成了RTMP的推流, 合并到了之前的项目中. 下载链接 git
阅读全文
摘要:深入研究Block捕获外部变量和__block实现原理 EOCNetworkFetcher.h typedef void (^EOCNetworkFetcherCompletionHandler)(NSData *data); @interface EOCNetworkFetcher : NSObj
阅读全文
摘要:深入研究Block捕获外部变量和__block实现原理 前言 在上篇中,仔细分析了一下Block的实现原理以及__block捕获外部变量的原理。然而实际使用Block过程中,还是会遇到一些问题,比如Retain Circle的问题。 目录 1.Retain Circle的由来 2.weak、stro
阅读全文
摘要:使用系统自带生成/扫描二维码 iOS7开始苹果集成了二维码的生成的扫描 ### 生成二维码的步骤 导入CoreImage框架 #import <CoreImage/CoreImage.h> 通过滤镜CIFilte生成二维码 ### 二维码的内容(传统的条形码只能放数字) 纯文本 名片 URL 生成二
阅读全文
摘要:NSString *const kWebsite = @"http://image.baidu.com/search/index?tn=baiduimage&ipn=r&ct=201326592&cl=2&lm=-1&st=-1&fr=&sf=1&fmq=1459502303089_R&pv=&ic
阅读全文
摘要:框架 首先我们从整体对所需框架做个初步了解。 AVFoundation在相关框架栈中的的位置: 为了捕捉视频,我们需要这样几种类(与其它的子类)。 AVCaptureDevice 代表了输入设备,例如摄像头与麦克风。 AVCaptureInput 代表了输入数据源 AVCaptureOutput 代
阅读全文
摘要:iOS如何随意的穿插跳跃,push来pop去? 主题思想:如A、B、C、D 四个视图控制器。 想要在 A push B 后, B 在push 到 D ,然后从 D pop 到 C ,在从 C pop 的A 解决方法如下: 1.假如此时在 A 控制器下,想要到 push 到 B, 可以这样写 [sel
阅读全文
摘要:这是使用 ASDK 性能调优系列的第二篇文章,前一篇文章中讲到了如何提升 iOS 应用的渲染性能,你可以点击 这里 了解这部分的内容。 http://t.cn/Rc4KbUC 在上一篇文章中,我们提到了 iOS 界面的渲染过程以及如何对渲染过程进行优化。ASDK 的做法是将渲染绘制的工作抛到后台线程
阅读全文
摘要:本文介绍了 iOS 10 的一个重要更新:Messages 应用支持第三方插件了。作者用一个小游戏作为例子,说明了插件开发从建工程开始,到绘制界面、收发消息的全过程。 《iOS 10 day by day》是 shinobicontrols 公司编写的系列博客,介绍开发者需要了解的 iOS 10 新
阅读全文
摘要:前言 首先提出一些问题: dispatch_async 函数如何实现,分发到主队列和全局队列有什么区别,一定会新建线程执行任务么? dispatch_sync 函数如何实现,为什么说 GCD 死锁是队列导致的而不是线程,死锁不是操作系统的概念么? 信号量是如何实现的,有哪些使用场景? dispatc
阅读全文
摘要:目前已经完成的功能有对RSS的解析和Atom解析,RSS内容本地数据库存储和读取,抓取中状态进度展示,标记阅读状态,标记全部已读等。这些功能里我对一些异步操作产生的数据采用了ReactiveCocoa来对数据流向进行了控制,下面我来说下如何运用RAC来进行的开发。 初始时读取本地存储首页列表数据,过
阅读全文
摘要:引言 对于 Objective-C 的语法,喜欢的人会觉得它是如此的优雅,代码可读性强,接近自然语言,开发者在调用大多数方法时不需要去查看注释或文档,通常只凭借方法名就可以大致知道这个方法的作用,可以理解为 代码即注释;而对于不喜欢的人来说,会觉得这种语法规则太啰嗦了! 直到第三方自动布局框架 Ma
阅读全文
摘要:刚看到这个名字估计很多人有点熟悉,Method Swizzling对不对,不熟悉也没关系,去看看之前的一篇文章黑魔法之Method Swizzling吧。不过也可以根据名称猜测出来所谓的isa-swizzling就是讲isa进行替换了的技术。如果有小伙伴问我什么是isa的话,不好意思,保安,有人来捣
阅读全文
摘要:《开发者 MAC 电脑里的十八般兵器》 古人常以刀、枪、剑、戟、斧、钺、铲、叉、鞭、锏、锤、戈、镋、棍、槊、棒、矛、钯十八种兵器,样样精通,来形容一个人的武学技能get状态。在开发者的世界里,熟练掌握各种辅助工具,可以达到事半功倍,快速提高工作效率的效果。闲话不扯了,来看看究竟是什么。 《如何快速的
阅读全文