- 博客(382)
- 资源 (51)
- 收藏
- 关注
原创 iOS开发之如何保证控件位置不变,增加触控范围(即frame和bounds的区别)
大佬儿们,我又双叒叕的来了,大家有没有被问到过frame和bounds有什么区别这样的面试题?或者是如何保证Button位置不变,增加点击范围这样的面试题? 什么?没有遇到过!!!哇,如果you know,大佬,大佬,我向你膜拜膜拜,如果you don`t know,那你真的是太幸运了,快来跟我一起揭开frame和bounds若隐若现的面纱吧! 首先,认识一下frame和bounds,两者都是CGRect类型的结构体,包含一个CGPoint(起点)和一个CGSi...
2020-08-20 20:53:36 637 1
原创 iOS开发之lldb调试命令
首先声明一点,这是把之前混合的博客内容,又进行了单独整理,望大家多多包含......开发过程中,我们难免需要断点调试,但是断点调试之后,我们想知道一些对象信息或者堆栈信息,应该怎么办?相信断点调试过的开发者都知道,断点执行后,会在输出框内出现(lldb)这样的字眼,此时,我们就需要相关的调试命令,然后输出我们想要的内容了,现在就开始简单的介绍一下吧!1、po命令print object的缩写,表示显示对象的文本描述,如果对象不存在,则打印为nil;比如:你想知道一个视图包含了哪些子视图,你可
2020-07-11 18:09:55 616
原创 iOS开发之如何优化App的电量
终于有时间整理一下,以前没来的及记录的知识点了,话不多说,开始表演......程序的耗电主要是四个方面:CPU处理,定位,网络,图像;对于这四个方面的优化,我们可以这么做:CPU处理:1、尽可能降低CPU、GPU的功耗,比如:少用定时器;2、优化I/O操作(什么,你不懂什么是I/O操作?简单的来说就是对数据的处理,读写操作),比如:不要频繁的写入小数据,而是积累到一定的数量再写入;读写大量的数据可以使用Dispatch_io,GCD内部已经做了优化;数据量比较大的时候,使用数据库;定
2020-07-09 22:20:46 510
原创 iOS开发之利用IJKPlayer+nginx+rtmp搭建直播的推流和拉流
最近项目中想实现直播的功能,所以研究了一段时间的直播功能,当然也是在别人的基础上不断的学习实现的,所以记录一下,希望对大家有所帮助。直播拉流功能:这里使用了开源的IJKPlayer第三框架,ijkplayer 是一款做视频直播的框架, 基于ffmpeg,是大多数搭建直播平台的首选框架,当然各大云平台都有自己的直播框架,具体大家使用的时候可以自行研究,有问题再留言,我这里不再说明框架的集成和拉流过程
2017-06-29 15:51:23 3348 1
原创 MAC端Git安装,命令使用以及环境搭建
MAC上的git配置,配置用户名和用户邮箱,以后每次与Git的交互都会使用该信息。git config --global user.name "your_name" git config --global user.email "your_email@gmail.com"配置信息可以更改,以后想要更改使用上面指令就可以。同时可以使用git config --list指令查看Git的配.........
2017-02-15 15:12:01 7891 1
原创 iOS开发 runtime实现原理以及实际开发中的应用
自己写了一个小例子:有一些相关知识点和博客文章A: 首先现在控制器里面初始化一个对象,然后调用对象的方法:#import "ViewController.h"#import "Message.h"#import "NSObject+AssociatedObject.h"@interface ViewController ()@end@implementation ViewC
2016-07-21 11:49:26 1271
原创 关于颜色色值和对应名称的总结
颜色值定义HTML颜色为红,绿,蓝三色值(RGB)的组合使用一个十六进制表示法(十六进制)。可以给光源之一的最低值是0(十六进制:00)。最高值是255(十六进制:FF)。被指定为十六进制值3对两个数字,一个#符号开始。颜色颜色的十六进制颜色RGB#000000RGB(0,0,0)
2016-04-19 20:40:58 9361
原创 ArkTS之npm ERR! Failed at the esbuild@0.21.5 postinstall script.
查看node版本:v20.16.0,再次执行interface2class安装命令,如果没有报错,执行命令:i2c -V,显示版本:v0.1.2,说明已经安装成功,也可以找到相关文件,执行命令:i2c ./message.ets,如果有对应class自动转换,说明interface2class工具成功。查看了node版本:v8.4.0,npm版本:5.3.0,因为错误在Failed at the esbuild@0.21.5 postinstall script,猜测可能是Node.js版本太低导致的。
2024-08-05 22:14:28 359
原创 iOS开发之编译OpenSSL静态库
此时一个架构对应的libssl.a、libcrypto.a静态库和头文件已经生成,此时你需要把对应的架构文件夹,如openssl_arm64,放到一个自定义的文件夹下,当然也可以直接放到源码文件夹的上层文件夹下,然后删除源码文件夹,重新解压下载的OpenSSL源码压缩包,开始编译其他架构下的静态库,从第二步开始执行,一定要注意修改对应的架构名称,一定要注意修改对应的架构名称,一定要注意修改对应的架构名称,重要的事说三遍!
2023-09-13 14:14:43 1939
原创 iOS开发之查看静态库(.a/.framework)中包含的.o文件和函数符号(ar,nm命令)
符号的类型是以一个字母的形式显示的,小写字母表示这个符号是本地(local)的,而大写字母则表示这个符号是全局的(global,externel)。一般来说,类型有以下几种:T、D、B、U、W。.a/.framework其实是把编译生成的.o文件,打包成一个.a/.framework文件。W,weak的缩写,表示如果其他函数库中也有对这个符号的定义,则其他符号的定义可以覆盖这个定义;小写表示是本地符号,大写表示全局符号(external);U表示没有定义的,在这个库里面使用了,但是在其他库中定义的符号;
2023-08-24 14:25:10 2863
原创 iOS开发之layer.frame,layer.anchorPoint,layer.position对frame的影响
iOS开发之layer.frame,layer.anchorPoint,layer.position对frame的影响
2023-01-06 18:07:57 652
原创 iOS开发之iOS15.6之后拉流LFLiveKit,画面模糊及16.1马赛克问题
iOS开发之iOS15.6之后拉流LFLiveKit,画面模糊及16.1马赛克问题
2022-12-06 14:58:25 1318
原创 iOS开发之自定义的framework添加第三方framework,lipo和ar命令看.o文件
由于需要将之前生成的mediapipe.framework添加到自己的framework中,但是很奇怪用普通的拖拽方式添加,项目工程在加载运行自己的framework时,总是找不到mediapipe.framework中的头文件,而只编译自己的framework时,也是可以通过的,或者直接将mediapipe.framework添加到项目工程中,调用库中的方法也可以使用,所以在此记录一下遇到这种情况时,怎么处理。
2022-11-17 17:43:08 2432
原创 iOS开发之机器学习框架MediaPipe(5)
研究了这么长时间,终于可以写一下如何生成想要的功能包framework,然后放入自己的项目中了。
2022-11-11 14:55:53 2344 7
原创 iOS开发之Undefined symbol:_OBJC_CLASS_$_****
更新了Xcode14.0.1以后,项目突然曝出了此问题Undefined symbol:_OBJC_CLASS_$_****,因此记录一下,解决此问题的步骤
2022-10-27 14:42:56 17489
原创 iOS开发之机器学习框架MediaPipe(3)
上次Tulsi.app终于安装成功了,现在就是要通过Tulsi来运行MediaPipe中的机器学习的Demo在Xcode上运行起来,废话不多说,直接上手开始吧~
2022-10-26 11:34:26 1164 3
原创 iOS开发之机器学习框架MediaPipe(2)
上述操作完成后,接下来就是下载安装Tulsi.app、配置运行MediaPipe项目的操作。在这个过程中也是遇到了匪夷所思的问题,接着开始。
2022-10-24 20:54:11 1192
原创 iOS开发之机器学习框架MediaPipe(1)
MediaPipe是谷歌开源的机器学习框架,用于处理视频、音频等时间序列数据。MediaPipe Solutions提供了16个Solutions: 人脸检测、Face Mesh(面部网格)、虹膜、手势、姿态、人体、人物分割、头发分割、目标检测、Box Tracking、Instant Motion Tracking、3D目标检测、特征匹配等。
2022-10-13 21:03:05 1567 2
原创 iOS开发之The code signature version is no longer supported.
遇见此问题,解决方法一:Build Setting -> Other Code Signing Flags 添加 --generate-entitlement-der解决方法二:Xcode > Target > General 找到 "Embedded Framework, Libraries and Embedded Content" Set all frameworks in theEmbeddedfield to "Do not Embed"我的就是使用方法..
2022-05-25 16:12:35 751
原创 WebRTC开发之iOS15.4快速晃动,远端观看卡顿掉帧问题
前两周刚刚更新了iOS15.4的系统,然后就发现了一个奇怪的问题,在iOS15.4的手机上安装音视频Demo,快速晃动时,远端看到的画面会卡顿,并且掉帧、帧率下降、不断变化,然而在其他系统手机上,却没有问题,所以是为什么?1、难道是iOS15.4系统的采集修改,所以丢掉了部分帧?2、难道是iOS15.4系统的硬编码修改,所以丢掉了部分帧?3、难道是iOS15.4系统与WebRTC不匹配,所以WebRTC丢掉了部分帧?根据这些猜想和疑问,在采集和编码处分别添加输出语句,测试多次发现:设置帧率1
2022-03-30 18:32:45 1680 1
原创 WebRTC开发之webrtc/depot_tools/gn: line 8: exec: python: not found
最近更新了Mac系统macOS Monterey和最新的Xcode13.3,然后发现webrtc无法编译了,出现了如下问题:于是根据图片问题提示,打开gn文件,发现写的是“python”,记得以前Mac自带python2.7,文件代码写的没问题啊,怎么回事?于是打开终端查看python,发现竟然找不到,查看了Mac最新的系统介绍,发现Mac竟然把自带的python2.7改成了自带python3了,哇,好坑......首先,我先把gn代码改成了python3,终端输入gn,发现可以运行,.
2022-03-21 14:13:30 1899 1
原创 《蛙》杂记------莫言
“父亲兴奋地说:好,是头小母牛!姑姑气哄哄地说:真是奇怪,女人生了女孩,男人就耷拉脸;牛生了小母牛,男人就咧嘴乐!父亲说:小母牛长大了可以繁殖小牛啊!姑姑说:人呢?小女孩长大了不也可以生小孩儿吗?父亲说:那可不一样。姑姑说:有什么不一样!” ------摘自第一部分 “我想起母亲生前不止一次地...
2022-03-02 18:08:48 490
原创 iOS开发之strip处理framework的调试符号
iOS安全,符号表中有些符号是必须的,但是很多符号都是可以去掉的,符号表中可以看到很多暴露的类名、函数名,让攻击者可以看到有哪些关键的逻辑,所以要剥去、除去不必要的符号表,这样也可以将framework包进行瘦身,删除framework中的调试符号,首先 cd 到framework文件夹下,然后执行:strip -S -X (包名)...
2021-12-17 17:54:48 2565
原创 Python基础入门之二进制的负数
刚刚介绍了位运算符,里面涉及到了二进制的运算,出现了a = 60,~a = 1100 0011 = -61的计算,所以这里记录一下二进制的负数表示和计算。二进制是计算技术中广泛采用的一种数制。二进制数据是用0和1两个数码来表示的数。它的基数为2,进位规则是“逢二进一”,借位规则是“借一当二”,由18世纪德国数理哲学大师莱布尼兹发现。当前的计算机系统使用的基本上是二进制系统,数据在计算机中主要是以补码的形式存储的。计算机中的二进制则是一个非常微小的开关,用“开”来表示1,“关”来表示0。在二进制码
2021-12-12 22:26:04 4764 1
原创 Python基础入门之位运算符
位运算符是将数字转换成二进制的形式,然后进行计算。例如:a = 60,b = 13,a & b = 12,这是因为a、b转换成二进制为a = 0011 1100,b = 0000 1101,a & b = 0000 1100 = 12,位运算符包含以下几种:位运算符 含义 实例:a = 60 = 0011 1100, b = 13 = 0000 1101 & 与:参与运算的两个值,如果两个...
2021-12-12 21:07:13 955
原创 《新参者-加贺恭一郎》、《麦田里的守望者》杂记
《新参者-加贺恭一郎》杂记---东野圭吾、著《麦田里的守望者》杂记-----杰罗姆·大卫·塞林格、著
2021-11-22 11:51:33 430 1
原创 WebRTC音视频之噪音消除功能
WebRTC对于iOS和Android的音频处理,是有很大的不同的,WebRTC基本上是使用的iOS自身的音频降噪、环境音处理、人声增益处理,因为WebRTC认为iOS的音频处理已经满足相对理想的效果,所以在算法处理上进行了iOS和Android的区分。...
2021-10-26 20:03:44 3429 1
原创 WebRTC音视频之美颜开启后小流闪烁问题
美颜开启后,打开双流,远端查看小流时,小流闪烁问题项目中使用的是GPUImage进行的美颜处理,添加了美白、磨皮、亮光,但是当开启美颜效果后,如果只使用大流进行查看视频,视频美颜正常,画面正常,但是如果使用小流查看美颜画面,视频画面中会偶尔闪烁黑块,类似于大块马赛克效果,然后进行分析,如果将美颜效果关闭,小流视频画面正常,视频处理流程:将采集到的视频画面,进行YUV或者RGB美颜渲染处理,然后将画面帧传递给WebRTC进行编码,最后上行给服务器,下发给远端观看。猜测,既然关闭美颜画面,小流画面没有问
2021-10-13 01:00:00 628
原创 WebRTC音视频之优化音频造成的内存增长和增加大小流
1、关于多人通话内存不断增长的问题在旧版本iPhone上(比如:iPhone6、6s、7),四人及以上通话,造成内存不断增长,使用Instrument工具分析,是因为audioFrame创建过快,再加上人数过多以后,CPU处理能力跟不上,释放audioFrame对象逐渐变慢,造成内存逐步上涨,后来查看了线程等级和使用位置,进行了调整,将原来的AudioEncoder线程的等级从NORMAL提高到了HIGH,视图如下:其实也可以通过修改其他两个关于video和stream的线程等级达到效果,但是.
2021-10-11 14:13:57 1485
原创 常用知识之CMSampleBufferRef系
//// ViewController.m// Demo//// Created by on 2021/9/28.//#import "ViewController.h"#import <CoreMedia/CoreMedia.h>@interface ViewController ()@end@implementation ViewController- (void)viewDidLoad { [super viewDidLoad]; .
2021-09-29 11:01:07 2335
原创 常用知识之iOS15代码、功能、属性新适配
环境工具:iOS15、Xcode131、UINavigationBar、UITabBar、UIToolBar部分属性在iOS15上是无效的,比如:导航栏颜色、字体颜色、阴影设置等,需要使用iOS13更新的API中UINavigationBarAppearance、UITabBarAppearance的实例对象来设置。对导航栏的性能做了优化,默认情况下,如果导航栏与视图没有重叠,导航栏的背景透明,如果重叠,会变成模糊的效果。如果想要一直就是模糊效果,可以通过改变scrollEdgeAppearan
2021-09-22 16:23:47 1155
原创 常用知识之将Demo上传到Github上的操作步骤(2021.09)
早在2016.08就整理过一篇相关文章:将项目Demo上传到Github上的操作步骤_hbblzjy的博客-CSDN博客之前我有很多代码直接上传到了CSDN上,主要是因为操作方便,今天我就说说将源码Demo上传到Github上的操作步骤。首先,你要先确定自己在Github上有自己的账户名,账户邮箱和密码。如果没有可以先去https://github.com注册,如果有了可以点击Sign In登录。之后,我们开始进行命令行操作(当然你也可以下载客户端进行操作)打开终端,输入:第一步:git init第二步:g
2021-09-14 15:19:26 232
原创 OC常用知识点之陀螺仪测方向
简单记录一下,封装了一个BHMotionOrientation类,以供大家参考,当然demo也添加了一view的基础旋转。//// BHMotionOrientation.h// MotionOrientationDemo//// Created by JasonHam on 2021/9/13.//#import <Foundation/Foundation.h>NS_ASSUME_NONNULL_BEGINtypedef NS_ENUM(NSInteger,
2021-09-14 09:53:31 411
原创 2021年开学寄语
时光荏苒,如白驹过隙,如白云苍狗,2021年开学的钟声已经响起,各地学子陆续步入校园,响起2012年的自己,不禁感慨万千。感慨高考之前的少年稚嫩和美好的学习时光,感慨高考之后将要步入的大学生活,憧憬着未来。如今想起,会有很多遗憾,但快乐的时光依然历历在目,往事已然随风,在此祝愿广大学子,不忘初心,不负韶华。 以下摘自网络,2021清华大学开学典礼演讲稿: 首先请允许我代表我的同事们向今天(9月2日)入学的2021级同学们表示最热烈的祝贺!每一级的清华人都是特殊的,但是...
2021-09-06 11:56:02 175
iOS导航头像缩放Demo
2016-08-08
MVVM、图片选择封装(UICollectionView)、富文本封装(NSAttributedString)、引导动画(Animation)四个知识点Demo
2016-07-25
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人