自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Spencer Yang的博客

业精于勤荒于嬉,行成于思毁于随

  • 博客(36)
  • 资源 (2)
  • 收藏
  • 关注

原创 Swift算法面试题2022(附答案)

现在面试太卷了,手撕算法成家常便饭,我们虽然不是算法岗,但是常见的简单算法题还是要掌握一点。

2022-08-25 07:18:27 1892 1

原创 iOS 编译一览

在面试比较常见的一个问题,做iOS这么多年了,能不能讲讲iOS的编译过程?这个过程中都有哪些产物?

2022-08-02 20:39:08 906

原创 iOS 开发必备tips

从事iOS开发多年,总结了一些常见的小技巧,希望能帮到你。疫情总会过去,充实自己,直面未来!

2022-04-27 10:44:14 438

原创 iOS面试题(多线程篇)

1、进程和线程的区别?(1)进程是个静态的容器,可以理解为正在执行的应用程序实例,它里面容纳了很多个线程,线程则是一系列方法的线性执行路径(CPU调度的基本单位)。(2)进程拥有独立的资源空间(资源分配基本单位),共享起来比较复杂,常使用IPC方式进行同步,同步起来简单,线程间共享所属进程空间,资源共享简单但同步复杂,常使用加锁等方式进行同步。(3)进程崩溃不会影响其他进程,一个线程崩溃则会导致整个进程崩溃2、iOS中多线程有几种实现方式?分别有什么区别?(1)pthread(POSIX Thre

2021-08-29 22:34:45 2598

原创 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 486

原创 iOS汇编入门必备(指令篇)

一、汇编中指令和伪指令的区别?指令:机器码助记符,每条指令会生成机器码,由CPU读取执行。伪指令(伪操作):没有与之对应的机器码,非可执行指令,需要汇编器来解释。二、OS X 伪指令:所有汇编程序伪指令(GUN汇编器通用伪指令)的名称都是以‘.’开头。名称大多数不区分大小写,通常使用小写字母表示。1、定义数据伪指令(下面数据类型空间大小为arm64下的size).byte // 定义1个字节大小的变量 .short

2021-05-12 14:15:12 539

原创 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 13177 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 3296

原创 2020新的开始-前路漫漫

2019:难忘的2019,这一年发生了很多,自己做的第一款App成功上线App Store了,想挣钱,但是不了解市场,可喜的迈出了第一步。家庭角色发生了变化,升级当了爸爸,有了可爱的小公举。工作上,上半年主要都在上包没啥可说的,下半年学习了Java。由于国家监管,企业转型,公司业务发生了调整。有得必有失,或许这就是缘分吧!2020:新的一年,新的开始。路漫漫其修远兮,吾将上下而求索!努力,珍...

2020-01-07 10:20:51 178

原创 2019开工大吉

2018年终总结:回顾《2018新起点-脱贫计划》,仔细对比了一下自己2018年的年度计划,完成度不到20%,结果是很失败的。主要是因为目标设置不合理,自我驱动力下降,拖延症越来越严重。2018年在工作中的收获还是有目共睹的。主要负责React Native APP开发和Python数据抓取,数据的抓取过程中用到了iOS逆向,做过一次数据爬取的分享(由于没有准备的很充分,结果不是很成功)。不足之...

2019-02-11 14:26:17 582

原创 iOS11.3.1不完美越狱之Electra

前几天(7月6日)Electra Team在Twitter上发布了iOS11.2-11.3.1可用的越狱工具,之前一直在关注iOS11.3越狱的相关信息。本来今天想看下有没有最新的iOS越狱信息,发现它已经发布了,抑制不住心中的喜悦。今天就尝试了一下,不完美越狱(关机或重启之后需要重新越狱)成功!下面介绍一下Electra(github传送门)不完美越狱的两种方式:Non Dev Account、...

2018-07-09 19:35:03 11155 1

原创 UIView Category 神坑之WKWebView显示一半

最近在工作中遇到一个问题,现象是WKWebView加载完页面后,显示不全,而且只显示在左边,看了一下x,y的值都是负的。同样的WKWebView,在新建的Demo中显示正常。这就让我很恼火啊!边调边网上找解决方案啊!看到网上有部分人,因为这种原因没有找到解决方案,不得不换回UIWebView。如果你们看到这篇文章了,还是回到WKWebView的怀抱吧!特此记录一下,分享给需要的人!废话不多说,直接...

2018-07-08 22:24:01 2298 2

原创 iOS逆向必备绝技之ipa重签名

2018开篇,这回要讲的是iOS重签名,网上重签名的工具太多了,我试用了一下,都还挺好使。但是,你不知道,我是个喜欢装逼的人吗?用工具怎么够酷呢?对,装逼得用终端。接下来的操作都是在终端中进行,开始你的装逼之旅吧! 一、重签名准备工作:找到开发者证书和配置文件:列出所有开发者证书文件:security find-identity -p codesigning -v

2018-01-06 20:17:06 3156

原创 2018新起点-脱贫计划

2017年终总结:回顾《2017新的征程-年度计划》,对比一下2017年的年度计划,发现完成度到50%了,较去年稳步提升5%,整体上还是有进步,但是幅度不太大。这还远远不够,没有达到60%,结果就是不及格的。这一年来,工作还是有不少收获的。公司APP的稳步迭代,自己忙里偷闲学了一些iOS初级的逆向知识,还是得益于领导做的一次有关逆向的分享,感觉在工作挺实用的,就学了。我个人觉得最有意义的,还是做了一

2018-01-02 10:30:02 721

原创 iOS日常Debug之Crash日志文件分析

好久没写博客了,真的不是忙没有时间。就是懒!闲话少说,言归正传。事件起因,群里一个朋友说自己的app被拒了,苹果给的被拒原因是AppStore审核指南条例2.1,说是app存在崩溃。还附带上了Crash日志文件。看了一眼Crash日志文件,彻底懵了! What?(此处略过一句脏话)一、查看Crash日志文件信息看到这种东西,我第一反应就是跑去看官方文档!Incident Identifier

2017-07-08 23:25:44 1554

原创 2017新的征程-年度计划

总结:翻开之前的《2015年终总结》,发现2016年的计划完成度不到45%,其中有失落,也有收获!感谢那些支持和帮助我的朋友和家人!风雨中,我挺过来了!时刻要告诉自己,你是最棒的!加油!不经历风雨,怎么见彩虹。我一直在路上,砥砺前行。2017年依旧是六个计划!为了不让计划仅仅只停留在计划,本次引入了月结和奖惩机制,即每月都必须总结计划完成进度,年底视计划完成度实行激励或惩罚措施!2017的计划与展望

2017-02-07 23:31:31 429

原创 iOS开发之Xcode常用调试(Debug)技巧总结

最近在面试,面试过程中问到了一些Xcode常用的调试技巧问题。平常开发过程中用的还挺顺手的,但你要突然让我说,确实一脸懵逼。Debug的技巧很多,比如最常见的方式是打个Log,在一些工程中处处可见NSLog。还有就是打断点的Debug方式等。诸如此类,下面就自己在开发过程中常用的Xcode调试技巧简单的做个总结。 一、Xcode调试技巧之:NSLog上面也提到了,在我们日常的开发过程中最常见的De

2016-10-29 12:32:00 1897 1

原创 iOS图形绘制CoreGraphics篇

1、绘制直线//获取当前上下文 CGContextRef contextRef = UIGraphicsGetCurrentContext(); UIColor *color = [UIColor colorWithRed:0.5 green:0.35 blue:0.8 alpha:0.7]; //设置线条颜色// CGContextSetStrokeColor(c

2016-05-15 00:03:13 2415

原创 iOS图形绘制UIBezierPath篇

1、绘制直线UIBezierPath *line = [[UIBezierPath alloc] init];//设置线宽line.lineWidth = 3;[line moveToPoint:CGPointMake(50, 20)];[line addLineToPoint:CGPointMake(150, 20)];//设置绘制线条颜色,这个地方需要注意!UIBezierPath本身

2016-05-14 23:56:02 3323

翻译 Swift2.2新特性

1、编译期Swift版本检测#if swift(>=3.0) print("Running Swift 3.0 or later")#else print("Running Swift 2.2 or earlier")#endif它和Swift2中介绍过的#available表达式不同,#available表达式是运行时检查,#if swift(>=3.0)... #else

2016-05-09 23:44:46 1258

原创 iOS面试题大全2021(附答案)

1、简述你项目中常用的设计模式。它们有什么优缺点?常用的设计模式有:代理、观察者、单例。(1)单例:它是用来限制一个类只能创建一个对象。这个对象中的属性可以存储全局共享的数据。所有的类都能访问、设置此单例中的属性数据。优点:是它只会创建一个对象容易供外界访问,节约性能。缺点:是一个类只有一个对象,可能造成责任过重,在一定程度上违背了“单一职责原则”。单例模式中没有抽象层,所以单例类的扩展有很大的困难

2016-05-02 00:33:53 13781

原创 iOS面试题系列之UI相关

1、简述app启动周期。打开应用程序,它先会执行main函数,再执行UIApplicationMain函数。初始化 UIApplication,设置代理对象,开启事件循环,调用代理方法进行事件处理。首先会调用application:didFinishLaunchingWithOptions:代理方法。 接下来会调用applicationDidBecomeActive:代理方法。监听系统事件,结束

2016-05-02 00:30:34 980

原创 iOS面试题系列之常见算法

iOS面试中熟悉常见算法1、 对以下一组数据进行降序排序(冒泡排序)。“24,17,85,13,9,54,76,45,5,63”int main(int argc, char *argv[]) { int array[10] = {24, 17, 85, 13, 9, 54, 76, 45, 5, 63}; int num = sizeof(array)/sizeof(int);

2016-05-02 00:27:34 24432 1

原创 React Native iOS 开发环境搭建

一、React Native基础环境搭建1、安装Homebrew打开终端输入:ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"2、安装nvm方法通过脚本安装方式,在终端执行:curl -o- https://raw.githubusercontent.com/creati

2016-01-21 01:25:37 859

原创 UICollectionView(纯代码方式)实现带上下拉刷新的瀑布流式

瀑布流(WaterFlow)是项目开发过程中的常见布局,有关于瀑布流(WaterFlow)的实现方式:在UICollectionView未出现之前,瀑布流的实现多半是采用UIScrollView或是UITableView。对于我们这种用惯了表视图的人来说,UICollectionView倒略显陌生。有关于UICollectionView的介绍我就不一一赘述,因为一两句话也很难说清楚。网上有很多优秀的

2016-01-15 01:55:34 6301 1

原创 Swift内存管理(ARC)之循环引用

Swift中是采用自动引用计数(ARC,AutomaticReferenceCounting)机制来对内存进行管理的。一、简述ARC如何工作:每当你每创建一个新的对象,它便会分配一块内存来存储该对象的相关信息。当你不再需要这个对象的时候,它就会自动释放这个对象,避免它再占用内存空间。当然,如果该对象只要至少存在一个引用就不会被释放。另外,你如果访问了一个已经被释放的对象,则很有可能会出现崩溃(野指针

2016-01-14 13:55:03 533

原创 Swift中UITableView的用法(自定义UITableView和UITableViewCell)

Swift中自定义表视图(UITableView)和单元格(UITableViewCell)

2016-01-04 21:36:18 818

原创 iOS开发之基础控件(Swift版)

iOS开发之基础控件的Swift版

2016-01-04 21:33:26 2710

原创 Swift语言基础篇

Swift语言基础学习

2016-01-01 17:22:13 1064

原创 2015年终总结

回首过去一年,好像没有什么能说出口的成绩,专业没啥进步。在公司做了两款app,上半年主要开发的是一款叫“在线等”的手机应用,这是一款解决人们选择困难症的应用,经过重重困难,最终上线。没啥成绩可言。下半年主要研发的是一款叫“斗图神器”的应用,由于android版早就开发好了,所以iOS版开发起来就快很多了。总的来说成绩还不错,其中也有点小波折。现在已经提交过3,4版了。目前“斗图神器”项目已经引入了全

2015-12-31 10:28:53 436

原创 iOS绘制虚线方式总结

原文链接:【iOS绘制虚线方式总结】 一、iOS中绘制虚线常见的几种方式:1、重写drawRect方法。2、采用CAShapeLayer方式绘制虚线。3、经济实惠型:采用贴图的方式绘制虚线(需要设计师切图配合)。

2015-10-13 10:28:00 686

原创 升级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 644

原创 iOS中点击状态栏让滑动视图回到顶部

在产品开发过程中,有时候会有这种需求,需要点击状态栏让滑动视图(UIScrollView)或者表视图(UITableView)返回到顶部,让用户可以更快的浏览最新的信息。 这个时候我们需要设置滑动视图的scrollsToTop属性,让它决定点击状态栏是否返回顶部。 // When the user taps the status bar, the scroll view beneath the

2015-08-23 01:25:47 1509

原创 动态限制UITextField或UITextView用户输入中英文混编字数统计

动态限制用户输入字数,这个在很多app中都会涉及,由于NSString的Length属性获取的长度中英文都是一个字节,不满足一个汉字两个字节、一个字符一个字节的需求。网上的方法大致是以下两种:1、使用Unicode编码把OC中的NSString字符串转换成C的字符串。然后对字符串遍历进行统计长度。2、直接统计字符串的字符个数

2015-08-22 17:10:12 555

原创 xcode插件安装与卸载(简单实用)

xcode插件安装与卸载(简单实用)目前安装方式一般有两种,一种直接从github上面克隆工程到本地,另外一种是采用alcatraz插件管理工具。前者直接把工程克隆到本地,运行即可,方式简单粗暴,不做详细说明。本文主要介绍采用alcatraz插件管理工具进行安装插件,非常方便。1、xcode插件安装详细流程: (1)先去下载插件安装工具:alcatraz 下载办法: alcatraz提供了下载

2015-06-13 17:42:42 4327

原创 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 2458 3

手机通过笔记本上wifi的方法

手机通过笔记本上wifi的方法,简单易懂,过程详尽,保证你看完就会!不用再为手机流量不够用而发愁了!

2013-04-07

tomcat7.0.33的配置

tomcat7.0.33的详细配置信息,保证看完便会

2013-04-07

空空如也

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

TA关注的人

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