iOS开发
文章平均质量分 68
吉吉有梦想
这个作者很懒,什么都没留下…
展开
-
iOS开发——Xcode12创建framework静态库记录必要的改动点,以及引用三方库问题
文章目录一、前言二、创建Framework工程2.1 项目创建2.2 工程设置2.3 头文件设置三、第三方库引用四、打包脚本:sh五、打包脚本:Aggregate一、前言记录Xcode12 创建新的framework静态工程时候所需的改动点,以及引用三方库问题。记性不太好,写下来方便自己查看。引用三方库的意思就是在SDK内使用了第三方工程,但是由于做SDK是不能内嵌开源三方库的,因为容易造成跟宿主的引用出现重复定义的情况。但是编译过程还需要这块内容,本文章第三节就是解决这个问题的,也是网上查找,自己做原创 2021-03-12 15:37:31 · 1708 阅读 · 2 评论 -
runtime——一个题引发了长达4天的补习
文章目录一、前言二、问题的抛出(why)2.1 请听题(看代码)2.2 输出答案2.3 提出问题三、runtime3.1 什么是runtime3.2 objc与runtime的交互四、NSObject的过往4.1 objc_class4.3 接下来再说说isa4.4 isa_t结构体的具体实现4.4.1 initIsa方法4.5 cache_t的具体实现4.6 class_data_bits_t的具体实现4.7 区别图五、元类六、回到最初的问题6.1 clsObj实例过程6.2 a如何调用实例方法一、前言原创 2020-10-24 23:38:15 · 686 阅读 · 0 评论 -
iOS开发——Tagged Pointer学习
文章目录一、前言二、什么是Tagged Pointer三、 Tagged Pointer用来做什么3.1 内存是怎么浪费的3.2 Tagged Pointer引入3.3 代码验证四、总结一、前言近期遇到runtime一个奇奇怪怪的问题,再学习runtime过程中了解到的Tagged Pointer,所以做个总结。加粗样式二、什么是Tagged Pointer在 2013 年 9 月,苹果推出了iPhone5s,与此同时,iPhone5s 配备了首个采用 64 位架构的A7双核处理器,为了节省内存和提原创 2020-10-24 19:51:54 · 286 阅读 · 0 评论 -
iOS开发——WKWebView的学习、爬取
文章目录1. 前言2. 全部代码3. WKWebView3.1 引库3.2 网页简单加载4. WKNavigationDelegate4.1 方法4.2 本文主要用的4.2.1 分析1. 前言当时不知道怎么想的,想实现把一个网页数据拿下来然后自己组装到app的tableview里面,后来想法废弃了,但是这个东西学了部分,做个记录吧,所以有了这个文章,同时,后续还会补充一下WKWebView的学习。截止发文:目标网址的结构没有变化,我会把我现在爬取的网页结构一起放在demo里面,供分析用。要不然结构变.原创 2020-09-18 15:59:55 · 982 阅读 · 0 评论 -
iOS14——位置权限单独申请精准定位使用方法
踩的坑记录一下,搜了好多地方都没有搜到1. CLLocationManager类定位新增属性字段:CLAccuracyAuthorization用于判定用户开启的定位方案typedef NS_ENUM(NSInteger, CLAccuracyAuthorization) { // This application has the user's permission to receive accurate location information. // 这个是精准定位 CLAccuracyAu原创 2020-08-28 19:08:45 · 6795 阅读 · 3 评论 -
iOS开发——文件操作,NSString,NSArray相关内容
文章目录1. 沙盒目录获取1.1 document目录获取1.2 cache目录获取2. 字符串拼接2.1 字符串拼接2.2 路径拼接2.3 hasPrefix3. NSFileManager3.1 创建3.2 浅度遍历目录3.3 深度遍历目录3.4 获取文件的 属性3.5 文件夹创建3.6 文件创建3.7 文件比较4. NSArray4.1 sortedArrayUsingComparator5. 时间比较1. 沙盒目录获取1.1 document目录获取NSArray *paths = NSSea原创 2020-08-24 16:34:06 · 297 阅读 · 0 评论 -
iOS开发——记录一些好用的方法
文章目录前言1、数组1.1 查找数组中是否含有某个对象2、字典2.1 新建key-val2.2 根据key查value3、字符串3.1 字符串按字符拆分为数组4、布局4.1 frame与bounds的区别详解5、UI6、MJRefrsh前言记录常用到的一些方法,持续更新。1、数组1.1 查找数组中是否含有某个对象// myArr是自己的数组,object是要找的那个对象[myArr containsObject:object];2、字典2.1 新建key-val[myDic set原创 2020-07-26 21:58:56 · 1506 阅读 · 0 评论 -
iOS开发——AVPlayer自定义播放器(持续更新,学习中)
文章目录一、 前言二、相关知识点2.1 AVplayerItem2.2 AVplayer2.3 AVPlayerLayer三、代码部分四、demo一、 前言边学边记录AVPlayer封装一个功能十分 全的自定义播放器,目前在学习阶段,demo和文章会根据学习进度与总结情况去更新,欢迎各位批评指正。二、相关知识点AVPlayer本身并不显示视频!需要一个AVPlayerLayer播放层来显示视频,然后添加到父视图的layer中。AVPlayer只负责视频管理和调控!而视频资源是由AVPlayerI原创 2020-07-26 21:43:08 · 4548 阅读 · 0 评论 -
iOS开发——NSURLSession初步学习(下载、待完善)
文章目录一、前文二、NSURLSession与NSURLConnection区别2.1 使用现状2.2 普通任务、上传和下载2.3 下载任务方式2.4 请求方法的控制2.5 断点续传的方式2.6 配置信息三、NSURLSession的优势四、代码部分4.1 Xcode不支持http访问的解决办法4.2 手动缓存(繁琐)4.3 自动缓存四、 demo一、前文写这篇文章,是为了总结一周内的学到的关于NSURLSession的相关知识,并且实现了简单的下载缓存功能,NSURLSession有很多很重要的知识原创 2020-07-26 20:42:33 · 399 阅读 · 0 评论 -
Charles4.5.6下载与配置(windows&macOS)以及iOS抓包
文章目录一、下载二、 注册2.1 官方最新版通过注册码激活三、配置3.1 解决访问https网站被拦截问题3.2 解决抓取内容出现乱码问题四、抓包4.1 windows环境下4.2 mac环境下4.3 手机(iPhone)一、下载下载地址:https://www.charlesproxy.com/latest-release/download.do根据自己系统下载二、 注册不注册的话会出现每30分钟就断开的情况2.1 官方最新版通过注册码激活1、安装好后,进入help—>Register原创 2020-07-08 19:48:00 · 5030 阅读 · 6 评论 -
iOS开发——图片叠加显示及UIImageView的部分好用的设置
记录一下图片叠加的方法,用于显示在imageview中绘图的形式,将两个图绘制成一个// 图片叠加,形成新的图- (UIImage *)addImage:(UIImage *)imageName1 withImage:(NSString *)imageName2 { UIImage *image1 = imageName1; UIImage *image2 = [UIIm...原创 2020-03-19 23:18:45 · 1300 阅读 · 0 评论 -
iOS开发——UI环(圆)形进度条按进度进行绘制
文章目录一、 写在前面二、 CABasicAnimation的使用三、 基本代码四、 自我总结一、 写在前面根据需求,需要实现一个圆形的进度条,根据当前程序进行的进度来实现进度条的状态。文章最后会提供demo二、 CABasicAnimation的使用三、 基本代码四、 自我总结...原创 2020-01-20 16:16:02 · 2259 阅读 · 0 评论 -
iOS开发——数据的保存与导出,以及不定参数的使用和图片的简便批量读取
文章目录一、写在前面二、数据的存储与导出2.1 沙盒介绍2.2 数据存储2.2.12.3 数据的续写2.4 补充Excel官方SDK2.5数据的导出三、知识的扩充四、自我总结一、写在前面有段时间没有更新内容,前阵子回学校参加专业的实训,没有什么好写的。这篇文章主要记录一下学习沙盒、数据存储与导出的过程,与学习的总结,以及能够提供一个完整的demo,用于新知识的学习。二、数据的存储与导出2....原创 2020-01-20 15:11:41 · 1670 阅读 · 0 评论 -
【iOS 真机调试支持包】已更新到iOS13.3
关于iOS13.3的问题,我下载了最新的xcode之后,发现里边并没有iOS13.3的支持包。然后查询了很多资料后,发现iOS13.2的支持包就可以调试13.3,对于个别不能调试成功的朋友们,大家可以尝试括号中的方法----↓↓↓(iOS 13.3 (将13.2拷贝,并重命名为13.3就可以了)...原创 2020-01-13 10:22:20 · 1355 阅读 · 0 评论 -
iOS开发——"duplicate symbol"解决静态库之间的冲突
文章目录1. 问题描述2. 解决两个三方库之间的问题2.1 查看静态库所支持的架构2.2 解决步骤3. 写在最后4. 学习1. 问题描述duplicate symbol(重复,相同的文件名)是一种常见的链接错误,不像编译错误那样可以直接定位到问题的所在。但是经过这种错误提示,会潜意识的反射出是文件重复了。一般出现的原因:工程文件,同一个类文件被引入了两次这种一般在文件视图,用名字过滤...原创 2019-12-23 16:55:01 · 1211 阅读 · 0 评论 -
iPhone免费的投屏方式
由于经常需要分享一些设计的UI 效果需要展示所以说经常会有 将手机屏幕投影到大屏幕上得需求。方法一: 让iPhone 可以直接通过AirPlay 连接AppleTV 进行投影 但是Apple TV不是每个地方都具备的方法二: 在Mac 上下载一个AirServer , 然后通过AirPlay连接到 Mac 进行投影。 但是这款软件是收费的 试用期只有一个月左右。方法三: 使用QuickTi...原创 2019-12-12 13:54:02 · 1886 阅读 · 3 评论 -
iOS开发——Xcode11打包framework动态库/静态库以及Bundle资源文件打包
文章目录一、写在前面二、framework打包动态库2.1 有关framework的误区2.2 五种 Mach-O 类型2.2.1 Executable2.2.2 Bundle2.2.3 Relocatable Object File2.2.4 Dynamic Library2.2.5 Static Library2.3 对framework的类型判断三、Bundle资源文件打包3.1 新建Bun...原创 2019-12-06 20:58:33 · 4310 阅读 · 0 评论 -
图像旋转问题的补充(jpg转png和fixOrientation)已解决
继上一篇提到的两个方法,今天发现问题复现了,上述两个方法肯定是用不了了我去比对了一下从imagePicker中经过编辑后的图片的属性与相机拍出来的照片的差异。经过编辑后,图像不再是jpg格式,而是png,而png图像不包含图像方向的信息,因此检测问题都正常所以想通过图像转换jpg->pngUIImage * image = [UIImage imageNamed:@"1.jpg"];...原创 2019-12-05 21:14:55 · 643 阅读 · 0 评论 -
自定义相机封装与图像旋转和镜像问题(解决)
文章目录一、自定义相机的封装(AVFoundation)1. 创建videoCaptureManager类,继承自NSObject2. 在.h文件中,实现一个自定义的协议Protocol和代理。3. 在.m文件中实现相应的功能4. 主要接口的提示5. 封装好的相机的初始化6. 功能的调用7. Demo的链接二、图像的镜像与旋转问题一、自定义相机的封装(AVFoundation)如何使用AVFo...原创 2019-12-05 12:48:32 · 1445 阅读 · 0 评论 -
iOS开发——Xcode11新工程页面跳转向低版本兼容问题
文章目录1.写在前面2.Xcode11的mainStoryboard实现页面跳转2.1添加一个要跳转到的ViewController2.2非代码实现一个页面的跳转2.3代码实现一个页面跳转2.3.1 Storyboard中设置ViewController的身份2.3.2 实现button点击功能2.3.3 实现页面跳转的功能方法一的实现:方法二的实现:2.3.4 实现页面回退的功能接下来,将是这篇...原创 2019-12-04 20:34:53 · 758 阅读 · 0 评论 -
iOS开发——记录解决的问题:NSArray转换float
由于底层的代码更新,导致数组中的72个坐标点转变成了拥有144个值的一维数组。由于对iOS开发还是有很大的知识漏洞,这个问题解决了4个小时,最后来记录一下。 首先,问题分析,原始代码部分中,我需要找出人脸框的最高点、最低点、最左点与最右点。 Points是一个72点的坐标数组,我需要把它转换成NSValue后,通过CGPointValue方法来进行转变成CGPoint,我理...原创 2019-12-04 15:41:34 · 517 阅读 · 0 评论 -
iOS开发——采用GCD封装一个倒计时的功能
这里是Demo如果可以,star一下问题描述:因项目需要,需要实现一个倒计时功能,实时刷新UI。如果倒计时结束后,为做出相应的操作,则会有不同的提示或者页面转换。倒计时的实现有两种:使用NSTimer定时器来倒计时使用GCD来倒计时(用GCD这个写有一个好处,跳页不会清零, 跳页清零会出现倒计时错误的)这里给出倒计时的部分,主要采用GCD方式来编写的。实现步骤Step1. 计算...原创 2019-11-18 16:01:16 · 677 阅读 · 0 评论 -
iOS开发——Xcode11创建iOS13版本工程更改低版本兼容问题(屏幕变黑、无UI等问题)
高版本工程向低版本系统兼容问题在Xcode11新建工程后发现自动新增了一个SceneDelegate文件。原因:iOS13中AppDelegate的职责发现了改变,具体的变化请参考这篇文章:Xcode11新变化:SceneDelegate。当我用一个高于13.0版本的工程,连接一台低于iOS13系统版本的手机后会提示:OS version lower than deployment targe...原创 2019-11-06 18:51:17 · 3894 阅读 · 0 评论 -
iOS开发(相册与相机)——UIImagePickerController实现
文章目录相机与相册1. UIImagePickerController简介1.1 UIImagePickerController类常用属性与方法1.2 UIImagePickerControllerDelegate代理协议2. UIImagePickerController的使用相机与相册1. UIImagePickerController简介UIImagePickerController类...原创 2019-11-06 17:07:00 · 1410 阅读 · 0 评论 -
iOS开发(自定义相机的实现)——AVFoundation的基本使用
本文主要介绍利用AVFoundation库来实现一个自定义相机的预览功能AVFoundation库简介1.AVCaptureDevice: 表示硬件采集设备(摄像头、麦克风)以及与该设备关联的属性。 可以使用硬件采集设备配置底层硬件的属性。可以使用AVCaptureDevice类的方法来列出可用的设备。2.AVCaptureDeviceInput: 从硬件...原创 2019-11-04 10:40:42 · 1700 阅读 · 0 评论 -
iOS开发(一)——Object-c语言基础(4、字符串,数组,字典)
文章目录4.Foundation框架4.1 字符串类4.1.1 不可变字符串NSString4.Foundation框架4.1 字符串类4.1.1 不可变字符串NSString 在Foundation框架中,提供了一个名为NSString的类,用于处理字符串对象。1. 创建字符串通常可以使用以下几种方式来创建一个字符串对象://创建字符串的简单方法,使用@"",把字符串...原创 2019-11-06 15:49:58 · 244 阅读 · 0 评论 -
iOS开发(一)——Object-c语言基础(3、类与对象)
文章目录类、对象与方法3.1 类3.1.1 类的定义3.1.2 类的继承3.2 属性3.2.1 属性的定义3.2.2 公有属性与私有属性3.2.3 属性关键字3.3 方法3.4 对象3.5 变量类、对象与方法3.1 类3.1.1 类的定义在Objective-C中,每个类的定义包括两个部分:接口(interface)和实现(implementation)。接口部分定义在.h文件中,包含类的...原创 2019-11-04 23:51:49 · 289 阅读 · 0 评论 -
iOS开发(一)——Object-c语言基础(2、数据类型与表达式)
文章目录2.数据类型与表达式2.1数据类型与常量2.1.1基本数据类型1. int类型2. float类型3. char 类型4. BOOL类型2.1.2限定词1. long2. long long3. short4. unsigned5. signed2.1.3 id与instancetype1. id类型2. instancetype类型3. id和instancetype的区别2.2 算数表...原创 2019-10-31 13:53:22 · 408 阅读 · 0 评论 -
iOS开发(一)——Object-c语言基础(1、Xcode简介)
环境搭建1. Xcode简介Xcode时苹果公司官方的集成开发环境(IDE),开发者可以用Xcode开发基于iPhone、iPad、AppleWatch以及Mac平台的应用。其具有以下特点:一站式开发工具。所有的苹果的应用只需要使用Xcode就能够实现从开发到测试,到应用发布的整个过程。可视化编程工具。基于storyBoard等自带工具,实现可视化编程集成调试以及测试工具代码自动...原创 2019-10-31 10:53:23 · 367 阅读 · 1 评论