iOS教程
文章平均质量分 88
Skinny Camel
拥有多年 iOS 开发经验,从Objective-C时代跨越到Swift时代,一路披荆斩棘!
展开
-
iOS 编译一览
在面试比较常见的一个问题,做iOS这么多年了,能不能讲讲iOS的编译过程?这个过程中都有哪些产物?原创 2022-08-02 20:39:08 · 943 阅读 · 0 评论 -
iOS 开发必备tips
从事iOS开发多年,总结了一些常见的小技巧,希望能帮到你。疫情总会过去,充实自己,直面未来!原创 2022-04-27 10:44:14 · 462 阅读 · 0 评论 -
iOS面试题(多线程篇)
1、进程和线程的区别?(1)进程是个静态的容器,可以理解为正在执行的应用程序实例,它里面容纳了很多个线程,线程则是一系列方法的线性执行路径(CPU调度的基本单位)。(2)进程拥有独立的资源空间(资源分配基本单位),共享起来比较复杂,常使用IPC方式进行同步,同步起来简单,线程间共享所属进程空间,资源共享简单但同步复杂,常使用加锁等方式进行同步。(3)进程崩溃不会影响其他进程,一个线程崩溃则会导致整个进程崩溃2、iOS中多线程有几种实现方式?分别有什么区别?(1)pthread(POSIX Thre原创 2021-08-29 22:34:45 · 2807 阅读 · 0 评论 -
Mach-O文件初识
一、什么是Mach-O文件?Mach-O 即 Mach Object,它是一种文件格式(Mac OS 二进制可执行文件)。二、Mach-O 文件内容详解Mach-O 二进制文件由段(segment)组成,可通过 MachOView 查看。一个segment由零个或者多个section组成,每个section里面会放置不同的数据或代码。segment需要页对齐(Mac OS 页大小4k,iOS 页大小16k),section不一定是页面对齐的。segment、section命名规则:(1)se原创 2021-05-28 14:53:43 · 503 阅读 · 0 评论 -
iOS汇编入门必备(指令篇)
一、汇编中指令和伪指令的区别?指令:机器码助记符,每条指令会生成机器码,由CPU读取执行。伪指令(伪操作):没有与之对应的机器码,非可执行指令,需要汇编器来解释。二、OS X 伪指令:所有汇编程序伪指令(GUN汇编器通用伪指令)的名称都是以‘.’开头。名称大多数不区分大小写,通常使用小写字母表示。1、定义数据伪指令(下面数据类型空间大小为arm64下的size).byte // 定义1个字节大小的变量 .short原创 2021-05-12 14:15:12 · 556 阅读 · 0 评论 -
Swift面试题2021(附答案)
1、Swift和Objective-C有什么区别?1)Swift是强类型(静态)语言,有类型推断,Objective-C弱类型(动态)语言2)Swift面向协议编程,Objective-C面向对象编程3)Swift注重值类型,Objective-C注重引用类型4)Swift支持泛型,Objective-C只支持轻量泛型(给集合添加泛型)5)Swift支持静态派发(效率高)、动态派发(函数表派发、消息派发)方式,Objective-C支持动态派发(消息派发)方式6)Swift支持函数式编程(高阶函原创 2021-04-29 10:43:36 · 13435 阅读 · 1 评论 -
iOS App Clips学习笔记
一、什么是App Clip?App Clip是一个App的轻量版,用来提供一些用户所需功能,我们可以把它看成苹果的小程序。它不需要下载就直接能打开。这样即可达到不下载完整版APP便可体验APP的部分功能,即用即走。二、App Clip触发场景扫描NFC标签或者二维码点击来自Siri中基于位置的建议点击地图app中的链接点击网站上智能推荐应用横幅点击通过“信息”App分享的链接三、App Clip 体验准备开发环境:Xcode12 beta,iOS14系统四、创建App Clip创原创 2020-07-12 20:57:51 · 3364 阅读 · 0 评论 -
iOS逆向必备绝技之ipa重签名
2018开篇,这回要讲的是iOS重签名,网上重签名的工具太多了,我试用了一下,都还挺好使。但是,你不知道,我是个喜欢装逼的人吗?用工具怎么够酷呢?对,装逼得用终端。接下来的操作都是在终端中进行,开始你的装逼之旅吧! 一、重签名准备工作:找到开发者证书和配置文件:列出所有开发者证书文件:security find-identity -p codesigning -v原创 2018-01-06 20:17:06 · 3180 阅读 · 0 评论 -
iOS日常Debug之Crash日志文件分析
好久没写博客了,真的不是忙没有时间。就是懒!闲话少说,言归正传。事件起因,群里一个朋友说自己的app被拒了,苹果给的被拒原因是AppStore审核指南条例2.1,说是app存在崩溃。还附带上了Crash日志文件。看了一眼Crash日志文件,彻底懵了! What?(此处略过一句脏话)一、查看Crash日志文件信息看到这种东西,我第一反应就是跑去看官方文档!Incident Identifier原创 2017-07-08 23:25:44 · 1571 阅读 · 0 评论 -
UICollectionView(纯代码方式)实现带上下拉刷新的瀑布流式
瀑布流(WaterFlow)是项目开发过程中的常见布局,有关于瀑布流(WaterFlow)的实现方式:在UICollectionView未出现之前,瀑布流的实现多半是采用UIScrollView或是UITableView。对于我们这种用惯了表视图的人来说,UICollectionView倒略显陌生。有关于UICollectionView的介绍我就不一一赘述,因为一两句话也很难说清楚。网上有很多优秀的原创 2016-01-15 01:55:34 · 6363 阅读 · 1 评论 -
升级xcode7问题汇总(持续更新)
1、真机编译无法通过,bitcode设置问题(bitcode不懂?请自行google)。 2、CGContextSaveGState: invalid context 0x03、 Assertion failure in -[UIApplication _runWithMainScene:transitionContext:completion:]4、适配https请求问题5、社会化分享(第三方分享)原创 2015-09-21 00:28:27 · 656 阅读 · 0 评论 -
iOS绘制虚线方式总结
原文链接:【iOS绘制虚线方式总结】 一、iOS中绘制虚线常见的几种方式:1、重写drawRect方法。2、采用CAShapeLayer方式绘制虚线。3、经济实惠型:采用贴图的方式绘制虚线(需要设计师切图配合)。原创 2015-10-13 10:28:00 · 729 阅读 · 0 评论 -
iOS中点击状态栏让滑动视图回到顶部
在产品开发过程中,有时候会有这种需求,需要点击状态栏让滑动视图(UIScrollView)或者表视图(UITableView)返回到顶部,让用户可以更快的浏览最新的信息。 这个时候我们需要设置滑动视图的scrollsToTop属性,让它决定点击状态栏是否返回顶部。 // When the user taps the status bar, the scroll view beneath the原创 2015-08-23 01:25:47 · 1523 阅读 · 0 评论 -
动态限制UITextField或UITextView用户输入中英文混编字数统计
动态限制用户输入字数,这个在很多app中都会涉及,由于NSString的Length属性获取的长度中英文都是一个字节,不满足一个汉字两个字节、一个字符一个字节的需求。网上的方法大致是以下两种:1、使用Unicode编码把OC中的NSString字符串转换成C的字符串。然后对字符串遍历进行统计长度。2、直接统计字符串的字符个数原创 2015-08-22 17:10:12 · 564 阅读 · 0 评论 -
xcode插件安装与卸载(简单实用)
xcode插件安装与卸载(简单实用)目前安装方式一般有两种,一种直接从github上面克隆工程到本地,另外一种是采用alcatraz插件管理工具。前者直接把工程克隆到本地,运行即可,方式简单粗暴,不做详细说明。本文主要介绍采用alcatraz插件管理工具进行安装插件,非常方便。1、xcode插件安装详细流程: (1)先去下载插件安装工具:alcatraz 下载办法: alcatraz提供了下载原创 2015-06-13 17:42:42 · 4383 阅读 · 0 评论 -
iOS FFmpeg编译及kxmovie、iFrameExtractor调试详解(无障碍阅读,绝对是你想要的)
一、FFmpeg编译二、在工程中使用FFmpeg,网上成熟的有kxmovie。三、iFrameExtractor-master(iFrameExtractor)工程编译和运行本文的开发环境为: 最新 ffmpeg-2.5.4/iOS SDK8.1/Xcode6.1/OS X Yosemite版本10.10.2特此声明:本文是通过网上收集整理加上自己亲自实验得来的。感谢所有网上分享的辛勤劳动者,本文仅供iOS学习使用。在学习的过程中,如果有问题或者不清楚的地方,欢迎留言,我们共同探讨互相学习。欢迎批评原创 2015-02-28 16:13:21 · 2468 阅读 · 3 评论