xcode7升级后导致奔溃到jsonkit
来源:互联网 发布:node.js入门pdf 编辑:程序博客网 时间:2024/05/19 13:43
升级到xcode7之后,你会神奇的发现你的项目会奔溃到jsonkit里,报thread 1:exc_bad_access(codeexc_i386_gpflt)野指针错误
根据奔溃到jsonkit.m的这行代码void keyObjectISA = ((void **)keys[idx]);
分析得到应该是数据类型不同,从而导致keyObjectISA指针指向空,之后对比xcode6.4与xcode7之下的请求返回数据,如下图(左xcode6.4,右xcode7)
会发现xcode7之后会变成NSTaggedPointerString*,那么问题来了,NSTaggedPointerString是什么东西呢?
由于之前还没有接触过TaggedPointer,现在还在学习中,有想法的各位,可以回复
找到问题:经过俩天的研究,确实证实了之前的判断,导致升级了xcode7和os x10.10之后,程序会奔溃到jsonkit.m void keyObjectISA = ((void **)keys[idx]);这行代码,因为在os x10.10中,NSString采用了TaggedPointer这项技术,此类型不使用解应用isa来获取其所属类,而是通过接下来的三位来查找类表索引的类型,且对象指针最低位置为1。
【译】采用Tagged Pointer的字符串http://www.cocoachina.com/cms/wap.php?action=article&id=13449
解决问题:由于taggedpointer类型不能用isa了,就必须修改为object_getClass(keyObject) ,而且在line:2601处也需要做修改
这里附一个修改过的jsonkit,可以正常使用
http://download.csdn.net/detail/woainiliuwei007/9123789
----iOS研究院 qq群:305044955
- xcode7升级后导致奔溃到jsonkit
- ios9 jsonkit crash更新xcode7后原来的jsonkit崩溃
- xcode7升级后遇到问题
- Xcode升级到4.4后,Jsonkit中的警告
- JSONKit升级XCODE后报一堆警告解决办法
- 升级Xcode7+后遇到的问题
- 升级Xcode7后遇到的一些问题
- Xcode7 ios9 升级后出现的问题
- 升级Xcode7后Pod无法使用问题
- 升级Xcode7.1后的Plugin不见了
- Xcode7 升级后遇到的问题
- IOS9.0升级后以及xcode7后引起的问题
- JSONKit 解析后存在NSULL对象导致的Crash问题处理
- 升级Xcode7后所要更改的配置
- 升级xcode7 和 iOS9 后遇到的问题以及解决方案
- 升级Xcode7后所要更改的配置
- 升级Xcode7后所要更改的配置
- 升级iOS9和Xcode7后应用崩溃解决方案
- linux c 使用正则表达式
- Linux chattr和lsattr
- 硬币 coin题解
- Mjoke app的开发
- Linux永久关闭防火墙 vsftp 开机自启动
- xcode7升级后导致奔溃到jsonkit
- mybatis在xml文件中处理大于号小于号的方法
- MTK手机正常开机流程以及开机常见故障诊断
- update 多列
- Joomla写日志JLog
- TextView的跑马灯显示
- json
- 【Android】onActivityResult()和onResume()的调用顺序问题
- QQ5.0侧滑效果的实现