![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
iOS_dev
文章平均质量分 62
new_dev
这个作者很懒,什么都没留下…
展开
-
iOS各个型号信息对照表
iOS各个型号信息对照表原创 2024-05-16 09:47:41 · 222 阅读 · 0 评论 -
iOS App启动优化:利用 __attribute__((used, section (“name“)))处理静态协议
__attribute__((section("name")))原创 2023-02-15 19:16:25 · 616 阅读 · 0 评论 -
责任链模式
亦称:职责链模式、命令链、CoR、Chain of Command、Chain of Responsibility意图责任链模式是一种行为设计模式,允许你将请求沿着处理者链进行发送。收到请求后,每个处理者均可对请求进行处理,或将其传递给链上的下个处理者。问题假如你正在开发一个在线订购系统。你希望对系统访问进行限制,只允许认证用户创建订单。此外,拥有管理权限的用户也拥有所有订单的完全访问权限。简单规划后,你会意识到这些检查必须依次进行。只要接收到包含用户凭...原创 2022-05-08 15:40:43 · 1024 阅读 · 0 评论 -
ffmpeg调整视频角度
最近公司要做一款视频版宠物喂食器,存在一个问题,就是视频sensor是旋转90度放置的,可能是开模影响或者是方案选型问题,这里先不做讨论。由于视频sensor不是正立放置,那么出来的视频流也是被旋转90度的,这样在app端显示的视频也需要调整。针对实时流,是比较容易处理的。可以有两种方法进行处理:一种就是将正立着的播放器旋转90度,也就是View层次的操作;第二种就是利用OPENGL的旋转矩阵,进行一个角度的旋转,也能达到显示的效果。遇到的问题就是在录像这里,由于设备端无法处理,只能由强大的Ap原创 2021-07-26 10:38:54 · 986 阅读 · 1 评论 -
iOS激光扫地机地图
最近在做一款激光扫地机地图,期间遇到了很多问题,在此做个记录,基本效果如下:主要涉及到:1、十六进制点阵转位图。这部是绘制地图的关键,主要实现如下:NSData *newData = [NSData dataWithBytes:dstBuffer length:decompressLen];Byte *newByte = (Byte *)newData.bytes;char* rgba = (char*)malloc(width*height*4);int offset=0;原创 2021-06-21 16:32:17 · 676 阅读 · 4 评论 -
UIColor 中提取 RGBA
遇到一些获取颜色RGB的需求,在这里记录下UIColor *color = [UIColor redColor];// 普通颜色可以通过 这个方法获取的RGBA的值// 颜色空间是固定的,对应RGBAconst CGFloat *cmp = CGColorGetComponents(fColor.CGColor);r = cmp[0];g = cmp[1];b = cmp[2];a = cmp[3];有些颜色是获取不到RGBA的, 比如[UIColor whiteColor][U..原创 2021-05-26 15:45:42 · 502 阅读 · 1 评论 -
MP4V2封装h265
mp4v2一般是用来做h264到mp4的封装,后来经过总结和优化,出现了支持h264/h265的版本,链接如下:mp4v2-h265从以上链接中下载的MP4V2源码相关接口如下:MP4V2_EXPORTMP4TrackId MP4AddH265VideoTrack( MP4FileHandle hFile, uint32_t timeScale, MP4Duration sampleDuration, uint16_t width,原创 2021-04-19 14:33:15 · 5291 阅读 · 6 评论 -
iOS app 无侵入控制语言显示
最近遇到了一个需求,对于支持国际化的app,需要显示指定的语言。比如:一个app做了“中文”和“英文”两种国际化语言,公司销售拿着这个app去了德国,姑且说是入乡随俗,所以呢,就把手机语言切成了德语。 这样问题就来了:在国内用的是中文,现在切成了德文,然而app依然显示的是中文,要求显示为英文。 首先,在没有无法立刻更新app的情况下,我让他提供了app语言首选项列表,就是下面这个页面: 我们做iOS的都知道,app默认在读取语言的时候是按照系统的语言首选项来的,也...原创 2021-02-05 10:10:46 · 178 阅读 · 0 评论 -
iOS 当前网络类型判断(2G/3G/4G/5G)
由于一直在做iOT方面的工作,所以app跟硬件设备之间的交互就做的特别多,自然而然的手机当前连接的ssid是什么类型的就尤为重要,之前在判断网络的发现发现xcode12竟然没有5G相关的key,今天升级到Xcode12.1发现多了CTRadioAccessTechnologyNRNSA和CTRadioAccessTechnologyNR。从而是的判断当前网络连接类型变得更完善。NR是New Radio的缩写,新无线(5G)的意思,NRNSA表示5G NR的非独立组网(NSA)模式。+ (...原创 2020-12-28 10:38:40 · 4662 阅读 · 3 评论 -
iOS常用权限是否开启判断
1.iOS开发检测是否开启定位:需要导入:#import <CoreLocation/CoreLocation.h>代码如下:+ (void)openLocationServiceWithBlock:(void(^)(BOOL))callback{ BOOL isOPen = NO; if ([CLLocationManager locationServicesEnabled] && [CLLocationManager authori.原创 2020-12-17 15:17:05 · 2301 阅读 · 1 评论 -
iOS圆形颜色选择器
最近公司做一款彩色灯,涉及到app控制灯的颜色,这样就催生了这个需求:做一个颜色选择器。做完后的效果如下:实现源码:https://github.com/hpy8804/ColorPickerDemo原创 2020-12-17 11:24:14 · 1062 阅读 · 4 评论 -
使用python3读取Excel,导出翻译供iOS&Android使用
在日常工作中,我们在开发app的时候,经常有这么一种场景: 对于一个UI效果,如果存在多语言支持(国际化支持),我们往往希望事先在需要做翻译的地方标注对应的翻译标识符(这里我们称之为Key)。如果UI页面比较多的话,累积起来的Key就会很多。最后应用到项目中,我们就需要翻译人员针对每个Key给定不同语言下的显示值(这里我们称之为Value)。在一个项目中,如果翻译较多,涉及到的语言多的话,单靠人工来对应这个Key&Value的话,工作量将会是巨大的,而且也是非常容易出错的。 这个...原创 2020-11-04 10:13:53 · 278 阅读 · 0 评论 -
MAC上解决Python3的pip安装模块路径问题
默认mac上已经安装了 python2; 而我又安装了 python3,并使用 python3;安装了 pip 默认,pip安装的包安装在了 python2上了;但是我想用 pip把安装的包安装在 python3上 ,所以如下解决方式;1:在mac上先安装virtualenv终端:sudo pip install virtualenv2: 找到 python3的路径;默认 python2的路径都在 /usr/lib/目录下,但是python3的不在终端:which pyt...原创 2020-10-23 09:02:49 · 1374 阅读 · 0 评论 -
SiriKit使用
一、SiriKit介绍Siri是一款苹果 iOS 系统提供的智能语音助手软件,它的全名是Speech Interpretation and Recognition Interface。2011年Siri第一次以 iOS 内置软件的形式随iPhone 4s一同问世之后,终于在WWDC 2016上,苹果开放了Siri的 API,开发者们可以利用SiriKit将自己的服务提供给用户。备注:SiriKit是系统调用,是一个语义处理结合扩展UI的框架,不是语音转文字的框架。SiriExtensio...原创 2020-09-21 14:18:34 · 4838 阅读 · 0 评论 -
NSString、NSData、char相互转换
NSString 转换成NSData 对象NSData* newData = [@"testdata" dataUsingEncoding:NSUTF8StringEncoding]; NSData 转换成NSString对象NSData * data; NSString *result = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding]; 在iOS底层网络的开发中,会遇到NSData 转 NSSt原创 2020-07-06 08:53:18 · 983 阅读 · 0 评论 -
RGB and YUV
什么是RGB、YUVYUV、RGB和YCbCr是色彩空间模型,而我们最常听到的BMP、PNG、JPEG、GIF都是文件存储格式。RGB就是red green blue三原色,任何颜色都可以通过这三原色按不同比例混合出来。所以应用很广泛。YUV则是亮度Y(灰度值)、色差信号U和V。我们人眼对色彩的亮度信息会比色差信息敏感,没有UV信息一样可以显示完整的图像,只不过是黑白的。在默认情况下是图像和视频压缩的标准。YCbCr 其实是YUV经过缩放和偏移的翻版。其中Y与YUV 中的Y含义一致,C...原创 2020-06-10 13:24:24 · 776 阅读 · 0 评论 -
iOS内购规则及做法分析
1、 IAP规则详解本文所述IAP(In-App Purchase),特指苹果App Store的应用内购买,是苹果为App内购买虚拟商品或服务提供的一套交易系统。首先来讨论一下IAP的基本规则以及其中的一些要点:1.1 适用范围在App内需要付费使用的产品功能或虚拟商品/服务,如游戏道具、电子书、音乐、视频、订阅会员、App的高级功能等。苹果规定,适用范围内的虚拟商品或服务,必须使用IAP购买支付,不允许使用支付宝、微信支付等其它支付方式(包括Apple Pay),也不允许..原创 2020-06-01 11:15:18 · 6326 阅读 · 2 评论 -
MQTT协议
MQTT是什么?MQTT(Message Queuing Telemetry Transport,消息队列遥测传输协议),是一种基于发布/订阅(Publish/Subscribe)模式的轻量级通讯协议,该协议构建于TCP/IP协议上,由IBM在1999年发布,目前最新版本为v3.1.1。MQTT最大的优点在于可以以极少的代码和有限的带宽,为远程设备提供实时可靠的消息服务。做为一种低开销、低带宽...原创 2020-01-17 11:10:22 · 999 阅读 · 0 评论 -
linux连接iOS设备并且安装ipa应用
Android有个adb命令,可以很方便的做一些事情,比如直接安装应用。但是因为苹果比较封闭,没有直接的命令可以使用。但是有大牛做出了这样的东西–libimobiledevice关于libimobiledevice的描述A library to communicate with services of Apple iOS devices using native protocols.i...原创 2019-12-30 10:54:12 · 1824 阅读 · 0 评论 -
iOS开发-ipa重签
ipa重签,就是将已经获取到的ipa包,通过已有的证书重新签名,这个ipa包获取的途径有很多,有的是别人直接发给你的,有的是你自己砸壳得到的,最开始接触ipa重签是因为公司面临的客户有很多款应用,但是出于某些方面原因,apple开发者账号只能给我使用,导致集团下其他程序员们没办法打包上传App Store发布。所以只能让他们打包好之后,将ipa传给我,我再进行重签之后使用application l...原创 2019-11-05 11:00:45 · 409 阅读 · 0 评论 -
xcode静态库调试方法
在xcode编码的过程中,也许是出于代码封装,亦或代码保密,我们经常会用到静态库。然而,如何来调试静态库呢? 首先,你需要有这个库的工程文件,这是个必要的条件;若没有对应的xcode可执行文件,而是用的makefile文件进行编译的,你只需将所有的文件加到工程中进行断点调试。本文主要讲到的内容是基于xcode工程的静态库调试,步骤如下: 1、在现有工程中点击右键,Add Fil原创 2013-09-22 15:43:50 · 1233 阅读 · 0 评论 -
ios中得到中英文混合字符串长度
//得到中英文混合字符串长度 方法1(按照英文字符个数统计)- (int)convertToInt:(NSString*)strtemp{ int strlength = 0; char* p = (char*)[strtemp cStringUsingEncoding:NSUnicodeStringEncoding]; for (int i=0 ; i<[strtem原创 2013-10-31 14:23:56 · 1504 阅读 · 0 评论 -
iOS中 判断字符串 中文字符 字母 数字 以及下划线
-(BOOL)isChineseCharacterAndLettersAndNumbersAndUnderScore:(NSString *)string{ int len=string.length; for(int i=0;i<len;i++) { unichar a=[string characterAtIndex:i]; if(!(转载 2013-10-31 13:39:30 · 2523 阅读 · 0 评论 -
iOS7和iOS6适配,和保留之前的坐标编码习惯,不用刻意加减
//目的:用于iOS7和iOS6适配,和保留之前的坐标编码习惯,不用刻意加减 /*方法1: *1。在vc中重写viewDidLayoutSubviews方法 *2。是用下面2个方法之一; *3。frame为ios6风格,状态栏和导航栏为平铺 *4。bounds为ios7风格,状态栏和导航栏为覆盖 *5。优点,所有subview的坐标都一ios6的标准进行编写,支持push和prese转载 2013-10-31 13:42:06 · 693 阅读 · 0 评论 -
iOS中截取屏幕中局部图片
-(void)screenShotRect:(CGRect)aRect //arect 想要截图的区域{ UIGraphicsBeginImageContextWithOptions(CGSizeMake(640, 960), YES, 0); [self.view.layer renderInContext:UIGraphicsGetCurrentContext()];原创 2013-10-31 13:37:13 · 777 阅读 · 0 评论 -
ios设置导航栏背景图片、返回按钮背景、标题颜色等等
在ios程序的编写过程中,很多时候我们都要自定义自己的UI,而不是使用cocoatouch中原有的。说起对UI的更改,很多时候我们只是修改一下原有UI的背景啊,颜色之类的,以达到新的要求。在此之前呢,设置UINavigationController的背景颜色,我会使用如下的代码:首先看.h文件#import @interface UINavigationBar (CustomB原创 2013-09-12 11:13:09 · 3866 阅读 · 0 评论 -
iOS的设计备忘录
IDP申请篇公司IDP申请:免费申请D-U-N-S号http://www.cocoachina.com/bbs/read.php?tid=132621&keyword=idp分享最新申请IDP账号的过程,包含duns申请的分享(2013年6月) http://www.cocoachina.com/bbs/read.php?tid=144852&keyword转载 2014-07-24 10:06:42 · 962 阅读 · 0 评论 -
升级iOS7后利用rvictl和wireshark抓包失效?
最近把一台设备升级到iOS7后,利用rvictl和wireshark抓包发现抓不了,无意中发现在装有xcode5的机器上可以抓包,看来rvictl与xcode是绑定的,升级到最新的iOS7后,必须要装上最新的xcode5版本才能抓包。使用rvictl有一个前提是要获取设备的UDID,看网上不少教程都是从xcode中获取UDID,步骤相当繁琐,快速获取UDID用命令行才是王道,果然不出所料,很快...翻译 2015-01-28 16:25:57 · 2668 阅读 · 0 评论 -
iOS13适配宝典
适配问题一UITextField 的私有属性 _placeholderLabel 被禁止访问了[self.textField setValue:self.placeholderColor forKeyPath:@"_placeholderLabel.textColor"];居然崩溃了,错误信息如下'Access to UITextField's _placeholderL...原创 2019-09-23 11:35:00 · 6094 阅读 · 0 评论 -
Openssl 查看证书指令
openssl 查看证书openssl x509部分命令打印出证书的内容:openssl x509 -in cert.pem -noout -text打印出证书的系列号openssl x509 -in cert.pem -noout -serial打印出证书的拥有者名字openssl x509 -in cert.pem -noout -subject以RFC2...原创 2019-09-25 11:26:34 · 17535 阅读 · 0 评论 -
iOS13 适配夜间/深色模式(Dark Mode)
夜间模式是iOS13的重要更新之一,随之而来的是我们能从系统设置中“显示与亮度”中选择“浅色”、“深色”两种模式,并且可以设置自动切换。(“控制中心”亮度调节中也可直接调节)首先看下效果图已知问题:在系统设置为深色模式时候,无法更改StateBar颜色1、如果不想适配深色模式(1)直接在项目的plist文件中设置 <key>UIUserInterface...原创 2019-09-26 09:37:41 · 3061 阅读 · 0 评论 -
分享一个类似QQ屏保解锁的代码类
话不多说了,直接上代码:.h文件//// GestureCodeViewController.h// DailyRecord//// Created by sven on 13-6-20.// Copyright (c) 2013年 sven. All rights reserved.//#import #define LOCK_POINT_TAG 1000原创 2013-09-12 13:16:39 · 848 阅读 · 0 评论