(1)“InterfaceBuilder文件中的UnknownclassXXViewController”。问题处理最近在静态库中写了一个XXViewController类,然后在主工程的xib中,把xib类指定为XXViewController,程序运行时报如下错误:UnknownclassXXViewControllerinInterfaceBuilderfile。之前也遇到过这个问题,但是记不太清了,于是开始在stackoverflow上找答案。其实这个问题与InterfaceBuilder无关。最直接的原因是没有从静态库中加载相关符号。解决这类问题的方法是在Target的“BuildSetting”->“OtherLinkFlags”中添加“-all_load-ObjC”这两个flag,就OK了。(2)HandlingofUnbalancedcallstobegin/endappearancetransitionsfor...我们的一项业务有这样的要求。进入列表后,我们需要立即推送另一个网页来推广一些活动。在iOS8上,我们的实现一切正常;但是在iOS7上,我们发现网页无法推送,同时控制台给出了警告信息,如下:Unbalancedcallstobegin/endappearancetransitionsfor...Inthis这种情况下,当点击导航栏中的后退按钮,直接黑屏。我们查了一下stackoverflow,有这样的提示:在当前viewcontroller显示完之前尝试显示一个新的viewcontroller时发生。这意味着在当前视图控制器完成显示之前尝试显示一个新的视图控制器。于是我们去查看代码,发现是在viewDidLoad中进行了一次网络请求操作,请求返回后,我们去推送web事件推广页面。这时候当前viewcontroller可能还没有显示completion(即push操作还没有完成)。基本上你试图最多同时将两个视图控制器推到堆栈的顶部。当几乎同时将两个视图控制器推送到当前导航控制器堆栈,或者同时弹出两个不同的视图控制器时,将出现不确定的结果。所以我们应该保证在同一个导航控制器堆栈上同时只有一个操作,即使当前视图控制器正在动画过程中,我们也不应该推送或弹出一个新的视图控制器。于是***我们把webactivity的数据请求放到viewDidAppear里面做了一些处理,这样问题就解决了
