在使用CocoaPod的Xcode工程中断点没有调试信息的问题跟进

通常客户端产品至少都会有Debug和Release两种编译配置,在编译Release版本中会进行一些优化,以减少最终产品的体积。 比如,在Release版本中会对代码执行步骤进行优化(如O1、O2等),这会导致有些代码被优化省略掉,有时无法单步调试;另外就是会去掉符号信息,这会导致断点调试时没有符号信息,所以才会有CallStack的捕获和解析内容。由于千牛iOS端会有不同版本,分别面向内部开发者...
阅读(1782) 评论(0)

再踩Python的Shallow Copy

最近人工智能很火,Python也不可避免地跟着再火一把。 有天在微博上刚好看到这么一段话:@寒冬winter:我来谈两个新标准:写出一个动态规划(最大子段和)再谈算法,写出模拟退火、遗传和神经网三大算法之一的小demo再谈AI。这不过分吧?由于我自己也是比较注重基础的,所以挺赞同这句话的。虽然现在算法工程师经常自嘲为“调参工程师”,但那也是人家自嘲,好比写工程代码的研发工程师,也可以自嘲为“搬砖工...
阅读(753) 评论(3)

Weex入门与进阶指南

原文地址:https://yq.aliyun.com/articles/57554前言相比较于React Native的“Learn once, write anywhere”,Weex的口号是“Write once, run everywhere”。考虑到React Native比较任性的向下兼容性,我们也引入了Weex做一番了解。本文主要分为以下几个部分: 构建Hello World程序; 集成...
阅读(68315) 评论(9)

记一次帮同事排查由命名引发的问题

今天同事在群里发了一个问题,问有没有人碰到类似如下的问题:-[UILabel stringByTrimmingCharactersInSet:]: unrecognized selector sent to instance 0x7ff08c865970一位同事第一反应是不是对象被释放了,出现了野指针?然而加上异常断点、开启Zombie诊断后,并没有带来有用的信息。我转身问是不是必现的?回答是的。...
阅读(3434) 评论(0)

从NSTimer的失效性谈起(二):关于GCD Timer和libdispatch

一、GCD Timer的创建和安放虽然GCD Timer并不依赖于NSRunLoop,但是有没有可能在某种情况下,GCD Timer也失效了?就好比一开始我们也不知道NSTimer对应着一个runloop的某种mode。先来看看GCD Timer的使用方法:dispatch_source_t timer = dispatch_source_create(DISPATCH_SOURCE_TYPE_TI...
阅读(3323) 评论(5)

从NSTimer的失效性谈起(一):关于NSTimer和NSRunLoop

一、NSTimer的失效性在iOS中要设置一个定时器的通常做法是调用如下API:+ (NSTimer *)scheduledTimerWithTimeInterval:(NSTimeInterval)ti invocation:(NSInvocation *)invocation repeats:(BOOL)yesOrNo;这个API会创建一个NSTimer对象,将其添加到当前runloop的def...
阅读(2287) 评论(0)

iOS中线程Call Stack的捕获和解析(二)

上接iOS中线程Call Stack的捕获和解析(一)。1. 部分参考资料做这一块时也是查阅了很多链接和书籍,包括但不限于: 《OS X ABI Mach-O File Format Reference》 《Mach-O Programming Topics》 《程序员的自我修养》——这本几年前读过的,又一次从书架上拿下来温习,主要是用来对比确认; 《The Mac Hacker’s Handboo...
阅读(4857) 评论(3)

iOS中线程Call Stack的捕获和解析(一)

这里对上个月做的一个技术项目做部分技术小结,这篇文章描述的功能和我们在使用Xcode进行调试时点击暂停的效果类似。一、获取任意一个线程的Call Stack如果要获取当前线程的调用栈,可以直接使用现有API:[NSThread callStackSymbols]。但是并没有相关API支持获取任意线程的调用栈,所以只能自己编码实现。1. 基础结构一个线程的调用栈是什么样的呢?我的理解是应该包含当前线程...
阅读(5757) 评论(1)

Auto Layout和UILabel

前段时间千牛iOS版本也从iOS 6.0开始支持,所以可以正式引入Auto Layout来进行界面布局。 这里记录下在UILabel上应用Auto Layout进行布局的过程。一、业务场景 用三个UILabel展示一件商品的基本信息:标题,价格,销量; 标题排在最上面,左右两边至少留出20的边距,可以换行; 价格排在标题下面,左边与标题对齐,顶部和标题留出10的边距; 销量排在价格右边,字体略小,...
阅读(5115) 评论(1)

在iOS中读取通讯录中联系人电话号码时需要注意的版本区别

今天遇到一个问题,发现同一个联系人的电话号码有时候读取得到,有时候读取不到。后来发现在iOS 8上是正常工作的,但是在iOS 7.1上获取到的值为空(也可能是iOS 8之前的所有版本,没有全部验证过)。123456789101112ABAddressBookRef abRef = ABAddressBookCreateWithOptions(NULL, NULL);CFArrayRef cfPer...
阅读(5045) 评论(0)

读《反欺骗的艺术》有感

上个月月底参加了CSDN的读书活动,选取了《反欺骗的艺术——世界传奇黑客的经历分享》一书。作者凯文米特尼克这个名称太吸引眼球了,而译者潘爱民老师同样是大名鼎鼎。阅读这本书的时候正值我厂IPO期间,刚好公司内部也在强调信息和数据安全的重要性,受这些因素的影响,我最近两个月也没有在外部博客上(主要是CSDN博客)写文章。接受完公司安全培训后,又阅读了该书,安全、防信息泄露的意识更加深刻了,当时脑子里面...
阅读(4299) 评论(1)

再谈multistage text input(中文输入法)下UITextView的内容长度限制

之前写过一篇《如何更好地限制一个UITextField的输入长度》,在文章最后得到的结论是可以直接使用UIKIT_EXTERN NSString *const UITextFieldTextDidChangeNotification;进行监听,截断超出maxLength的部分。所以后来我在处理UITextView的内容长度时,也直接参考这个方法:[[NSNotificationCenter def...
阅读(12221) 评论(6)

利用objc的runtime来定位次线程中unrecognized selector sent to instance的问题

昨天我们一个只有一行错误信息的问题:-[NSNull objectForKey:]: unrecognized selector sent to instance 0x537e068由于这个问题发生在次线程,所以没有太有用的堆栈信息,而是只有简单的SIGABRT信息:考虑到unrecognized selector sent to instance这类问题是由于向某个对象发送了未实现的消息,这个过...
阅读(7421) 评论(1)

Core Data浅谈系列之十 : 关于数据模型中实体的属性

之前写了《Core Data浅谈系列汇总》,今天稍微回顾了下,做些补充。在这个系列的第一篇《基础结构》中(2013年1月份的文章,时间过得好快啊!),有简单带过Entity的Attribute:数据类型、布尔值统一用NSNumber来表示;字符串类型用NSString表示;时间类型用NSDate表示;二进制数据类型用NSData表示;非标准类型用Transformable来表示;而Attribut...
阅读(7558) 评论(2)

随手记Swift基础和Optional Type(问号?和感叹号!)

距离Apple推出Swift已经有几天了,网上也时不时出现“急招Swift程序员,要求有一天工作经验”的帖子。看到Swift,除了苹果放的另外一门语言的链接(http://swift-lang.org/),还可能联想到Taylor Swift,或者铃木雨燕。这几天网上关于Swift的话题和材料应该迅速膨胀,比如StackOverflow的相关标签,还有知乎上的一些相关讨论。关于Swift的推出,我...
阅读(32185) 评论(2)
206条 共14页1 2 3 4 5 ... 下一页 尾页
    个人资料
    • 访问:1585348次
    • 积分:14685
    • 等级:
    • 排名:第787名
    • 原创:195篇
    • 转载:9篇
    • 译文:2篇
    • 评论:869条
    博客专栏
    文章分类
    最新评论