iOS
Tech.Zhu
优势:
擅长软件研发,有充分的研发实战经验,参与过多个项目,不仅锻炼了软件研发能力,同时也提高了团队协作意识与自我奉献精神。业务上善于钻研,孜孜不倦的学习新业务新知识。
工作中善于总结经验与教训,不懂之处虚心请教前辈,并及时记录以备复习。
生活中积极参与公司活动,参与公司组织的足球、篮球等活动,与同事们相处融洽。
劣势:
工作中戒骄戒躁,更加要以平常心对待工作压力。
展开
-
【App Store】错误日志符号化
被APP Store拒绝后,如果是由于APP本身的原因导致崩溃,如何才能从繁杂的错误日志中找出真正原因,本文给你快速解答?原创 2015-10-06 23:36:21 · 1906 阅读 · 0 评论 -
阿里前端开发工具Weex安装学习
移动互联网的开发方式,最开始的手机厂商定制版的封闭系统开发。到后来智能机出现之后,Android和iOS异军突起,形成了两大独立的阵营。这时由于智能机的普及速度很快,并没有那么多对应系统的开发人员,导致很多公司的App仅仅是一个WebView,内部实现方式还是网页的方式,这种模式的App最大的缺陷就是交互体验比较差。到后来随着移动开发越来越热,有很多开发人员涌入其中。于是各个公司都有了充足的人手来原创 2016-06-26 00:24:05 · 6573 阅读 · 0 评论 -
【开发工具】iOS真机调试抓包工具Charles安装及使用
支持原创,更多内容请关注:http://www.china10s.com/blog/?p=271iOS开发过程中,经常需要用真机来测试和后台的网络数据传输,需要一个趁手的抓包工具。在Windows下用的fidder很好用,但是由于它是在.Net框架之下的,所以在Mac下需要有一个替代品,就是Charles。安装文件下载地址:http://pan.baidu.com/s/原创 2016-05-23 20:53:43 · 8972 阅读 · 1 评论 -
自定义Xcode插件实现
支持原创,更多内容欢迎关注作者博客: http://www.china10s.com/blog/?p=330在使用xcode的过程中,我们经常会遇到重复繁杂的操作。而作为程序员,我们要实现的就是用程序去替代人类的双手,让人能提高效率,产生更大价值。于是我想到了Xcode的插件,在网上google了一番之后,发现虽然繁杂,但是鲜有能够完全满足个人需求的插件,那既然原创 2016-06-28 00:21:47 · 578 阅读 · 0 评论 -
生成 iOS 动态库与静态库方法
支持原创,更多内容欢迎访问博客:http://www.china10s.com/blog/?p=342在程序开发过程中,免不了需要对程序进行封装:比如给第三方使用者来调用的SDK,或者给其他开发人员来使用,同时他们又无需或者无权了解其中细节的时候,就需要用到动态库封装。一、创建FrameWork工程新建工程,选择创建FrameWork工程或者静态库(St原创 2016-07-01 15:17:28 · 2661 阅读 · 0 评论 -
【Xcode】Shell脚本自动打包ipa加企业版签名
支持原创,更多内容请访问博客:http://www.china10s.com/blog/?p=367提交给测试同时 ipa 的时候,打包的过程都是重复性的工作,而且人工操作容易造成错误,提交测试之后才能发现,导致返工。如果公司有 Mac 服务器的话,可以搭建 Jenkins 持续集成环境,如果没有条件,也可以自行写脚本一键打包。下面是我写的脚本,改改就可以用了## bu原创 2016-07-16 10:26:14 · 4366 阅读 · 0 评论 -
【Xcode】创建自定义文件模板
支持原创,更多内容欢迎访问博客:http://www.china10s.com/blog/?p=356是什么:代码模板一般 IDE 都会有提供,其类型包括工程的模板、代码的模板、界面的模板等。这也是我们日常编写代码常用的一种方式。为什么:使用模板的主要原因有:1、可以省去很多编写重复代码的时间。2、可以让小组成员公用一套代码,这样就能够做到代码的一致原创 2016-07-07 16:40:29 · 1651 阅读 · 1 评论 -
【Carthage】依赖工程管理工具
支持原创,更多内容欢迎关注作者博客:http://www.china10s.com/blog/?p=363是什么:Carthage 功能主要是处理各个项目之间的依赖关系,如果没有 Carthage,要管理自己项目所依赖的其他项目,需要组织好一堆依赖库,并且编译最新的或者满足要求的依赖库,如果有更新也需要手动去获取和组织。在程序员看来,这个过程就太过复杂了。我们需要一个工原创 2016-07-08 10:17:46 · 718 阅读 · 0 评论 -
【开发工具】SVN断网续传、续下解决办法
支持原创,欢迎关注原文地址:http://www.china10s.com/blog/?p=406当你处在弱网环境下,经常断网、断线,这时候下载SVN代码是个难题,网上搜到的答案也是众说纷纭,那么我就说一下我的解决办法吧:在你确认断网导致SVN停止下载之后,直接强行关闭下载中的程序。然后再次打开它,将你下载到一半的工程直接添加到SVN工具如Cornerstone原创 2017-01-06 10:29:28 · 8357 阅读 · 3 评论 -
【开发工具】Reveal 查看任意 App UI 结构
作为前端开发,在工作过程中打交道最多的就是UI界面了。看似简单的界面,其实是最重要的用户体验组成部分,而这也是最能体现作为一个前端程序员的功力所在了。有时候,接到一个任务,在开发过程中,没有头绪,不知道如何实现这个功能,但是,想到了其他App上的类似功能,想要拿来借用,又不知道如何实现,这时,就可以利用Reveal来查看其他App上的UI布局等信息,为自己的开发提供思路。原创 2017-02-17 12:15:33 · 883 阅读 · 0 评论 -
【ReactiveX】Observable 对象(译)
更多内容,欢迎关注作者博客:http://www.china10s.com/blog/?p=475Observable 对象在 ReactiveX 中,一个观察者向 Observable 对象订阅消息。然后这个观察者将会响应 Observable 发射的消息任何对象或者对象队列。这个模式有利于并发操作,因为他不需要在等待 Observable 发射消息时候阻塞线程。而不是创翻译 2017-03-02 15:26:17 · 2197 阅读 · 0 评论 -
【ReactiveX】介绍(译)
更多内容,欢迎关注作者博客:http://www.china10s.com/blog/?p=465ReactiveX 是通过使用 Observable 序列用来合成异步的和事件响应式的程序上的库文件。它扩展了通知者模式来支持数据和/或事件的响应队列,并且增加让你能够显示的合并序列的操作,这些操作和一些抽象概念有关,例如:低级别线程、同步、线程安全、并发数据结构,非阻塞I翻译 2017-03-02 15:21:35 · 992 阅读 · 0 评论 -
【ReactiveX】RxSwift 集成与应用
更多内容,欢迎关注作者博客:http://www.china10s.com/blog/?p=441集成 RxSwift 地址:https://github.com/ReactiveX/RxSwift/ 1、下载 RxSwift 到本地将 RxSwift 工程下载到本地,将其中根目录下的如下文件单独拷贝到一个文件夹下 RxSwift|原创 2017-03-02 15:17:22 · 862 阅读 · 0 评论 -
【框架】iOS框架研究
学习iOS开发已有数年时间,基本的各种库操作都能够熟练完成,但是对于iOS的整体框架还需要重新学习一边。每天的工作其实都离不开这套框架,它上至用户所见之界面,下至底层操作系统,就相当于一个工具箱,不论你的App多么复杂或者多么简单,都离不开这套工具,所有功能都是建立在这套工具之上的。今天研究了这套框架,发现其中有很多有意思的地方。 iOS整体框架主要由四层组成:原创 2016-06-01 14:46:03 · 644 阅读 · 2 评论 -
【框架】App运行过程解析
编写程序,最终要的就是,要知道程序从何处开始,从何处结束,中间过程的状态转换又是如何进行的。只有知道这些,才能在出现问题时候立马能发现问题的根本,迅速找出问题所在。iOS程序启动,和其他基于C的程序一样,都有一个main方法,现在我们就来看看。App启动过程:int main(int argc, char * argv[]) { @autoreleasep原创 2016-06-01 18:53:15 · 942 阅读 · 0 评论 -
利用Runtime实现对Json数据的ORM框架
//// PBFORMTools.m// PBFBaseToolsDemo//// Created by BY-MAC01 on 16/5/12.// Copyright © 2016年 BY-MAC01. All rights reserved.//#import "PBFORMTools.h"#import @implementation PBFORMTools原创 2016-05-12 20:52:22 · 832 阅读 · 0 评论 -
iOS系统后台运行机制研究
众所周知,iOS操作系统上的App,不仅仅是外形美,同时其也是以流畅著称,可以说是极端的流畅。在流畅的外表下,是操作系统对于程序的调度、前后台的切换、内存的管理都达到了极致。在日常的iOS开发中,不免会遇到需要App在被切到后台之后,仍然需要运行一个进程完成某些特殊的操作,一般后台运行进程作用有以下几类:后台更新数据、同步刷新UI与服务端通信,发送心跳,如“XMPP”类App获取用原创 2015-10-10 21:26:34 · 2605 阅读 · 0 评论 -
App store 2015最新审核标准公布
苹果近日更新了AppStore审核指南的相关章节,对此前版本进行了修改和完善。除了增加应用截图、预览等限制外,使用ApplePay进行定期付款的应用程序必须展示每个阶段所需款额,费用归属以及如何取消。而从修改的政策部分可以看出,苹果对Appstore应用的审核更加严格,鉴于近来国内游戏踩雷屡见不鲜,审核标准请各位业内同学耐心阅读。翻译 2015-10-10 18:52:36 · 1003 阅读 · 0 评论 -
UITextField的扩展逻辑
在iOS开发过程中,UITextField肯定是各个开发者最常接触到的控件之一,而UIKit库对于UITextfield的封装也似乎满足不了需求人员和产品经理的要求,在被虐过数次之后,我终于下定决心要重写对于UITextField的封装和工具类原创 2016-01-06 20:44:53 · 854 阅读 · 0 评论 -
利用"animateWithDuration"实现带弹簧动画的顶部通知栏
看到其他App上有带弹簧动画的顶部通知栏,于是研究了实现方法,封装了一下实现了效果,代码如下:PBFSpringEffectAlertView.h//// PBFSpringEffectAlertView.h// BoyingCaptial//// Created by BY-MAC01 on 16/1/6.// Copyright © 2016年 BY-MAC0原创 2016-01-06 22:54:24 · 654 阅读 · 0 评论 -
使用ReactiveCocoa实现iOS平台响应式编程
使用ReactiveCocoa实现iOS平台响应式编程ReactiveCocoa和响应式编程在说ReactiveCocoa之前,先要介绍一下FRP(Functional Reactive Programming,响应式编程),在维基百科中有这样一个例子介绍:在命令式编程环境中,a = b + c 表示将表达式的结果赋给a,而之后改变b或c的值不会影响a。但在响应式编程中转载 2016-04-13 02:05:51 · 570 阅读 · 0 评论 -
花瓣网李忠:ReactiveCocoa是Cocoa的未来
ReactiveCocoa(其简称为RAC)是由Github工程师们开发的一个应用于iOS和OS X开发的函数响应式编程新框架。ReactiveCocoa为开发者带来了函数式编程和响应式编程的思想,被Mattt Thompson称为开启一个新Objective-C纪元。InfoQ此次专访了花瓣网移动开发主管李忠。InfoQ:使用ReactiveCocoa与直接使用 Cocoa框架相比,转载 2016-04-13 02:08:04 · 515 阅读 · 0 评论 -
搭建基于"Jenkins"的iOS持续集成环境
1、安装Mac环境下的yun:Homebrewruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"2、安装jenkinsbrew install jenkins3、启动安装jenkins4、安装xcod原创 2016-01-06 22:28:01 · 770 阅读 · 0 评论 -
用Model-View-ViewModel构建iOS App
如果你已经开发一段时间的iOS应用,你一定听说过Model-View-Controller,即MVC。MVC是构建iOS App的标准模式。然而,最近我已经越来越厌倦MVC的一些缺点。在本文,我将重温一下MVC是什么,详述它的缺点,并且告诉你一个新的方式来架构你的App:Model-View-ViewModel。拿出你的流行语bingo card(宾果卡,一种游戏卡片-译者注),因为我们即将进行一翻译 2016-04-14 01:20:38 · 725 阅读 · 0 评论 -
【持续集成】Github +Travis CI实现iOS代码云端持续集成
关于持续集成,如果是本地自己搭建服务器的话,Jenkins无疑是最佳选择。但是现在是云的时代,任何东西都必须放在云上才放心。现在有专门针对Github托管代码的持续集成服务器Travis CI,可以做到和Github无缝对接。它有两个版本https://travis-ci.org:用来构建Github上的公有项目。https://travis-ci.com :用来构建Githu原创 2016-04-15 02:43:34 · 1416 阅读 · 0 评论 -
Objective-C代码行数统计
#import //统计代码行数函数(运用递归) /* url :文件的全路径,可能是文件可能是文件夹 返回值 NSUInteger :代码行数 */ NSUInteger codeLineCount(NSString *url){ //1、设置文件管理者对象,判断文件是否存在 NSFileManager *manager = [NSFi转载 2016-05-10 14:18:41 · 518 阅读 · 0 评论 -
在MAC下基于Openfire和Spark的XMPP协议实现
XMPP是一种基于标准通用标记语言的子集XML的协议,它继承了在XML环境中灵活的发展性。因此,基于XMPP的应用具有超强的可扩展性。经过扩展以后的XMPP可以通过发送扩展的信息来处理用户的需求,以及在XMPP的顶端建立如内容发布系统和基于地址的服务等应用程序。而且,XMPP包含了针对服务器端的软件协议,使之能与另一个进行通话,这使得开发者更容易建立客户应用程序或给一个配好系统添加功能。原创 2016-04-09 23:54:52 · 2909 阅读 · 0 评论 -
ReactiveCocoa 和 MVVM 入门
翻译自ReactiveCocoa and MVVM, an Introduction. 文中引用的 Gist 可能无法显示。为了和谐社会, 请科学上网。MVC任何一个正经开发过一阵子软件的人都熟悉MVC,它意思是Model View Controller, 是一个在复杂应用设计中组织代码的公认模式. 它也被证实在 iOS 开发中有着第二种含义: Massive View Contr翻译 2016-04-13 02:09:25 · 2747 阅读 · 0 评论 -
【机器学习】TensorFlow 在 iOS 端的用例
支持原创,更多内容欢迎关注作者博客: http://www.china10s.com/blog/?p=490机器学习这种计算方式,于上世纪就已经被世人所知,但是受限制于计算机的计算能力和网络速度等原因,没有得到发展。在摩尔效应下,现在的计算机性能大幅提升,即便是手上的iPhone,都会比当时美国登月所使用的机器要强。于是,在这个背景下,机器学习开始飞速发展,各大公司都已经在这方面投入资源,希望能够原创 2017-05-19 10:19:48 · 4672 阅读 · 2 评论