巧妙化解dismissViewController闪烁问题

问题描述 最近项目里面涉及到一个解锁的界面,这个提示解锁界面在 present 一个人脸解锁的 ViewController ,人脸解锁完成后会有一个 delegate 回调人脸验证结果,并且人脸验证界面自动 dismiss 掉。 如果解锁成功的话,逻辑上人脸验证界面一 dismiss 掉就应该显示 app 的主界面,相对于提示解锁界面在人脸验证...

iOS
全文约 351 字, 预计阅读时间为 2 分钟

使用OClint进行iOS项目的静态代码扫描

最近需要一个静态分析代码工具,帮助我们发布运行应用前找到代码潜在的问题。 其实对于iOS开发,我们的日常开发上已经用到了这样一个静态分析的工具,那就是 Clang, Clang 是支持 C、C++、Objective-C 和 Swift 的一个前端编译工具,他将 OC 或者 Swift 的代码输出抽象语法树(Abstract Syntax Tree),然后编译成...

iOS
全文约 269 字, 预计阅读时间为 2 分钟

临时解决 Ruby2.3 上 CocoaPods 出错问题

前段时间 Ruby 发布了 2.3 ,手贱就直接升级了一下,结果 gem 全部都要重装,但是这并不是最坑的。最麻烦的是安装完 cocoapods 之后,pod install 和 pod update,都会报错 NoMethodError -...

Mac
全文约 156 字, 预计阅读时间为 1 分钟

在Tengine中开启HTTP/2

今天看到淘宝的 Tengine 发布了2.1.2版本,看了一下 CHANGES 发现已经支持HTTP/2,支持向后兼容SPDY。马上动手进行更新,为现在的服务器加上帅气的HTTP/2。 关于 HTTP/2 HTTP/2的重要特性完全源自SPDY。(详见:使用HTTP/2提升性能的7个建议) HTTP/2是二进制(而文本)协议,因此更简洁高效; 它针对每个域只使用一个多路复用的连接,而不是每个文件一个连接; 首部使用特制的HPACK协议(而非SPDY中使用的gzip)压缩; HTTP/2设计了复杂的优先级排定规则,帮助浏览器首先请求最急需的文件,而NGINX已经支持(SPDY的方案要简单一些)。 性能表现参照:HTTPS、SPDY和HTTP/2的性能比较 Tengine 开启...

服务器
全文约 305 字, 预计阅读时间为 2 分钟

快速将 NS_ENUM 转换成 NSString

在项目中经常会用到 NS_ENUM 来保存枚举数据,但是做网络请求时候可能又需要相应的字符串来作为参数,一开始使用一个方法,把枚举传入后进行 switch case,但是实现起来不优雅又容易出错,这里分享一个简单的方法,希望对你有帮助。 假设枚举类型 TestType 定义如下: typedef NS_ENUM(NSInteger, TestType) { TestTypeA = 0,...

iOS
全文约 219 字, 预计阅读时间为 1 分钟