自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

TungKamLau

beginning

  • 博客(25)
  • 收藏
  • 关注

原创 iOS持续集成-使用Xcode搭建自动打包平台初步尝试

起因:有一天下午PM突然找我说,之前公司有一个自动打包平台现在怎么不好使了?然后我一回想,原来是那台电脑被收回去了。好吧,产品现在需要打包平台,那我只能搭建一个了。。。————————华而不实的分割线————————由于之前没搭建过,所以在网上搜了半天,找到的大多都是OS X server或者是macos server之类的文章,显然最新的macos server已经没有了相关的功能(具体

2018-01-05 15:21:18 1124 1

原创 iOS获取NTP时间

/** 获取网络时间 @return 返回网络时间 */- (NSDate *)getInternetDate{ NSString *urlString = @"http://www.baidu.com/"; urlString = [urlString stringByAddingPercentEscapesUsingEncoding: NSUTF8StringEnc...

2019-12-31 18:48:44 713 4

原创 关于MachOView闪退的解决方法

点击进入简书阅读由于针对framework瘦身一直在日程中,但由于其他需求插入进来优先级P0-0,所以一直没做瘦身,最近闲暇有时间做瘦身,所以通过网站搜索到关于mac-O文件的分析,查看,会使用到MachOView,通过githubhttps://github.com/gdbinit/MachOView或官网https://sourceforge.net/projects/machoview/下...

2019-08-09 11:39:00 1235 10

原创 利用KVC修改UITextField的clearButton背景色

起因是公司的app有横屏和竖屏之分,clearbutton默认的背景色有可能是clearcolor(具体情况没做调研),这样就导致在竖屏的时候颜色没问题,可以显示出来,在横屏的时候就看不到了。所以需要对横竖屏做不同的颜色处理。就需要修改clearButton的背景色。不多说,直接上代码 UIButton *ClearButton = [UITextField valueForKey:@

2018-01-23 09:31:04 2992

转载 iOS开发最简单的符号化.crash

这种方法可能是最容易的方法了。 要使用Xcode符号化 crash log,你需要下面所列的3个文件: 1. crash报告(.crash文件) 2. 符号文件 (.dsymb文件) 3. 应用程序文件 (appName.app文件,把IPA文件后缀改为zip,然后解压,Payload目录下的appName.app文件), 这里的appName是你的应用程序的名称。 把这3个文件放到同一

2017-04-24 15:15:17 612

原创 iOS-隐藏系统状态栏-statusbar

最近正在忙于做项目,很长时间没更新blog了,其实主要还是自己做记录吧。好了,废话不多说,开始说正题。由于项目中的需求是竖屏状态下,要求显示状态栏,横屏状态下为了整体UI与没关要求隐藏状态栏。代码如下:-(BOOL)prefersStatusBarHidden{ UIApplication* application = [UIApplication sharedApplication]

2016-10-20 15:04:41 1027

转载 转载-git branch用法

转自gitbranch用法总结-浮于表面,而不得其精髓!由于之前branch命名不合规,需要重新push和新建branch,手动很麻烦,最终找到了此篇文章,用于记录。总体来说,用Mac终端进入git本体工程所在目录,然后 git branch 查看本地工程中包含的分支,当前分支会以“*”号做标识,删除的命令为 git branch -d/-D branchname 就可以删除了。 以

2016-08-04 15:38:46 407

原创 iOS通过http post 文件流上传文件(头像)代码实现

由于服务器要求以文件流上传头像至服务器,之前使用的是ASIFormDataRequest,只需简单设置,就可以实现上传[request setFile:imageDirectory forKey:@"xxxx"];但是由于公司要求不得使用第三方库。所以只能自己写,找了好多地方终于找到一篇文章 http://thierry-xing.iteye.com/blog/2069032通过简单的更改就可

2016-07-26 10:29:02 4983 3

原创 业务相关-POI

POI信息点 POI是“Point of Interest”的缩写,中文可以翻译为“兴趣点”。在地理信息系统中,一个POI可以是一栋房子、一个商铺、一个邮筒、一个公交站等。每个POI包含四方面信息,名称、类别、经度、纬度,全面的POI讯息是丰富导航地图的必备资讯,及时的POI兴趣点能提醒用户路况的分支及周边建筑的详尽信息,也能方便导航中查到你所需要的各个地方,选择最为便捷和通畅的道路来进行路径规

2016-06-16 10:55:39 868

原创 git ssh key

首先需要检查本机是否已经有ssh key的存在,输入以下命令:cat ~/.ssh/id_rsa.pub如果显示 ssh-rsa …….证明已经存在,直接copy使用就OK了。如果没有显示证明你还没生成,直接输入以下命令:ssh-keygen -t rsa -C "[email protected]"一路enter,然后再输入以下命令查看:cat ~/.ssh/id_rsa.pubcopy 使用即可

2016-06-14 09:45:05 269

原创 Class Cache 是什么?

当 Objective-C runtime 沿着一个对象的 isa 指针检查时,它会发现一个对象实现了许多的方法。然而你可能只调用其中一小部分的方法,也没有意义每次检查时搜索这个类的分发表(dispatch table)中的所有 selector。所以这个类实现了一个缓存,当你搜索一个类的分发表,并找到合适的 selector 后,就会把它放进缓存中。所以当 objc_msgSend() 在一个类中

2016-05-27 10:31:38 801

原创 Objective-C Runtime

Objective-C Runtime 是什么?Objective-C 的 Runtime 是一个运行时库(Runtime Library),它是一个主要使用 C 和汇编写的库,为 C 添加了面相对象的能力并创造了 Objective-C。这就是说它在类信息(Class information) 中被加载,完成所有的方法分发,方法转发,等等。Objective-C runtime 创建了所有需要的结

2016-05-26 17:03:55 356

原创 RunLoop 的实际应用举例-AFNetworking

AFURLConnectionOperation 这个类是基于 NSURLConnection 构建的,其希望能在后台线程接收 Delegate 回调。为此 AFNetworking 单独创建了一个线程,并在这个线程中启动了一个 RunLoop:+ (void)networkRequestThreadEntryPoint:(id)__unused object { @autoreleasep

2016-05-26 15:02:16 2657 1

原创 关于网络请求

iOS 中,关于网络请求的接口自下至上有如下几层:CFSocketCFNetwork ->ASIHttpRequestNSURLConnection ->AFNetworkingNSURLSession ->AFNetworking2, AlamofireCFSocket 是最底层的接口,只负责 socket 通信。 CFNetwork 是基于 CFSocket 等接口的上

2016-05-26 14:57:37 611

原创 RunLoop-界面更新

当在操作 UI 时,比如改变了 Frame、更新了 UIView/CALayer 的层次时,或者手动调用了 UIView/CALayer 的 setNeedsLayout/setNeedsDisplay方法后,这个 UIView/CALayer 就被标记为待处理,并被提交到一个全局的容器去。苹果注册了一个 Observer 监听 BeforeWaiting(即将进入休眠) 和 Exit (即将退出L

2016-05-26 11:30:05 964

原创 RunLoop-AutoreleasePool

AutoreleasePoolApp启动后,苹果在主线程 RunLoop 里注册了两个 Observer,其回调都是 _wrapRunLoopWithAutoreleasePoolHandler()。第一个 Observer 监视的事件是 Entry(即将进入Loop),其回调内会调用 _objc_autoreleasePoolPush() 创建自动释放池。其 order 是-2147483647,

2016-05-26 10:42:15 368

原创 Darwin 核心架构

其中,在硬件层上面的三个组成部分:Mach、BSD、IOKit (还包括一些上面没标注的内容),共同组成了 XNU 内核。XNU 内核的内环被称作 Mach,其作为一个微内核,仅提供了诸如处理器调度、IPC (进程间通信)等非常少量的基础服务。BSD 层可以看作围绕 Mach 层的一个外环,其提供了诸如进程管理、文件系统和网络等功能。IOKit 层是为设备驱动提供了一个面向对象(C++)的一个框架。

2016-05-25 17:14:19 2642

原创 RunLoop的事件队列

RunLoop的事件队列每次运行run loop,你线程的run loop对会自动处理之前未处理的消息,并通知相关的观察者。具体的顺序如下:通知观察者run loop已经启动通知观察者任何即将要开始的定时器通知观察者任何即将启动的非基于端口的源启动任何准备好的非基于端口的源如果基于端口的源准备好并处于等待状态,立即启动;并进入步骤9。通知观察者线程进入休眠将线程置于休眠直到任一下面的事

2016-05-25 10:33:24 557

原创 RunLoop

RunLoop从字面上看是运行循环的意思,这一点也不错,它确实就是一个循环的概念,或者准确的说是线程中的循环。 本文一开始就提到有些程序是一个圈,这个圈本质上就是这里的所谓的RunLoop,就是一个循环,只是这个循环里加入很多特性。

2016-05-23 17:14:40 325

原创 dispatch_queue_create---创建队列

dispatch_queue_create(const char *label, dispatch_queue_attr_t attr);可以看到创建队列的方法有两个参数可以传,默认的创建方式是这样的 dispatch_queue_t queue = dispatch_queue_create("TreeNewBee_queue", NULL);后面的参数传入”NULL”就可以了。或许大家

2016-05-20 17:41:47 9244

原创 iOS信号量-dispatch_semaphore

__block NSString *strD ; dispatch_async(dispatch_get_global_queue(0, 0), ^{ NSLog(@"循环/取值-1---%@",[NSThread currentThread]); for (int i = 0; i<10; i++) { strD = [NSStrin

2016-05-19 17:59:12 484

原创 GCD各种队列的执行效果

留图,备用!

2016-05-18 11:19:54 443

原创 JSON-OC 转换对照表

今天在做JSON解析的时候遇到了问题,写下来! JSON – OC 转换对照表 JSON OC 大括号 { } NSDictionary 中括号 [ ] NSArray 双引号 ” “ NSString 数字 10、10.8 NSNumber

2016-05-17 17:55:25 559

原创 Masonry-Unable to simultaneously satisfy constraints

在使用Masonry做对自定义TableviewCell自动布局的时候会出现Unable to simultaneously satisfy constraints. Probably at least one of the constraints in the following list is one you don't want. Try this: (1) look at each

2016-05-16 15:20:49 844

原创 刚刚开通,感受一下此地气氛

2013-08-23 13:56:18 369

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除