
iOS
develop_csdn_LGQ
终点未到,必将全力奔跑
展开
-
iOS CPU渲染能做的事情
布局计算:如果视图层级过于复杂,当试图呈现或者修改的时候,计算图层帧率就会消耗一部分时间, 视图懒加载: iOS只会当视图控制器的视图显示到屏幕上才会加载它,这对内存使用和程序启动时间很有好处,但是当呈现到屏幕之前,按下按钮导致的许多工作都不会被及时响应。比如,控制器从数据局中获取数据, 或者视图从一个xib加载,或者涉及iO图片显示都会比CPU正常操作慢得多。 解压图片:PNG或者JPEG压缩之后的图片文件会比同质量的位图小得多。但是在图片绘制到屏幕上之前,必须把它扩展成完整的未解压的尺寸(通常等同于原创 2022-03-24 11:13:54 · 457 阅读 · 0 评论 -
iOS图片加载渲染的优化
首先我们来看iOS加载一张图片所经历的过程:(下面所讲述的代码基本以 imageWithContentsOfFile方法来举例)数据加载我们优先创建UIImageView,把获得的图像数据赋值UIImageView 识别到我们缓冲区没有数据,就会去从磁盘拷贝数据到缓冲区 然后加载我们的图片 拿到了图片,下面到了视图渲染视图渲染图片数据在CoreAnimation流水线中,执行如下流程 优先计算视图Frame,进行视图构建和图片格式转换 如果图像未解码,则优先解码成位图数据...原创 2022-03-23 16:13:56 · 3919 阅读 · 0 评论 -
Safari打开官网自动打开app
最近遇到一个烦人的问题,用户在Safari里面搜索我们的官网的时候,点击打开我们的官网,Safari总是自动打开我们的app,经过排查,发现是我们配置了苹果的打开app的链接方式Associated Domains,这种方式,基本只要是在Safari里面,基本每次打开官网都会自动打开app,如果你是第一次打开这个官网,或者用的无痕模式,每次都会有个弹窗提示你要不要打开app,但是有时候不是第一次也会提示。 目前提供两种解决方案:1.替换打开app的域名,就是Associ...原创 2021-11-29 20:13:11 · 3840 阅读 · 0 评论 -
iOS App发布苹果商店签名的原理
开局一张图在你的 Mac 开发机器生成一对公私钥,这里称为公钥L,私钥L。 苹果自己有固定的一对公私钥,私钥在苹果后台,公钥在每个 iOS 设备上。这里称为公钥A,私钥A。 把公钥 L 传到苹果后台,用苹果后台里的私钥 A 去签名公钥 L。得到一份数据包含了公钥 L 以及其签名,把这份数据称为证书。 在苹果后台申请 AppID,配置好设备 ID 列表和 APP 可使用的权限,再加上第③步的证书,组成的数据用私钥 A 签名,把数据和签名一起组成一个 Provisioning Profile原创 2021-11-26 10:12:42 · 231 阅读 · 0 评论 -
iOS在主线程中操作UI的原因
因为UIKit不是线程安全的。举几个例子:两个线程同时设置同一个背景图片,那么很有可能因为当前图片被释放了两次而导致应用崩溃。 两个线程同时设置同一个UIView的背景颜色,那么很有可能渲染显示的是颜色A,而此时在UIView逻辑树上的背景颜色属性为B。 两个线程同时操作view的树形结构:在线程A中for循环遍历并操作当前View的所有subView,然后此时线程B中将某个subView直接删除,这就导致了错乱还可能导致应用崩溃。 iOS4之后苹果将大部分绘图的方法和诸如 UIColor 和原创 2021-11-25 19:58:08 · 1841 阅读 · 0 评论 -
Searching for inspections failed: undefined method `map‘ for nil:NilClass“错误
最近pod新项目报了这个错,我的Mac M1, 记录一下[CocoaPods error]: Searching for inspections failed: undefined method `map' for nil:NilClass"错误解决方法:执行如下命令行 sudo arch -x86_64 gem install ffi 然后pod install即可...原创 2021-11-04 15:50:35 · 7237 阅读 · 4 评论 -
can't find gem cocoapods (>= 0.a) with executable pod (Gem::GemNotFoundException)
Traceback (most recent call last):2: from /usr/local/bin/pod:23:in `<main>'1: from /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/rubygems.rb:302:in `activate_bin_...原创 2020-03-23 17:36:58 · 20446 阅读 · 3 评论 -
iOS 阿里https中SSL认证根据pem生成cer (http改为https)
openssl x509 -outform der -in (名字).pem -out (名字).cer原创 2018-05-20 12:20:19 · 1788 阅读 · 0 评论 -
iOS录音麦克风和系统震动的"冲突"
麦克风开启的情况下,主动调取震动是被禁止的,用混音模式可以实现解决,具体需要,根据实际情况主动调取系统震动:AudioServicesPlaySystemSound(kSystemSoundID_Vibrate)原创 2018-01-06 15:49:05 · 2016 阅读 · 1 评论 -
UIButtton文字内容右对齐,左对齐
orderBtn.contentHorizontalAlignment = UIControlContentHorizonAlignmentLeft;原创 2018-01-03 23:27:54 · 842 阅读 · 0 评论 -
requestAVAssetForVideo取出图片或者视频为空,TZImagePickerController取出
使用 PHAsset* myasset = asset;PHVideoRequestOptions *options = [[PHVideoRequestOptionsalloc] init];取得可能空 加入网络获取 options.networkAccessAllowed =true;可能获得的奔溃 [NSURL原创 2017-12-19 16:58:06 · 3724 阅读 · 0 评论 -
iOS定时器取消,用在socket断线重连
1.创建static dispatch_source_t _reconTimer;dispatch_source_cancel(_timer); NSTimeInterval period =5; //设置时间间隔 dispatch_queue_t queue =dispatch_get_global_queue(DISPATCH_QUEUE原创 2017-12-08 11:09:03 · 1337 阅读 · 0 评论 -
iOS启动APP,播放视频,会出现黑屏
建议换一下方式,亲测有效 AVPlayerItem *item = [AVPlayerItemplayerItemWithURL:[[NSBundlemainBundle] URLForResource:@"q1111.mp4"withExtension:nil]]; // 3.创建AVPlayer _player = [AVPlayer原创 2017-12-08 10:40:49 · 4306 阅读 · 0 评论 -
AFNetworking批量上传图片问题
异步请求的返回先后顺序没有一定,很可能后发出的请求先返回;但是最后回调的时候,请求返回的结果必须要按请求发出的顺序排列。比如,一个很常见的处理是,上传图片的接口返回该图片的 url;那么回调结果里的 url 顺序显然需要跟上传的图片顺序一一对应上。为此提出一个解决方案,方法很多,本文使用GCD解决- (NSURLSessionUploadTask*)uploadTaskWith原创 2017-06-17 13:06:51 · 1062 阅读 · 0 评论 -
git命令行
git push origin dev 推到devgit pull 抓取git add . 添加文件git commit -m "test"git commit -am "test" 中和前两个git pull ==== svn updategit push origin dev ==== svn commit -m "tes原创 2017-04-20 14:27:04 · 485 阅读 · 0 评论