- 博客(336)
- 资源 (31)
- 收藏
- 关注
原创 RAC 完整指南(ReactiveObjC
《RAC实战用法大全:从基础到高阶场景》 摘要:本文系统整理了ReactiveCocoa(RAC)在iOS开发中的全场景应用方案。分为基础API、高阶函数、工作流场景和复杂管道组合四大模块,覆盖57个核心操作符和15种典型业务场景。 基础篇包含7类核心操作: 响应式绑定(KVO/通知/代理替换) UI控件事件处理 集合序列操作 生命周期管理 定时器实现 线程调度(subscribeOn/deliverOn) 冷热信号转换 高阶篇详解6类函数组合: 映射变换(map/flattenMap) 过滤筛选(filt
2026-06-12 01:00:00
217
原创 iOS-YModel
如果Model的属性名和JSON的key不一样,可以在Model中重写方法。5@end 6 7@implementation User 8// 自定义映射 9+ (NSDictionary *)modelCustomPropertyMapper { 10 return @{@"userId" : @"uid", 11 @"userName" : @"name", 12 @"createdAt" : @"created"};13} 14@end如果转换过程中需要一些特殊的处理,可以重写和方法。
2025-01-22 00:00:00
1092
原创 iOS RACScheduler 使用详解
是 ReactiveCocoa 框架中的一个关键组件,用于在 iOS 开发中管理任务的并发执行。以下是如何详细使用的指南,以 Markdown 格式展示。
2024-04-21 13:00:00
688
1
转载 iOS - RAC 基本使用
RAC使用函数响应式编程的思想,将我们平时用到的按钮点击事件、KVO、代理、通知等等封装起来,处理业务逻辑的代码放到一起,使代码更加的简洁、高内聚、低耦合,那么我们来看看它的具体使用。
2023-08-21 19:52:18
1772
转载 IOS - RAC最快让你上手ReactiveCocoa之基础篇
表示订阅者的意思,用于发送信号,这是一个协议,不是一个类,只要遵守这个协议,并且实现方法才能成为订阅者。信号类(RACSiganl),只是表示当数据改变时,信号内部会发出数据,它本身不具备发送信号的能力,而是交给内部一个订阅者去发出。:用于当一个信号,被多次订阅时,为了保证创建信号时,避免多次调用创建信号中的block,造成副作用,可以使用这个类处理。默认一个信号都是冷信号,也就是值改变了,也不会触发,只有订阅了这个信号,这个信号才会变为热信号,值改变了才会触发。
2023-08-21 19:49:55
555
原创 IOS-iphone端WKWebView开发者模式
启动 APP ,加载 WKWebView 后即可在Mac端看到 H5页面。这时即可连接手机通过Safari中进行调试,Safari 开发中看到设备,可以查看当前的 HTML 代码,JS 代码,网络情况等。Mac端Safari显示开发菜单: Safari 浏览器 -> 偏好设置 -> 高级 -> 勾选在菜单中显示“开发”设置。手机端开启Web 检查器:设置 -> 通用 -> Safari -> 高级 -> Web 检查器。WKWebView调试App内嵌网页。
2022-12-17 15:36:16
1547
1
原创 ios- Gesture
手势优先级requireGestureRecognizerToFail,创建另一个有联系的手势识别器,只要另一个手势状态为。这个手势才会被相应。如果另一个手势正在被响应,那么这个手势不会被响应。
2022-11-30 14:18:01
1057
原创 IOS- UICollectionView
header 注册 [_collectionView registerClass:[MyCollectionReusableView class] forSupplementaryViewOfKind:UICollectionElementKindSectionHeader withReuseIdentifier:@"HeaderView"]; 设置header -(UICollectionReusableView *)collectionView:(UICollectionView *)c
2022-11-28 18:38:12
451
1
转载 Charles 手机https抓包
Charles简介 Charles是一个HTTP代理服务器,HTTP监视器,反转代理服务器,当浏览器连接Charles的代理访问互联网时,Charles可以监控浏览器发送和接收的所有数据。它允许一个开发者查看所有连接互联网的HTTP通信,这些包括request, response和HTTP headers (包含cookies与caching信息)。一、下载地址:https://www.charlesproxy.com/ 1.选择对应的操作系统 2.点击 DOwnload a free trial 进行下载
2022-07-08 17:22:48
3737
转载 私有apiNon-public API usage - The app references non-public selectors in—Your app uses or references
之前接了一个旧的项目,代码混乱,年代久远,不得不吐槽一波,好不容易改完需求提交代码,说用到了non-public APIs,搞了好久终于找到地方了,下面是我的解决过程,让大家少走弯路: 下面的被驳回的原因: Your app uses or references the following non-public APIs: setTimeOut: The use of non-public APIs is not permitted on the App Store because it can l
2022-01-05 16:53:42
1240
原创 IOS-私有库 GKit.podspec Pod 新版
知识时间长不用真的是容易忘,基础的教程可以看iOS开发——组件化之Cocoapods私有库详解 lib_Gaos的BLOG-CSDN博客前言随着公司业务的不断发展,团队不断壮大的同时,项目也随之臃肿起来,如何保障团队协作的高效,自然的想到了组件化这个话题。下面总结下本人的梳理和思考。组件化为什么我们需要组件化项目模块间的解耦、模块实现可重用、提升团队成员之间团队之间的协作开发效率、更方便单元测试。并不是所有的项目都适合组件化如果你的项目较小,模块之间交互简单,耦合很少;模块没有被外部模块引用,只是一个单独的
2021-12-02 21:22:32
1897
转载 iOS开发——组件化之Cocoapods私有库详解 lib
前言 随着公司业务的不断发展,团队不断壮大的同时,项目也随之臃肿起来,如何保障团队协作的高效,自然的想到了组件化这个话题。下面总结下本人的梳理和思考。 组件化 为什么我们需要组件化 项目模块间的解耦、模块实现可重用、提升团队成员之间团队之间的协作开发效率、更方便单元测试。 并不是所有的项目都适合组件化 如果你的项目较小,模块之间交互简单,耦合很少;模块没有被外部模块引用,只是一个单独的小模块;模块不需要重用,代码也很少被修改;团队规模很小。那么,你对项目就没有必要做组件化。 如果你
2021-11-13 17:22:13
801
原创 IOS-UICollectionView
minimumLineSpacing 跟滑动方向一致的距离 minimumInteritemSpacing 跟滑动方向垂直的距离 layout.sectionInset = UIEdgeInsetsMake(上, 左 下, 右 ); 垂直距离举例 section的上下边界为上下 section左右边界为左右 item的上下间距为minimumInteritemSpacing item的左右间距为 MAX( MIN(左右) 与 minimumLineSpacing)最大值 ...
2021-07-16 15:46:02
293
原创 Xcode ImageOptim Compress PNG Files
“Compress PNG Files"实际上是将图片像素的颜色信息,转换成iPhone能够更快渲染的格式 PNG图片采用的颜色空间,一般是RGBA。也就是说,一个像素点的颜色,是由四个分表代表红色,绿色,蓝色,透明度的字节来存储。而iPhone的图像内存,使用的是一种非标准的颜色空间(BGRA,对应的图片格式叫做CgBI))。从读取图片像素点RGBA的信息,到最终计算出,屏幕渲染所需的BGR,会有更大的耗时。 1.所谓的Compress PNG Files并不是为了减少图片的大小,而是为了加快应用运行
2021-07-08 13:48:21
461
原创 ios-collectionview三种排版方式
元素流排版 // // LMJElementsFlowLayout.m // // Created by apple on 17/4/19. // Copyright © 2017年 NJHu. All rights reserved. // #import "LMJElementsFlowLayout.h" #define LMJXX(x) floorf(x) #define LMJXS(s) ceilf(s) static const CGFloat LMJ_XMargin_ = 10;
2021-06-30 14:35:25
1224
原创 引用c++ .cpp 文件时候pch文件报错
今天碰到一个问题:C OC C++文件在项目中混编时 1、出现could not build module foundation错误 2、NSObjCRuntime.h NSObject.h NSZone.h 将会报出编译异常。 解决:1 1 2 3 4 5 6 7 8 9 项目pch文件中,#import的头文件做如下操作 // 表示宏内引用的文件确保只被使用 Objecti...
2021-03-09 10:47:11
459
原创 Agora声网 互动直播,pk,自定义渲染,路旁推流, 水晶球
// // LiveView.m // DANSER // // Created by gaos on 2021/02/02. // Copyright © 2021年 TianGe. All rights reserved. // #import "DSRAnchorPKLiveView.h" #import <AgoraRtcEngineKit/AgoraRtcEngineKit.h> #import "TGCamera.h" #import "TGOpenGLView.h"...
2021-02-26 17:29:31
2244
1
原创 ios- UIImageView 序列帧实现gif图 直播送礼效果 图片拉伸
UIImageView 或者CALayer +定时器类 1.使用 【 UIImageimageWithContentsOfFile】从磁盘映射方式加载图片数据流(创建了一个文件映射数据, 图片文件既没有真正被加载到内存, 更没有被解码成位图的形式可供Core Animation渲染) 2.讲UIImage 赋值给 UIImageView这个过程,隐式的CATransaction(事物)会捕获到imageView图层树的变化,并在下一个runloop到来时提交事务,处理过程中包涵1.分配缓冲区管理文...
2020-09-04 15:16:57
610
转载 App Clips
作者: pmst,iOS 开发者 WWDC20 10174: https://developer.apple.com/videos/play/wwdc2020/10174/ App Clips 是今年 WWDC20 大会的亮点之一,罗列几个开发者感兴趣的问题: -什么是 App Clips; -实际应用场景中是如何交互的; - 构建 App Clips 的有哪些前置条件; - 如何在已有项目中添加对 App Clips 的支持等一系列问题。 在回答上述几个问题之前,我们先来明确三...
2020-08-18 13:14:31
597
转载 IOS-appstore 修改主语言
1.首先添加你所要设置为主语言的本地化语言, 2.该本地化的语言所使用的商店展示截图必须是重新上传的 主要语言的作用就是,如果一个在俄罗斯的人在AppStore下载app,下载界面显示的是中文,但是我们的期望是除了中国以外都显示英语,所以最好把主要语言设为英语。 *默认添加的新语言会以当前的主语言共享商店展示图片,这样状态是不能设置主语言的,必需重新上传添加新的主语言的商店展示图片,即使图片一毛一样也要重新上传,保证该语言版本的展示图片是独立存在的,因为主语言可以编辑,编辑意味着可以删除,(YY 假如
2020-08-10 15:26:28
2719
转载 ios-TestFlight 沙盒测试 蒲公英 fir appuploader
沙盒不需要真实邮件就可以测试 TestFlight 需要添加测试员,,如果没有收到邮件,选中构建版本-ios-版本号-添加独立测试员-收到打开兑换码的邮件,app中登录到testflight,填写兑换码 前言 在iOS 8中,苹果发布了一个叫做TestFlight的新玩意,用于将Beta测试流水化。此前你可能听说过这个东西,因为TestFlight作为一个独立的测试平台已经有些年头了。不过在今年二月份的时候TestFlight的开发商Burstly被苹果收购,于是在之后公开发行的Xcode 6和.
2020-08-07 16:56:15
1612
原创 IOS- UIWebview WKWebView New apps that use UIWebView
ITMS-90809: Deprecated API Usage - New apps that use UIWebView are no longer accepted. Instead, use WKWebView for improved security and reliability. Learn more grep -r UIWebView . 目前老版的分享sdk中会包括更新到最新
2020-08-04 10:26:30
447
转载 2020年iOS面试反思总结
Object-C系列面试题总结 基础题: 1.Objective-C的类可以多重继承么?可以实现多个接口么?Category是什么?重写一个类的方式用继承好还是分类好?为什么不要在category中重写一个类原有的方法? 答: Objective-c的类不可以有多继承,OC里面都是单继承,多继承可以用protocol委托代理来模拟实现 可以实现多个接口,可以通过实现多个接口完成OC的多重继承 Category是类别; ⚠️重写一个类的方式用继承好还是分类好: 重写一个类的方式用继承还是分类.取决于具
2020-07-27 11:49:01
547
1
原创 IOS- LXPlayerLive GPUImage LFLiveKit
https://github.com/SoftProgramLX/LXPlayerLive 问题 nginx第二次打开时候 ginx: [alert] could not open error log file: open() "/usr/local/var/log/nginx/error.log" failed (13: Permission denied) 2020/07/23 18:07:44 [notice] 27087#0: signal process started 2020/.
2020-07-23 18:59:16
309
原创 IOS-GPUImage 美颜 滤镜 水印 分段录制
// // RecordVideoViewController.m // AVStream // // Created by gaoshuang on 2018/4/26. // Copyright © 2018年 gaoshuang . All rights reserved. // #import "RecordVideoViewController.h" #import "AVUtil.h" #define DEFAULT_VIDEO_SIZE (CGSizeMake(576.,1024.
2020-07-22 17:35:50
795
原创 IOS-海外版授权分享推送统计 Google FaceBook Twitter Instagram
Google登录 Google登录官方文档以及Demo 1.根据文档添加GoogleSignInDependencies.framework,GoogleSignIn.framework ,GoogleSignIn.bundle如果不用官方按钮的话就不需要这个 2.根据文档添加依赖 3.生成client ID,点击绿色按钮,最后生成 static NSString * const k...
2020-07-22 16:21:02
4576
转载 关于 iOS离屏渲染的深入研究(进阶篇)
在平时的iOS面试中,我们经常会考察有关离屏渲染(Offscreen rendering)的知识点。 一般来说,绝大多数人都能答出“圆角、mask、阴影会触发离屏渲染”,但是也仅止于此。如果再问得深入哪怕一点点,比如: 离屏渲染是在哪一步进行的?为什么? 设置cornerRadius一定会触发离屏渲染吗? 90%的候选人都没法非常确定地说出答案。作为一个客户端工程师,把控渲染性能是最关键、最独到的技术要点之一,如果仅仅了解表面知识,到了实际应用时往往会失之毫厘谬以千里,无法得到预期的效
2020-07-21 10:14:03
538
转载 iOS 苹果授权登录(Sign in with Apple)系列之Apple Developer配置篇
原文 在iOS13中,如果App提供第三方登录,就必须添加苹果登录 Sign in with Apple选项,并要求所有开发者于2020年4月之前完成现有应用的更新,否则审核不给通过。 iOS 苹果授权登录(Sign in with Apple)系列之Apple Developer配置篇 iOS 苹果授权登录(Sign in with Apple)系列之原生篇 iOS 苹果授权登录(Sign in with Apple)系列之uniapp篇 iOS 苹果授权登录(...
2020-07-17 16:07:18
12704
转载 正则表达式
这篇文章主要介绍了正则表达式匹配各种特殊字符的相关知识,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下 写个可以匹配一下各种特殊字符的正则表达式 1 2 ((?=[\x21-\x7e]+)[^A-Za-z0-9]) x21-\x7e]+)[^A-Za-z0-9]) 这个匹配所有键盘上可见的非字母和数字的符号 1 2 3 4 5 var patrn = /[`~!@#$%...
2020-07-13 16:04:46
171
原创 IOS-小工具
目前使用到的两个小工具 https://github.com/HDB-Li/LLDebugTool https://github.com/xiamoweinuan/AMLeaksFinder NSString* strVersion =[[NSBundle mainBundle] infoDictionary][@"CFBundleShortVersionString"]; NSString* strbuild =[[NSBundle mainBundle] infoDictionary]
2020-07-03 11:53:29
372
1
原创 IOS-NSBundle
一般我们从bundle中获取一张图片,可以有这样的获取思路: 1)获取主bundle 2)获取自定义bundle 3)获取自定义bundle中的资源 //主bundle,也就是可执行的工程的bundle NSBundle *mainBundle = [NSBundle mainBundle]; //NSBundle *mainBundle = [NSBundle bundleForClass:[self class]]; //放在主工程中的自定义bundle NSString *myBundl
2020-06-23 10:32:05
491
1
原创 IOS- ZFIJKPlayerManager ZFAVPlayerManager
IJKFFMoviePlayerController 直播 IJKAVMoviePlayerController 点播 ,需要修改ZFIJKPlayerManager 中player 为IJKAVMoviePlayerController
2020-01-20 16:50:48
2380
转载 iOS面试题:Socket原理
1、套接字(socket)概念 套接字(socket)是通信的基石,是支持TCP/IP协议的网络通信的基本操作单元。它是网络通信过程中端点的抽象表示,包含进行网络通信必须的五种信息:连接使用的协议,本地主机的IP地址,本地进程的协议端口,远地主机的IP地址,远地进程的协议端口。 应 用层通过传输层进行数据通信时,TCP会遇到同时为多个应用程序进程提供并发服务的问题。多个TCP连接或多个应用程序...
2019-12-27 11:19:53
1206
转载 图片的解压缩到渲染过程
一.图像从文件到屏幕过程 通常计算机在显示是CPU与GPU协同合作完成一次渲染.接下来我们了解一下CPU/GPU等在这样一次渲染过程中,具体的分工是什么? CPU: 计算视图frame,图片解码,需要绘制纹理图片通过数据总线交给GPU GPU: 纹理混合,顶点变换与计算,像素点的填充计算,渲染到帧缓冲区。 时钟信号:垂直同步信号V-Sync / 水平同步信号H-Sync。 iOS设备...
2019-12-26 11:00:36
521
转载 深入理解RunLoop
深入理解RunLoop 由ibireme| 2015-05-18 |iOS,技术 RunLoop 是 iOS 和 OSX 开发中非常基础的一个概念,这篇文章将从 CFRunLoop 的源码入手,介绍 RunLoop 的概念以及底层实现原理。之后会介绍一下在 iOS 中,苹果是如何利用 RunLoop 实现自动释放池、延迟回调、触摸事件、屏幕刷新等功能的。 IndexRunLoop 的...
2019-12-24 17:25:27
236
转载 RunLoop剖析
一、RunLoop概念 RunLoop是通过内部维护的事件循环(Event Loop)来对事件/消息进行管理的一个对象。 1、没有消息处理时,休眠已避免资源占用,由用户态切换到内核态(CPU-内核态和用户态) 2、有消息需要处理时,立刻被唤醒,由内核态切换到用户态 为什么main函数不会退出? int main(int argc, char * argv[]) { @aut...
2019-12-24 14:32:56
242
Flex 布局教程.pdf
2026-01-13
AFNetworking-2.0. 测试DEMO 再封装 以及初级资源网址
2015-03-05
IOS7 & Andriod界面设计规范
2015-04-17
Java从入门到精通
2017-07-19
TexturePacker for mac ,ImageOptim for mac无损压缩
2019-05-09
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅