JJMM / SafeKit

An open source SafeKit for iOS . Never never crash.
Other
359 stars 120 forks source link

非常不错,如果可以结合Method Swizzling的话,那就更好了 #1

Open xhzengAIB opened 10 years ago

xhzengAIB commented 10 years ago

@JJMM Method Swizzling 看着: http://www.cocoachina.com/applenews/devnews/2014/0225/7880.html Jack

JJMM commented 10 years ago

灰常灰常感谢 把GCD同步加进去了。 在“NSObject+swizzle.m”文件中使用method_exchangeImplementations实现的,和Method Swizzling基本思路是一致的

xhzengAIB commented 10 years ago

@JJMM 确实是如此,因为我个人觉得需要多重crash处理,比如,数组越界、delegate没有实现、KVO键不存在、对NSMutableDictionary setObject为nil的时候等等... 如果你列一个清单出来,然后逐个完善,挺多人需要的。

Jack

xhzengAIB commented 10 years ago

@JJMM 谢谢你的输出,但是没有注释哦!看起来比较麻烦。

xhzengAIB commented 10 years ago

@JJMM 你好!请问怎么获取到错误信息,然后记录到文件下,行吗?

Jack

xhzengAIB commented 10 years ago

@JJMM 你好为什么用在tableBarController会出现崩溃呢?

JJMM commented 10 years ago

可以的,复杂自己实现SafeKitPrinter就可以了,参照SafeKitConsolePrinter

JJMM commented 10 years ago

tableBarController?是UITabBarController吗? 我验证一下 你也可以用最新的版本试一下

lhjwoai commented 10 years ago

我用了你的这个,在调用系统的获取相册时候会出问题。

JJMM commented 10 years ago

@xhzengAIB 已经修改了,是由于NSObject+SafeKit里的复习里performSelector方法,performSelector方法在ARC环境下,如果返回值是int、char、bool等基础类型时,返回值会变成野指针,如果用源码需要把NSObject+SafeKit标记为-fno-objc-arc,或者直接用静态库

JJMM commented 10 years ago

@lhjwoai 应该和上面是一个问题,重新测试一下相册,现在应该没问题了

lhjwoai commented 10 years ago

你好,知道这是什么原因吗,项目加入了DurexKit就进不去了,卡在Default那个页面。

------------------ 原始邮件 ------------------ 发件人: "zhangyu";notifications@github.com; 发送时间: 2014年4月9日(星期三) 下午5:04 收件人: "JJMM/DurexKit"DurexKit@noreply.github.com; 抄送: "lhjwoai"app.png@gmail.com; 主题: Re: [DurexKit] 非常不错,如果可以结合Method Swizzling的话,那就更好了 (#1)

@lhjwoai 应该和上面是一个问题,重新测试一下相册,现在应该没问题了

— Reply to this email directly or view it on GitHub.

JJMM commented 10 years ago

@lhjwoai 是用等最新版吗,最新版需要如果用源码需要把NSObject+SafeKit标记为-fno-objc-arc,或者直接用静态库不需要特殊设置 具体问题可能需要调试了

xhzengAIB commented 10 years ago

@JJMM 可以适配一下吗?如果arc和非arc用标记的话会很郁闷的,如果是打包静态库的话,那有紧急的情况就修改不了源码,这可不是良策啊? 希望你能给与帮助。

Jack