前言:工作中可能会遇到各种各样的问题,有时解决完了再次遇到时,如果没有做笔记且相隔时间较长时,会容易忘记。故在此记录工作中遇到的一些比较不常见的问题,将持续更新...
1、Xcode运行报错: App installation failed This application’s application-identifier entitlement does not match that of the installed application. These values must match for an upgrade to be allowed.
如下图:
原因分析
application-identifier
冲突。(我出现该问题情况是由于APP转让之后使用新开发者账号真机测试,真机上还装有原账号安装的包)
解决方法
将手机上的相应软件删除卸载就OK了。
2、Xcode打包上传iTunes完成后报警告:
WARNING ITMS-90076: "Potential Loss of Keychain Access. The previous version of software has an application-identifier value of ['BAGPUY4P4E.com.zxww.folk'] and the new version of software being submitted has an application-identifier of ['SH2X52JLPW.com.zxww.folk']. This will result in a loss of keychain access."
原因分析
该APP是从一个开发者账号转让到新的开发者账号,使用新开发者账号上传时报的警告。该警告意思是会影响到keychain里存的信息。
解决方法
如果keychain里边的信息无所谓的话,该警告可以无视,不影响上传及审核,下次上传不会再提示。
如果keychain里边的信息有用的话,解决办法是:百度一下。
3、UIButton
的UIControlEventTouchDown
点击延迟原因及解决
(1)button添加到UIScrollView
上
解决:设置UIScrollView
的delaysContentTouches
和canCancelContentTouches
为No
(2)与导航栏右滑返回手势冲突
解决:设置
self.navigationController.interactivePopGestureRecognizer.delaysTouchesBegan = NO;
(3)项目中含有UIButton
的分类中实现了防止重复点击的相关内容
解决:在需要用到UIControlEventTouchDown
的类中重写防止重复点击的相关方法,去除防止重复点击相关代码
(4)与window手势冲突
解决:在button所在UIViewController
中重写viewDidAppear
如下
- (void)viewDidAppear:(BOOL)animated {
[super viewDidAppear:animated];
for (UIGestureRecognizer * gesture in self.view.window.gestureRecognizers) {
gesture.delaysTouchesBegan = NO;
}
}
4、UIView
的- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
不响应
原因分析
该UIView
的父视图添加的有UITapGestureRecognizer
手势
解决方法
父视图中的UITapGestureRecognizer
手势设置代理并实现如下代理方法
- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch {
if ([touch.view isKindOfClass:[CustomView class]]) {
return NO;
}
return YES;
}
CustomView
为自定制的需要获取- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
事件的view。
网友评论