iOS开发问题记录

  1. pod install时的报错
CocoaPods could not find compatible versions for pod "SkeletonView"

报错截图.png

报错原因:SkeletonView最低支持的iOS版本是9.0,而CocoaPods最低支持的版本比9.0低。
解决办法:cocopods支持的最低版本改为第三方库最低支持的版本

platform :ios, '8.0' ->  platform :ios, '9.0'
  1. xcode报错
dyld: Library not loaded: /System/Library/Frameworks/UserNotificationsUI.framework/UserNotificationsUI

报错原因:UserNotificationsUI在iOS10以上的系统才能使用,在运行低版本系统的手机时会因为找不到该framework而crash。
解决办法:在xcode 中target -> Build Phases -> Link Binary With Libraries -> UserNotifications.framework 中status Required改为Optional
然后重新运行。搞定!

  1. 视图中的UIControlEventTouchDown事件响应延迟
  • 在iOS7之后系统添加了返回手势,手势的delaysTouchesBegan属性为YES。当按钮处在某些特定位置时触摸事件会先被这些系统的手势拦截,系统不响应才会继续分发,而按钮的UIControlEventTouchDown事件是需要立即响应的,所以会导致事件类型为UIControlEventTouchDown的响应有延迟.
    解决办法:
 - (void)viewDidAppear:(BOOL)animated {
          [super viewDidAppear:animated];
         //系统的返回手势不在Window的手势内所以要额外添加
          self.navigationController.interactivePopGestureRecognizer.delaysTouchesBegan=NO;
          for (UIGestureRecognizer *gesture in self.view.window.gestureRecognizers) {
          gesture.delaysTouchesBegan = NO;
          }
     }
  • 当按钮放在UIScrollVIew或者UITableView时,按下按钮系统会先判断是不是滑动事件,也会造成延迟响应。
    解决办法:
    将UIScrollVIew的delaysContentTouches、 canCancelContentTouches 两个属性都设置为NO;
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容