最近开发,碰到的问题,用户用的不是iOS自带的系统输入法而是类似搜狗输入法这种三方输入法时,当点击应用内任意输入框时,应用会直接crash掉;具体报错信息如下:
Assertion failure in -[UICGColor encodeWithCoder:]
之前是集成了友盟的崩溃信息统计的相关SDK,所以友盟也给出了相关错误原因的打印,如红圈中所示;大致意思是说"这种情形下只能支持三原色和白色空间形式";
到这里还是没有找出问题的根本原因所在,于是就开始像往常一样Google搜索一下,结果还真有相关的问题解决方案;
说是因为在工程的AppDelegate.m中使用了如下图所示的相关代码:
于是乎,将AppDelegate.m中的此段代码注释掉,然后在basecode的父控制器中进行导航栏的相关样式定制,结果就可以完美使用.
鉴于iOS系统一般都是系统键盘用的多,可能你会忽视三方键盘这类问题,但是由于苹果公司在系统键盘设计时对中国用户的输入习惯关心的极少,所以系统键盘有时可能无法满足许多用户的需求,因此,类似qq,百度,搜狗的输入法应用的出现迎合了用户的定制输入需求,并且覆盖面也越来越广,所以在iOS开发中对三方输入法的考虑是非常必要的.
要知道之前iOS对这类三方输入法是拒绝的,鉴于其"安全"(封闭)的系统设计,三方输入法也是由于用户的需求才得以出现在iOS的应用中,因此可见被需求是多么重要的事情.由此引入到人生中,也可警示我们,不要整天对世界充满抱怨情绪,抱怨自己活得不如狗,不如鸡;抱怨自己人微言轻;抱怨命运不公;抱怨自己没有女朋友......
正值青春年华,我们的生活里不应该充斥着上述的这些抱怨,而是不断地努力让自己成为一个被需要的人,被公司需要,得到想要的金钱满足;被社会需要,得到想要的地位满足;被女朋友需要,得到想要的爱情......
好了,话不多说,干了这碗鸡汤,继续撸代码了.
文章参考:http://my.oschina.net/debug510/blog/344837