自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(536)
  • 资源 (71)
  • 收藏
  • 关注

原创 iOS 沙盒加载HTML script 不能读取解决方案

iOS 沙盒加载 HTML 读取js

2022-08-11 19:21:49 323 1

原创 Flutter 环境搭建 异常问题记录

[!] Android toolchain - develop for Android devices (Android SDK version 30.0.2) ✗ cmdline-tools component is missing Run `path/to/sdkmanager --install "cmdline-tools;latest"` See https://developer.android.com/studio/command-line for more d

2021-11-09 23:05:44 1635

原创 iOS异步绘制

#import <QuartzCore/QuartzCore.h>NS_ASSUME_NONNULL_BEGIN@interface CBAsyncDrawViewLayer : CALayer@property (nonatomic, assign, readonly) NSInteger drawsCount; // 绘制次数避免重复绘制使用- (void)increaseDrawCount;@endNS_ASSUME_NONNULL_END#import "CBA

2021-11-07 12:47:02 402

原创 iOS 14 IDFA获取

if (@available(iOS 14, *)) { [ATTrackingManager requestTrackingAuthorizationWithCompletionHandler:^(ATTrackingManagerAuthorizationStatus status) { if (status == ATTrackingManagerAuthorizationStatusAuthorized) { NSString

2021-11-05 16:23:39 414

原创 Xcode 没有提示

退出 Xcode重启电脑找到 这个 DerivedData 文件夹 删除 (路径: ~/Library/Developer/Xcode/DerivedData)删除这个 com.apple.dt.Xcode 文件 (路径: ~/Library/Caches/com.apple.dt.Xcode)运行 Xcode 看看效果,应该就好了.

2021-10-31 17:56:21 1792

原创 mysql 新用户创建的问题

解决这个错误。ERROR 1045 (28000): Access denied for user ‘root’@‘localhost’ (using password: YES)Stop mysql:systemctl stop mysqldSet the mySQL environment optionsystemctl set-environment MYSQLD_OPTS="–skip-grant-tables"Start mysql usig the options you

2021-10-02 23:13:20 230 1

原创 Metrics 和 Diagnostics 提高性能

搜索性能指标的工具XCTest Metrics衡量性能的 measure blockMetricKit搜集电池和性能指标和诊断的框架Xcode Metrics Organizer在Xcode 中电池、性能和I/O的聚合指标能耗和性能API通过 APP Store Connect API 程序化获取指标和诊断信息开发阶段#mermaid-svg-oA6wvtQ6qWyVOyXD .label{font-family:'trebuchet ms', verdana, a

2021-04-16 22:16:58 298

原创 iOS 性能优化 相关面试题 卡顿产生的原因(2)

有时我们的app在使用起来会感觉不是很流畅,那么卡顿产生的原因是什么呢?这里就涉及两部分的操作CPUGPU在CPU和GPU共同努力下将数据加工好,等待下一帧Vsync信号的到来,就将内容显示在屏幕中,也就是说CPU、GPU使用的时间如果在16ms以内,就不会产生卡顿,如果超过了就会产生卡顿,因为其会显示上一帧的数据, 超时产生的数据会在下一帧Vsync信号到来的时候进行显示。卡顿解决的主要思路尽可能减少CPU、GPU资源消耗60FPS 刷新频率,CPU、GPU加工数据在 16.7ms 以内就

2021-04-10 17:39:47 208

原创 iOS 性能优化 相关面试题 CPU&GPU (1)

面试题你在项目中是怎么优化内存的有遇到过tableview卡顿情况吗? 会造成卡顿的原因大致有哪些?列表卡顿的原因可能有哪些?你平时是怎么优化的?优化从哪些方面着手我们先来了解一下CPU 和GPU在屏幕成像的过程中,CPU和GPU起着至关重要的作用CPU主要负责 对象的创建和销毁、对象属性的调整、布局计算、文本的计算和排版、图片的格式转换和解码、图像的绘制(Core Graphics)GPU 负责 纹理的渲染 纹理就是显示屏幕上的数据格式我们要把数据显示在屏幕上是需要CPU和GPU一起

2021-04-10 13:41:52 219

原创 Appium WebDriverAgent xcode12 编译

Falling back to building from the source*** Building scheme "RoutingHTTPServer" in RoutingHTTPServer.xcodeproj*** Building scheme "RoutingHTTPServer iOS" in RoutingHTTPServer.xcodeprojBuild Failed Task failed with exit code 1:This usually indic...

2021-01-15 10:34:58 464

原创 iOS Runtime基础知识2

iOS Runtime基础知识2method_t函数四要素名称返回值参数函数体name 名称const char*types;函数的返回值以及参数的组合 对应返回值和参数IMP imp 无类型的函数指针 对应的就是函数体method_tSEL nameconst char*typesIMP impmethod_t 这个结构体就是对函数4要素的封装和抽象Type Encodingsconst char* types;不可变的字符指针返回值第1位,参数可能有多个返回值只有一个

2020-05-26 17:12:19 341

原创 iOS - Runtime 基础知识1

Runtime 基础知识数据结构类对象与元类对象消息传递机制方法缓存消息转发Method-Swizzling动态添加方法动态方法解析基础数据结构objc_objectobjc_classisa指针method_tobjc_object我们在OC中使用的所有的对象都是id类型的。id类型的对象对应到runtime当中就是 id == objc_object,就是objc_object 这样的一个结构体objc_object 数据结构isa_t 共用体 。关于i

2020-05-26 14:49:00 299

原创 TCP、UDP 在音视频实时传输中的作用

UDP在实时通信的过程中首选要使用UDP劣势:连通率低于TCP。有些防火墙只开通TCP。TCP劣势:在极端网络情况下延迟高。不适合实时传输优势:连通率高于UDP。实时传输中的重要指标连通率 默认选用UDP,当UDP不通的情况下使用TCP,如果TCP还不通那就使用HTTP。 在延迟效果和连通率之间,首选要保证连通率。...

2020-05-24 22:21:03 1901 3

原创 RTP协议

RTP是上层协议可以跑在TCP上也可以跑在UDP上。大多是情况下都是跑在UDP上,因为主要上应用在实时传输上。如果你跑在TCP上在极端网络情况下,他就不是实时的了,所以它一般用在UDP上,不在底层协议上处理,在上层协议进行处理。其实就是模拟了TCP的一些功能。seq 和TCP的seq功能类似,但是RTP的seq是按照包来的,第一个包是1,第二个包是2.而不是按照字节来的。所以tcp是流式...

2020-04-19 21:18:48 457

原创 UDP 与 RTP 在音视频中的作用

UDP 源端口 目的端口 UDP长度(Header+Data) 校验合 数据 UDP的结构非常简单,包括源端口目的端口UDP的长度(头部长度以及数据长度)因为UDP的协议头是固定的,那么拿到总的长度就得到数据部分的长度。校验合...

2020-04-19 17:59:49 423

原创 TCP 的滑动窗口

滑动窗口在3次握手创建链接的时候,就是进行一个重要的工作就是窗口的确认。也就是发送端与接收端要确认发送数据的窗口有多大,或者说缓冲区有多大,实际窗口就是一个缓冲区对于发送端来说比如缓冲区大小是32k,接收端的是16k,这时就要统一成一样的缓存区大小。取两者之间最小的那个。...

2020-04-18 17:06:47 295

原创 TCP的ACK机制

我们先来回顾一下TCP的完整协议,通过上面两张图我们就能知道,首先是创建连接传送数据。三次握手 发起连接的是客户端接收连接的是服务端服务端处于监听状态,当有连接过来,状态就变为SYN_RCVD回复一个SYN、ACK消息,客户端收到消息后状态变为ESTABLISHED再回复一个ACK消息,服务端接收到消息后服务端也处于ESTABLISHED在这之后客户端与服务器直接就可以进行消息的收...

2020-04-18 09:17:08 1201

原创 TCP四次挥手

TCP4次挥手流程Initiator 发起端Receiver 接收端起始阶段两端都是ESTABLISHED发起端先发起close命令,在tcp协议的底层会发送一个FIN(tcp包,seq=x,ack=y),发送FIN包意味着发起端要与接收端断开链接。状态变为FIN_WAIT_1,处于等待的第一步。接收端接收到消息后,状态变为CLOSE_WAIT,同时回复ACK消息(seq = y,a...

2020-04-12 11:27:21 213

原创 TCP三次握手

TCP三次握手流程图发起端称为客户端接收端称为服务端客户端向服务端发起一起请求(1次)服务端进行一次回复 (2次)客户端再向服务端进行一起确认 (3次)在socket编程中的流程最开始双端的状态机都是close服务端要创建socket进行监听,随之状态机变为LISTEN客户端要发起链接,会调用connect()对服务端进行链接,SYN位置为1,状态变为SYN_SENT (...

2020-04-12 10:30:26 183

原创 TCP协议

TCP/IP 协议栈MAC HeaderIP HeaderTCP/UDP headerTCP/UDP DataMAC Header14byte20byte20 byte4 Byte组成结构最底层是1500 byte的以太网桢桢头 14byte桢尾 4 byte中间部分为以太网桢的数据部分在以太网桢的数据部分又分为IP协议头很IP协议数据部分...

2020-04-11 15:01:03 162

原创 IP协议详解

IP协议详解我们开始学习网络协议,我们要做实时音视频传输。最关键的就是网络传输,要学好网络传输,我们就要对整个网络协议有一个清晰的认知,在这个网络协议中,我们做实时音视频最主要的就是使用UDP。为什么要使用UDP?TCP的优势与劣势UDP的优势与劣势知道以上2点后,我们就能知道我们为什么要使用UDPIP协议头无论是TCP、UDP、ICMP都是在IP协议头之后的数据部分。IP...

2020-04-10 20:10:46 256

原创 动态获取ip

参考文档请求流媒体ip创建随机分配ip加入回传创建房间的ip客户端ip分发服务流媒体服务

2020-03-12 10:02:44 304

原创 FFMPEG RTP RTMP

推送本地mp4ffmpeg -re -i bunny.mp4 -vcodec copy -an -f rtp rtp://127.0.0.1:11111 -vn -acodec copy -f rtp rtp://127.0.0.1:11122>ffmpeg.sdp将RTP转发为RTMPffmpeg -protocol_whitelist file,udp,rtp -i ffmpeg...

2020-03-09 14:23:21 312

原创 flutter iOS 相关记录

1、Permitted background task scheduler identifiers 后台运行权限 内容输入包名

2020-03-03 10:42:52 395

原创 Ubuntu下mediasoup-demo搭建

curl -sL https://deb.nodesource.com/setup_12.x | sudo -E bash -sudo apt-get install -y nodejsapt install npm使用淘宝镜像临时使用npm --registry https://registry.npm.taobao.org持久使用npm config set reg...

2019-12-28 12:27:35 901

原创 Flutter+Janus实现视频会议教程

Flutter工程结构详细教程见下面视频课程地址CSDN学院地址网易云课堂地址

2019-12-09 22:10:07 1225 1

原创 ubuntu18.04 nginx https 搭建

sudo apt-get updateapt-get install build-essentialapt-get install libtoolsudo apt-get install libpcre3 libpcre3-devapt-get install zlib1g-devapt-get install opensslwget htt...

2019-11-25 11:06:59 961

原创 Janus iOS 视频会议端目录结构

iOS端工程结构介绍Utils 文件夹sdp 对象封装类随机字符串生成Janus 文件夹JanusConnection PeerConnection类封装JanusHandle Janus句柄操作JanusTransaction Janus 事务ViewController 功能进入首页 目前仅提供视频会议入口VideoRoomVC 视频会议房间视图控制器Me...

2019-11-25 11:05:17 542

原创 Ubuntu coturn 环境搭建

sudo passwd rootapt-get update apt-get install libssl-dev libevent-dev libpq-dev mysql-client libmysqlclient-dev libhiredis-dev make -yapt-get install gdebi-core -yapt-get install sqlite libsqli...

2019-11-17 09:40:08 395

原创 xcode没有提示

退出 Xcode重启电脑清空里面的内容 ~/Library/Developer/Xcode/DerivedData删除 ~/Library/Caches/com.apple.dt.Xcode

2019-11-15 14:06:46 155

原创 FFMPEG 入门系列教程 移动平台编译

移动平台编译准备工作iOS端FFMPEG编译流程Android端FFMPEG编译流程准备工作FFMPEG版本4.1.3android-ndk-r17CiOS端FFMPEG编译流程4.1编译脚本传送门下载脚本后运行即可。Android端FFMPEG编译流程...

2019-07-28 17:31:03 180

原创 iOS 单例模式单独调用alloc 、 copy、mutableCopy依然为单例

原文地址:https://blog.csdn.net/qqMCY/article/details/88648000我们先写一个单例看看输出结果+ (instancetype)sharedInstance { static dispatch_once_t onceToken; dispatch_once(&onceToken, ^{ ins...

2019-03-18 19:33:21 391

原创 一个指针实现双向链表

用一个指针实现双向链表这个东西除了在面试中能够用到,其他地方哪里会用到,这个我也不知道。希望知道的人能够在评论中说下。下面直接给出代码typedef struct _Q1LinkNode{ int data; unsigned long link;}Q1LinkNode;// 创建一个节点Q1LinkNode *createQ1LinkNode(int

2017-03-27 10:18:19 2037 1

原创 iOS 用个人证书shell打包上传蒲公英

用个人证书Shell打包发布蒲公英。下面记录下主要步骤1、shell脚本#!/bin/shfunction setup_dir {if [ -d "${BUILD_PATH}" ]; thenrm -rf "${BUILD_PATH}"fimkdir -p "${BUILD_PATH}"touch ${LOG_FILE}}function build_upload {

2016-12-29 16:18:22 1978

原创 iOS 键盘中使用[UIApplication sharedApplication].statusBarFrame

最近适配需要使用[UIApplicationsharedApplication].statusBarFrame不过在键盘中被禁用。这里写下解决办法:

2016-11-15 20:03:54 2376

原创 iOS 虚拟GPS 就是为了玩pokemon go 哈哈哈哈

pokemon go  这么火国内不能体验真是可惜啊。下面分享个方法可以玩  首先,需要国外的app store 账号,这个在网上搜下有不用绑信用卡就能创建的免费方法。我用的是美国区的账号。  其次就是vpn。上网买个吧一个月用不了多钱。还能多看看外面的世界。  最后就是虚拟GPS了。下面配图游戏效果图。

2016-07-15 11:00:43 6103 3

原创 PHP 连接mysql数据库

报错:Warning: mysqli::mysqli(): (HY000/2002): No such file or directorycd /var sudo mkdir mysqlsudo chmod 755 mysqlcd mysqlsudo ln -s /tmp/mysql.sock mysql.sock这样就ok了

2016-06-24 09:29:34 820

原创 C 指向指针的指针

这里留个例子查找字符串位置int find_char1( char **strings , char value){ while( *strings != NULL ){ while( **strings != '\0' ){ char tmp = *(*strings)++; NSLog(@"tmp = %c",tmp

2016-06-12 19:38:18 583

原创 gitlab环境配置

最近要配置一套gitlab环境,下面主要记录下配置过程中遇到的问题。参考资料:1、官网:https://about.gitlab.com/downloads/#centos62、下载列表:https://packages.gitlab.com/gitlab/gitlab-ce3、 https://blog.wu-boy.com/2014/12/easy-to-install-git

2016-06-03 10:21:31 1340

原创 iOS 开启文件共享权限

当我们像要实现在itunes上进行文件共享,只需要在配置文件中进行如下配置修改后的结果。

2016-05-10 20:17:10 18510

spark_2_6_3

spark_2_6_3.dmg

2014-12-23

万年历formac

万年历formac

2014-12-20

iOSSorted排序

iOS中文排序:博客地址:http://blog.csdn.net/qqmcy/article/details/40934323

2014-11-09

OBJECTIVE-C设计模式

OBJECTIVE-C设计

2014-11-06

ExpandedListView

ExpandedListView cocos2d-x3.3bate0 版内包含例子

2014-10-13

LayerMultiplexTest

LayerMultiplexTest的使用

2014-10-13

AsyncTaskTest

AsyncTaskTest 异步加载类:http://blog.csdn.net/qqmcy/article/details/39890837 使用文章 将TextureCache类异步加载功能讲解

2014-10-08

VS2013和VS2012

VS2013和VS2012

2014-09-23

iOS与Android通用AES加密

iOS与Android通用AES加密 ,测试后可以用如果有问题请留言 在这个博客上http://blog.csdn.net/qqmcy/article/details/39483075

2014-09-22

简单的Socket服务器

简单的Socket服务器,这个主要是配合Cocos2d-x下使用的简单的测试服务器

2014-09-09

SocketDemo

cocos2d-x3.2 下使用Socket

2014-09-09

ScreenFlow-4.5.2.zip内涵注册码

ScreenFlow-4.5.2.zip内涵注册码

2014-08-19

cocos联动的表格

cocos联动的表格文章地址:http://blog.csdn.net/qqmcy/article/details/38361587

2014-08-03

ConvertToUTF8

ConvertToUTF8

2014-07-19

Cocos页面滑动指示圆点

参考http://blog.csdn.net/qqmcy/article/details/37612457

2014-07-09

cocos2d下ExpandedListView

cocos下实现类似Android下ExpandedListView,使用3.1以上版本。 使用说明见:http://blog.csdn.net/qqmcy/article/details/29559241

2014-06-09

InsomniaX-2.1.3

InsomniaX-2.1.3

2014-05-31

DJInfiniteScrollPicker

cocos2d-x3.0下循环链表的Demo,详情见http://blog.csdn.net/qqmcy/article/details/27393011

2014-05-28

Cocos2dx柱图

2dx柱图效果及使用见:http://blog.csdn.net/qqmcy/article/details/25984717

2014-05-18

2dx3.0不规则按钮

2dx3.0不规则按钮 使用方法http://blog.csdn.net/qqmcy/article/details/26161339

2014-05-18

2dx3.0可旋转的饼图类

2dx3.0可旋转的饼图类 没有传工程只传了实现类。使用方法见: http://blog.csdn.net/qqmcy/article/details/25867133

2014-05-15

字符串解压缩

字符串解压缩,使用见http://blog.csdn.net/qqmcy/article/details/25283837

2014-05-08

OS Internals Vol 相关资料

OS 相关资料

2021-11-14

JavaScript从入门到精通(第2版)

JavaScript从入门到精通(第2版)

2017-03-17

Python基础教程(第2版)

Python基础教程(第2版)

2017-02-14

CADisplayLink

http://blog.csdn.net/qqmcy/article/details/50800364

2016-03-04

iOS方法执行顺序

http://blog.csdn.net/qqmcy/article/details/50779869

2016-03-02

进程通信demo

资源解释http://blog.csdn.net/qqmcy/article/details/50771341

2016-03-02

KVO实现例子

http://blog.csdn.net/qqmcy/article/details/50635252 kvo实现说明

2016-02-04

NSObject+RunTimeUtilit

iOS 获取内部私有属性的方法 详见http://blog.csdn.net/qqmcy/article/details/50531812

2016-01-17

Reveal破解版

Reveal破解版可以用。不要分随便拿。哈哈哈

2015-09-21

charles破解工具

charles 破解工具,打开包内容 java 替换同名文件

2015-09-21

charles工具

charles 官网下载太慢,这里分享一个

2015-09-21

UNIX环境高级编程(第二版中文)

UNIX环境高级编程(第二版中文),不错的哦

2015-09-20

sourcetree中文版formac绿色工具

sourcetree中文版formac。可以使用

2015-05-04

动态库IOS例子

动态库iOS ,自己研究了一下。这里留个备份

2015-04-07

SSKeyChainDemo

SSKeyChain iOS安全第三方库的简单用法。

2015-03-21

QGifView播放GIf

GIf播放Demo,经测试可用,使用iOS8

2015-03-14

AutoAdaptationScrollView

AutoAdaptationScrollView 自动适应大小调整布局的scrollView

2015-02-27

AFStudyPost

AFNetworking Post 请求例子

2014-12-21

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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