在学习和调试程序时,总会遇到各种Bug,通过查询资料,能解决绝大多部分的问题。但时间一长,再遇到同样的问题,又得花大量时间重新查询,这篇博客的目的是把遇到过的常见BUG和解决方案进行汇总,方便下次查询。
1.Unbalanced calls to begin/end appearance transitions for
原因就是上次动画还没结束,然后又开始了新的动画。 这样就导致不能成功切换页面。(我出现这个bug的原因是在viewDidLoad和ViewWillAppear等方法中忘记写[super ViewDidLoad]和[super ViewWillAppear]了);解决方法是
解决方法1:去掉动画
解决方法2:监听当前view的动画是否完成
解决方法就是,加一个BOOL型的变量,检查是否在做动画。
if (transiting) {
return;
}
transiting = YES;
[self transitionFromViewController:_currentVC toViewController:newVC duration:0.5 options:UIViewAnimationOptionTransitionCrossDissolve animations:^{
} completion:^(BOOL finished) {
transiting = NO;
}];
2、Application Transport Security has blocked a cleartext HTTP (http://) resource load since it is insecure. Temporary exceptions can be configured via your app’s Info.plist file.
iOS9引入了新特性App Transport Security (ATS)。
新特性要求App内访问的网络必须使用HTTPS协议。
但是现在很多项目使用的是HTTP协议,现在也不能马上改成HTTPS协议传输。
那么如何设置才能在iOS9中使用Http请求呢?
解决办法:
Xcode7
在Info.plist中add Row添加NSAppTransportSecurity类型Dictionary。
在NSAppTransportSecurity下添加NSAllowsArbitraryLoads类型Boolean,值设为YES
*Xcode7.1
在Xcode7.1中苹果更改了这项设定的名称
在App Transport Security Settings下添加Allows Arbitrary Loads类型Boolean,值设为YES