自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

WJ的博客

一个普通的码农,记录自己成长的点滴

原创 iOS 项目中对OpenSSL和curl的使用

iOS 项目中对OpenSSL和curl的使用 OpenSSL和curl的交叉编译 OpenSSL和curl的编译采用shell脚本来编译,编译脚本是由网上找的修改版本。编译脚本下载地址 使用方法: 1、下载对应的源码并解压 2、将对应的脚本和解压后的源码文件夹放在同一目录 3、修改shell...

2020-06-09 22:00:51 54 0

原创 Android动画总结

Android动画总结 基础动画 平移动画Translation 实现方式一: xml编写平移动画 base_anim_translation.xml <?xml version="1.0" encoding="utf-8"?> <tr...

2020-04-09 22:50:08 98 0

原创 钉钉逆向打卡定位功能思路解析

钉钉逆向打卡定位功能思路解析 目标:定位钉钉定位代码,实现修改定位坐标,实现任意地点打卡 界面定位 首先通过Reveal或者Cycript定位打卡页面,发现定位页面是WebView,页面元素全是HTML来编写的。要通过界面来定位对应的控制器或者方法来分析这条思路是行不通的。 但是通过正向开...

2020-03-24 22:24:39 640 0

原创 iOS越狱环境下去除某视频APP广告的历程

iOS越狱环境下去除某视频APP广告的历程 项目准备 目的 为了去除某视频APP的启动页广告、首页弹窗广告、首页悬浮广告、视频播放开始结束广告,使应用使用起来更加清爽。 工具 Tweak、LLDB、Reveal、class-dump 原始目标展示 1、启动页广告 2、首页弹窗广告 ...

2020-03-18 20:43:29 104 0

原创 LLDB插件提升开发效率

LLDB插件提升开发效率 LLDB插件的的配置使用以及安装过程中遇到的问题记录! chisel facebook提供的lldb插件chisel。Github地址 利用brew安装 brew install chisel 配置.lldbinit文件,lldb在启动的时候会默认调用这个文件 cd...

2020-03-11 22:06:46 135 0

原创 Moya、RxMoya基本使用

Moya、RxMoya基本使用 Moya的基本使用 1、首先需要定义一个接口层,定义一些需要请求的接口并配置相关的路由。 import Moya enum MyService { case getList case login(userName: String, passWo...

2020-03-02 20:53:33 146 0

原创 Alamofire 基本结构及部分代码详解

Alamofire 基本结构及部分代码详解 SessionManager SessionManager默认由default返回一个单例对象,里面配置了默认的URLSessionConfiguration和defaultHTTPHeaders。 public static let `defau...

2019-12-30 20:46:56 79 1

原创 RxSwift KVO的实现原理

RxSwift KVO的实现原理 RxSwift中的KVO使用是不需要自己移除观察者的,那它的底层实现原理是什么呢? 案例使用 person.rx.observe(String.self, "name").subscribe(onNext: { (change) in ...

2019-12-10 22:47:22 104 0

原创 RxSwift 销毁者核心销毁流程

RxSwift 销毁者核心销毁流程 在RxSwift中的代码中经常需要用disposeBag来做序列的销毁操作,那这背后的原理是怎么样工作的呢?我们根据源码来看看背后的原理。 var disposeBag = DisposeBag() let ob = Observable<Any>...

2019-12-02 22:14:33 34 0

原创 RxSwift Scheduler调度环境

RxSwift Scheduler调度环境 调度环境的初探 DispatchQueue.global().async { self.button.rx.tap.subscribe(onNext: { () in print("订阅回调线程 \(Thread.curr...

2019-11-28 20:22:31 28 0

原创 RxSwift 常用操作符及原理分析

RxSwift 常用操作符及原理分析 startWith startWith是用来在指定序列的前面发出序列的操作符 Observable.of("1", "2", "3", "4") .startWith(&quo...

2019-11-19 21:27:19 101 0

原创 RxSwift 核心逻辑代码分析

RxSwift 核心逻辑代码分析 RxSwift的核心逻辑主要包括创建序列,订阅序列,发送事件三步,下面就来从源码的角度来查看这一系列的流程是如何工作的。 // 1、创建序列 let observable = Observable<String>.create { (observer)...

2019-11-10 22:17:34 34 0

原创 Android 开发中积累的知识点

Android 开发中积累的知识点 Android使用命令行查看命令行编译问题 查看详细错误描述 gradlew compileDebugJavaWithJavac gradlew compileDebug --stacktrace -info gradlew compileDebugSou...

2019-10-10 21:34:51 32 0

原创 VMware Fusion 搭建服务端的历程

VMware Fusion 搭建服务端的历程 项目背景是需要用虚拟机搭建一套测试环境,现在将搭建过程以及遇到的问题记录一下,以备后用。 项目目的:通过VMware Fusion搭建两个服务端,然后客户端通过VPN连接VPN网关来实现访问另一个真实服务器的内容。 项目简略图: 详细实现图: 搭建...

2019-10-08 21:51:26 77 0

原创 移动开发应该了解的C++基础知识

C++ 基本语法 cin cout int main(int argc, const char * argv[]) { int age; cin >> age; cout << "age is " << age ...

2019-08-20 22:22:47 1126 0

原创 在Mac上基于Mamp Pro编译配置Xdebug调试环境

在Mac上基于Mamp Pro编译配置Xdebug调试环境 由于升级macOS 14.4系统和Mamp Pro新版导致PHP的Xdebug调试工具失效,现将解决这一问题的流程记录一下。 新版本的Mamp Pro默认是没有xdebug.so扩展的,所以需要自己下载xdebug的源码进行编译安装。xd...

2019-08-18 22:07:06 226 0

原创 iOS网络相关知识点

iOS网络相关知识点 UI事件传递和响应 UIView提供内容,负责处理触摸事件 CALayer负责显示内容contents 事件传递 - (UIView *)hitTest:(CGPoint)point withEvent:(UIEvent *)event - (BOOL)pointInsi...

2019-07-26 21:09:47 68 0

原创 iOS性能优化相关笔记

iOS性能优化相关笔记 卡顿优化CPU 1、尽量使用轻量级的对象,比如用不到事件处理的地方,可以考虑使用CALayer取代UIView 2、不要频繁的调用UIView的相关属性,比如frame、bounds、transform等属性,尽量减少不必要的修改 3、尽量提前计算好布局,在有需要时一次...

2019-07-08 20:16:57 98 0

原创 iOS内存管理相关知识笔记

iOS内存管理相关知识笔记 使用CADisplayLink、NSTimer有什么注意点? CADisplayLink、NSTimer会对target产生强引用,如果target又对它们产生强引用,那么就会引发循环引用 [NSTimer scheduledTimerWithTimeInterva...

2019-06-30 22:26:11 136 0

原创 iOS多线程和锁的相关笔记

iOS多线程和锁的相关笔记 iOS中的常见多线程方案 GCD中有2个用来执行任务的函数 用同步的方式执行任务 dispatch_sync(dispatch_queue_t queue, dispatch_block_t block); queue:队列 block:任务 用异步的方式执行任务...

2019-06-15 20:12:08 158 0

原创 RunLoop 相关知识笔记

RunLoop 相关知识笔记 Runloop 什么是RunLoop? RunLoop是通过内部维护的事件循环来对事件/消息进行管理的一个对象。 1、没有消息需要处理时,休眠以避免资源占用(用户态->内核态) 2、有消息需要处理时,立刻被唤醒(内核态->用户态) Runloo的基本作...

2019-06-11 22:16:02 57 0

原创 Runtime 相关知识笔记

Runtime 相关知识笔记 isa详解 struct objc_object { private: isa_t isa; } union isa_t // arm64 架构 { Class cls; uintptr_t bits; struct { ...

2019-06-02 22:34:16 56 0

原创 iOS OC基础知识笔记

iOS OC基础知识笔记 一个NSObject对象占用多少内存? 系统分配了16个字节给NSObject对象(通过malloc_size函数获得) 但NSObject对象内部只使用了8个字节的空间(64bit环境下,可以通过class_getInstanceSize函数获得) #import ...

2019-05-25 22:50:47 291 0

原创 React Native利用Animated和SVG实现渐变进度条

React Native利用Animated和SVG实现渐变进度条 根据项目需求,在React Native中实现渐变进度条的案例。 案例效果 案例分析 思路:将整个动画视图拆分成背景,进度,图文显示三个部分,分步实现,然后组合起来。 案例实现 1、需要使用的库,当然有些控件不需要...

2019-05-09 22:29:14 690 0

原创 iOS企业包升级配置加Shell脚本自动处理

iOS企业包升级配置加Shell脚本自动处理 企业包自动升级配置 企业包自动升级配置主要需要以下几项: 1、一个能访问的服务器地址 2、在该地址目录下存放ipa包Plist配置文件以及应用图标等,具体见Plist Plist配置 <?xml version="1.0"...

2019-04-22 22:58:31 99 0

原创 基于TBS编写Android原生视图提供React Navtive使用的总结

基于TBS编写Android原生视图提供React Navtive使用的总结 TBS的集成流程 1、下载SDK将jar包放在app/libs/目录下(以Project方式展示项目) 2、将Demo工程中的liblbs.so拷贝到main/jniLibs/armeabi/目录下 3、添加build....

2019-04-16 21:59:46 718 0

原创 Android常见内存泄漏及优化的学习笔记

Android常见内存泄漏及优化的学习笔记 单例导致的内存泄漏 public class AppSettings { private static AppSettings sInstance; private Context mContext; private AppSetti...

2019-04-08 21:51:46 79 0

原创 React Native开发应该了解的Android基本知识

React Native开发应该了解的Android基本知识 最近又开始做React Native项目,个人认为无论采用哪种跨平台的技术,都需要对原生技术有一定的了解,开发的时候才能对项目游刃有余。于是又将遗忘N久的Android基本知识捡起来,记录一下,加深印象,也方便后面查看。 Acti...

2019-04-01 21:16:23 167 0

原创 iOS中FTP被动模式开发总结

iOS中FTP被动模式开发总结 最近接手的项目中采用FTP来现实文件的上传下载,但是接手的项目中程序并不能正常的运行,于是将最近研究的问题记录一下。 问题一:FTP工作模式 FTP的工作模式分为主动和被动模式。 简单的说,主动模式是客户端链接服务端之后,服务端使用数据端口主动链接客户端发送数据...

2019-03-12 20:54:44 192 2

原创 重拾Android之--多线程技术

重拾Android之–多线程技术 多线程的创建 1、继承Thread类实现多线程 2、实现Runnable接口实现多线程 // 继承Thread类实现多线程 public class MyThread extends Thread { @Override public void...

2019-02-25 20:43:13 84 0

原创 React Native项目升级笔记

React Native项目升级笔记 由于公司项目规划需要升级,项目直接从0.48直升0.57,公司项目涉及的代码量还是比较多的,此次升级大概花费2周左右的时间,现将遇到的问题记录在下面。 iOS原生端的错误 RN基础组件编译异常 RCTBridgeModule.h 解决措施: RNFile...

2019-02-17 21:22:59 555 0

原创 重拾React Native笔记之--原生模块的编写

重拾React Native笔记之–原生模块的编写 iOS原生模块 原生模块 原生模块创建方式及内容包括: 1、创建一个原生模块遵守RCTBridgeModule协议 2、利用RCT_EXPORT_MODULE()宏导出到JS端调用的方法 3、需要导出的常量、枚举等 4、向JavaScript...

2019-02-16 21:15:11 128 0

原创 FFmpeg编译以及如何集成到iOS项目

FFmpeg编译以及如何集成到iOS项目 工具环境的准备 下载FFmpeg源代码 下载地址:http://www.ffmpeg.org/documentation.html 下载编译需要的gas-preprocessor 下载地址:https://github.com/libav/gas-...

2018-11-26 22:18:33 364 0

原创 AVFounction学习笔记之--AudioToolbox音频硬编码

AVFounction学习笔记之–AudioToolbox音频硬编码 音频编码相关知识概念 AAC是新一代音频有损压缩技术,它通过一些附加的编码技术(PS、SBR)衍生出LC-AAC、HE-AAC、HE-AAC v2三种主要的编码格式。“LC-AAC是比较传统的AAC,相对而言,其主要应用于中...

2018-11-18 22:09:38 433 0

原创 AVFounction学习笔记之--VideoToolbox视频硬编码

AVFounction学习笔记之–VideoToolbox视频硬编码 视频编码相关知识概念 帧:每帧代表一张静态的图像 GOP:GOP就是一组连续额画面,每个画面都是一帧,一个GOP就是很多帧的集合,GOP cache长度越长,画面质量越好 码率:画面进行压缩后每秒显示的数据量 帧率:每秒显示...

2018-11-05 21:53:55 578 0

原创 AVFounction学习笔记之--音视频的编辑

AVFounction学习笔记之–音视频的编辑 媒体数据的读取和写入 AVAssetReader AVAssetReader用于从AVAsset实例中读取媒体样本。通常会配置一个或多个AVAssetReaderOutput实例,并通过copyNextSampleBuffer方法访问音频样本和...

2018-10-29 21:30:13 120 0

原创 AVFounction学习笔记之--媒体捕捉

AVFounction学习笔记之–媒体捕捉 基础知识 首先先介绍AVFounction捕捉相关的类。如下图所示 1、AVCaptureSession 捕捉会话核心类 2、AVCaptureDevice 捕捉设备,最常用的是音频和视频 3、AVCaptureVideoPreviewLayer 视...

2018-10-16 21:28:19 127 0

原创 AVFounction学习笔记之--音视频播放.md

AVFounction学习笔记之–音视频播放 AVFounction是用于处理音视频的框架。它位于Core Audio、Core Video、Core Media、Core Animation框架之上。 Core Audio是处理所有音频事件的框架。为音频提供录制、播放、处理等接口。 Core V...

2018-10-08 21:57:41 179 0

原创 JS和原生之间的相互调用总结

JS和原生之间的相互调用总结 基础知识 按照官方文档上的意思简单介绍这几个类的作用: JSVirtualMachine JSVirtualMachine 是JavaScript的一个封闭的运行环境,主要用于支持JavaScript并行运行和管理JavaScript与OC或者Swift之间桥接的...

2018-09-26 22:03:30 3126 0

原创 Redux、Redux-Thunk、Redux-Sagas、React-Redux学习笔记

Redux、Redux-Thunk、Redux-Sagas、React-Redux学习笔记 React环境配置 安装脚手架工具 npm install -g create-react-app 创建项目工程 // demo是项目名称,不能有大写字母 create-rea...

2018-09-16 21:42:38 1393 1

提示
确定要删除当前文章?
取消 删除