yznote

砥砺前行

Mac垃圾篓的文件无法删除

Mac垃圾篓的文件无法删除

解决清除垃圾篓的文件提示’XXX正在使用,无法删除’类似文本 苹果: macOS有一个超级用户root,此用户具有对整个操作系统的绝对访问权限。为了保护系统的重要文件不会被随意修改,csrutil默认是处于enable的状态,对一些重要文件保护起来,如果修改这些文件,就会被提示Operation not permitted. 如果关闭此功能,即置为disable状态后就可以对这些文件...

UIPickerView分割线

iOS14背景色变为块状

iOS14的分割线变成了块状样式 - (UIView *)pickerView:(UIPickerView *)pickerView viewForRow:(NSInteger)row forComponent:(NSInteger)component reusingView:(UIView *)view { //去除系统的分割线,添加自定义线条 for(UIView *spea...

iOS14手势点击

TableView相关

iOS14 手势不响应处理 问题 VC中是个tableView列表,tableViewCell中又添加了各种控件,有部分控件添加了点按、和长按手势,同时VC中也有点按手势, 在iOS14之前手势响应规规矩矩,更新iOS14之后cell中的个中手势都失去响应了. 解决 上述cell中控件失去响应是因为控件添加方法都是[self addSubView:a],改为[self.cont...

TableView长按与点击

TableView长按与点击

场景+需求 场景:评论视图包含主评论(mainTableView)和子评论(subTableView); 需求:长按主评论或者子评论进行内容复制,同时主、子评论的cell的点击事件不能被拦截 实现 主评论(mainTableView) UILongPressGestureRecognizer *longPress = [[UILongPressGestureRecognize...

手绘礼物

手绘礼物

手绘区域 RKPaintedGiftView.h // // RKPaintedGiftView.h // iphoneLive // // Created by YB007 on 2020/8/27. // Copyright © 2020 cat. All rights reserved. // #import <UIKit/UIKit.h> @interfa...

礼物缓存

礼物缓存

将网络图片缓存到本地减少加载时间 GiftCacheUtl.h +(void)downloadOne:(const NSDictionary *)dicGift; +(void) dowloadGif; +(NSString*) getGiftCacheDir; +(NSURL*) getCacheFileByUrl:( NSString*)giftUrl; GiftCacheUtl...

iOS实时网络监测

网络监测和信号质量

网络监测 RKNetMonitor.h #import <Foundation/Foundation.h> @interface RKNetConnect: NSObject @property(nonatomic,strong)NSString *oBytes; //上行流量 @property(nonatomic,strong)NSString *...

iOS截长图

WKWebView截图、View生成图片

WKWebView截图 /** webView截屏 deviation:底部偏移量*/ +(UIImage *)screenshotWhitWK:(WKWebView *)wkweb andDeviation:(CGFloat)deviation{ CGFloat boundsWidth = wkweb.bounds.size.width; CGFloat bou...

iOS后台保活

iOS后台保活

后台保活的几个方向 1.短时间保活 beginBackgroundTaskWithName和endBackgroundTask 测试机型【iPhone6-12.4.7】后台运行时间约3分钟(176秒)左右; 测试机型【iPhone6s-13.5.1】后台运行时间34秒左右; 2.后台持续定位 这个适用于地图类app,我们是直播音视频,不适用,暂且不讨论; 3.后台下...

滑动手势冲突

多层Scrollview嵌套,

多层Scrollview嵌套 【scroll顶部刷新】 底部是一个scrllview,子类是collectionview,要求向上滑动的时候scrllview和collectionview可以做到连续滑动 约定: 底部ScollView我们称之为MainScroll,子类CollectionView称之为SubCollectionView 首先我们写一个ScrollView的基...

iOS13Cell箭头

UITableView 种Cell出现带方框的小箭头

iOS 13 cell 箭头适配 iOS13适配 UITableView 种Cell出现带方框的小箭头 出现这个的原因是有个类扩展的方法名和系统方法名重名了(如下),将扩展的方法名更改为其他名称即可 - (UIImage *)imageWithTintColor:(UIColor *)tintColor;

ijk编译

iOS开发之ijkplayer的打包framework

准备工作 安装homebrew, git, yasm.(如果已经安装好可以跳过, 不清楚的再来一遍也无妨,一般mac都已经安装) ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" brew install git brew install yasm ps:...

LaunchScreen添加动态版本号

版本号

首先,在LaunchScreen.storyboard添加一个Label 然后设置Document->APP_VERSION 如图: 接着点击选择工程的target,选择Build Phases,点击+按钮,选择New Run Script Phase,双击新增的条目重命名Update Version(你开心命名什么都可以),然后拖动这条新增的条目放到Copy Bundle R...

横竖屏设置

指定页面横竖屏

1.在AppDelegate.h文件中添加 /*** 是否允许横屏的标记 */ @property (nonatomic,assign)BOOL allowRotation; 2.在AppDelegate.m中添加 -(UIInterfaceOrientationMask)application:(UIApplication *)application supportedInte...

[转载]pod报错问题

[!]CDN: trunk Repo update failed

pod报错-传送门

iOS后台不被kill

音乐、定位

需求 1、当应用一直保持在前台的情况下,收到推送消息后语音和振动可以正常触发 2、在第一条的基础上,语音和振动被触发后再按Home键进入后台,这时语音和振动都失效 3、当应用进入后台的情况下,收到推送消息后语音和振动都不能被触发 方案 方案1.开启后台持续定位 <1>设置Backgound Modes <2>在info.plist中设置 Pri...

iOS静态库和动态库的创建和使用

iOS静态库和动态库的创建和使用

关于iOS动态库和静态库的使用优缺点已在上篇中说过了,我们自定义的库为cocoaTouchFrameWork,本篇就来记录下库的创建和简单的使用。 静态库的创建和使用: 1.创建cocoaTouchFrameWork项目: 打开Xcode选择新建项目 > 选择创建的类型为上图中的CocoaTouchFrameWork类型。 2.本例中sdk库名为LMSDK,项目创建完成...

UIAlertController

更改颜色、字体

AlertController iOS8以后系统的提示框改为了UIAlertController,下面利用KVC来更改标题、提示的字体以及颜色 NSMutableAttributedString *attTitle = [[NSMutableAttributedString alloc]initWithString:@"标题1" attributes:@{NSForegroundCol...

Urlencode和Urldecode

编码解码

Urlencode(新) -(NSString *)urlEncodeStr:(NSString *)orUrl { NSString *charactersToEscape = @"?!@#$^&%*+,:;='\"`<>()[]{}/\\| "; NSCharacterSet *allowedCharacters = [[NSCharacterSet...

异步多传

异步多传

前言 目的:A、B同时执行,拿到A、B的执行结果再实行C 方式一 NSString *hUrl = @"http://dspceshi.yunbaozb.com/api/public/index.php?service=Video.getVideo&uid=13629&videoid=230&mobileid=123aaa"; NSLog(@"...