iOS开发全套资源,从入门到全栈IOS工程师
内容介绍:本内容涵盖框架、组件、测试、Apple Store、SDK、XCode、网站、书籍等。发起者来自vsouza,由jobbole提供中文编译。
文章以下内容主要是分享面经和个人的学习建议,内容涉及到很多PDF文档(面试题库、学习笔记、实战文档、脑图等),由于文章有限,需要这些文档的,直接(点击我)即可获取
入门
Road Map iOS ...
android测试和iOS测试的区别
android测试和iOS测试的区别
一、常识性区别
二、导航方式
iOS:Tab放在页面底部,不能通过滑动来切换,只能点击。也有放在上面的,也不能滑动,但有些Tab本身可以滑动,比如天猫的。还有新闻类的应用。
Android:一般放在页面顶端,可以通过滑动页面来切换Tab,当然Tab可以点击切换,Tab多的话,Tab本身也可 ...
学习iOS逆向有什么用?
学习iOS逆向有什么用?
我们一般都是正向开发,那逆向开发有什么用呢?
有助于深入理解iOS内部原理
这个应该是很容易懂的,因为不懂内部原理的话,如何来逆向App呢。
查看竞品,分析竞品
例如你想做一款IM产品,就可以看下微信的数据库如何设计,各种类型的消息如何定义,收到不同类型的消息如何处理,有时候产品经理 ...
腾讯开发10年大佬:iOS开发现状与发展浅析!给你一个职业规划的方向
前言
之前负责移动端基础架构相关的工作,并做了一段时间技术框架输出,所以对移动端的现状以及移动端开发这个行业有一定了解,与大家分享下。
移动端开发时代已结束?
过去两年里,移动端开发一直在被唱衰,Objective-C 的语言热门度逐年下降,可参见 TIOBE 发布的排名。
2017~2018 开发语言排名变化
Objective-C 作为开 ...
iOS优化篇之App启动时间优化
前言
最近由于体验感觉我们的app启动时间过长,因此做了APP的启动优化。本次优化主要从三个方面来做了启动时间的优化,main之后的耗时方法优化、premain的+load方法优化、二进制重排优化premain时间。
通常我们对于启动时间的定义为从用户点击app到看到首屏的时间。因此对于启动时间优化就是遵循一个原则:尽早让用户看到首 ...
iOS开发系列——性能优化记录
前言
本篇主要记录一下我对界面优化、时间优化和耗电优化、安装包瘦身上的一些探索。我尽量按照自己的理解来进行描述,如有不当,欢迎指正。
一、界面优化
1、卡顿原理
要了解卡顿原理,需要对帧缓冲区、垂直同步、CPU 和 GPU 几个词进行一下了解,然后综合起来,就可以得到卡顿的答案。
1.1、帧缓冲区
听起来很高大上,其 ...
iOS开发常见的内存泄漏有哪些情况?如何排查和避免?
面试题:常见的内存泄漏有哪些情况?如何排查和避免?
内存泄漏原理:在百度上的解释就是“程序中已动态分配的堆内存由于某种原因程序未释放或无法释放,造成系统内存的浪费,导致程序运行速度减慢甚至系统崩溃等严重后果”。
常见的内存泄漏情况:
情况一:对象之间的循环引用问题循环引用的实质:多个对象相互之间 ...
iOS开发——RunTime总结篇
基础路径图:
在学习 RunTime 的基础时, 我们要搞清楚一些重要的东西, 一些专业术语:
SEL
id
Class
Method
Ivar
IMP
Cache
Property
我们可以从这些东西里获取到指定类的所有信息, 无论是公开的, 还是私有的, 全部都可以拿到, 并且操作.
作为一个开发者,有一个学习的氛围跟一个交流圈子特别重要,这是一个我 ...
iOS开发路线
不知不觉,做iOS开发已经四年了,回想起来从刚开始工作到现在,做的事情都差不多,都是偏向应用的产品。平时自己都没往深处挖掘,都是在一个平面上,左右跳动。
昨天和女朋友聊天,她也指出了这个问题,虽然我嘴上说着我知道,可是实际上我心里还是有点虚的,仔细想想这几年来在iOS开发方面做的研究真是屈指可数,一般都是 ...
iOS开发体验优化方案
前言:
随着Flutter等跨端框架的出现,业务开发同学经常需要在Android/IOS上跨端进行业务开发,问题定位等。新的不熟悉的环境的搭建总会遇到各种各样的问题,导致搭建失败,特别是IOS开发环境,是最复杂的,不仅环境搭建繁琐,而且切分支后的打包速度很慢,所以我们设计实现了两个工具,用于优化闲鱼IOS开发体验。
IOS开发 ...
iOS开发系列之性能优化记录
本篇主要记录一下我对界面优化、时间优化和耗电优化、安装包瘦身上的一些探索。我尽量按照自己的理解来进行描述,如有不当,欢迎指正。
一、界面优化
1、卡顿原理
要了解卡顿原理,需要对帧缓冲区、垂直同步、CPU 和 GPU 几个词进行一下了解,然后综合起来,就可以得到卡顿的答案。
1.1、帧缓冲区
听 ...
iOS开发,这样写简历才能让大厂面试官看重你!
前言:
对于职场来说,简历就如同门面。若是没想好,出了差错,耽误些时日倒不打紧,便是这简历入不了HR的眼,费力伤神还不能觅得好去处,这数年来勤学苦练的大好光阴,岂不辜负?
简历,简而有力。是对一个人工作经验的简单介绍。对公司而言,在挑选人才时,可以通过简历对人才有整体认识,减少人才误用的风险。而对于个人 ...
一年iOS工作经验,如何一举拿下百度、美团、快手等Offer面经(附面试题)
前言:
先简单说说我最近的面试经历吧。面试的公司很多,大部分最后都能得到令人满意的结果,我将这些体会记录下来,面了这么多公司,如果不留下什么,那岂不是太浪费了。对于我来说,这也是一次自我检查,在这次面试中总结经验,认清自己,同时希望这些对即将换工作或者打算看看其他机会的你有一些帮助。
以下的部分有具体 ...
iOS面试总结(2020年6月)已拿爱奇艺offer
前言:
都说今年互联网行情很差,作为被大家喊了好几年“iOS开发没人要了”的iOS行情更差。那真实情况是什么样的呢,以我的经历给大家分析下。
应某个朋友建议,去掉这一句啊,目前iOS岗位还是挺多的,你可以这么想只要苹果爸爸不倒,iOS开发就不会没人要。但另一方面,招聘方对iOS开发的要求是在不断提高的,我们不能固步 ...
【从零开始用Swift开发一个iOS应用(仿微博)】开篇-1. demo上手体验
最近在学iOS开发,本系列会针对iOS从前到后的开发进行全面讲解,小到开发工具使用,大到应用市场上线。
需求:
1.显示一个橘黄色矩形
2.矩形上面一个按钮可以点击,并有响应事件
3.界面中心显示一张图片
系统版本:
Mac OS 版本:10.15.5
Xcode版本:11.5
一、创建demo项目
1.1 选择创建一个Xcode Project
1.2 选择Si ...
iOS开发--探究iOS线程调用栈及符号化
探究iOS线程调用栈及符号化
概念
调用栈,也称为执行栈、控制栈、运行时栈与机器栈,是计算机科学中存储运行子程序的重要的数据结构,主要存放返回地址、本地变量、参数及环境传递,用于跟踪每个活动的子例程在完成执行后应该返回控制的点。
一个线程的调用栈如上图所示,它分为若干栈帧(frame),每个栈帧对应一个函数调用 ...
vue h5开发,ios锁屏后websocket断开
h5项目开发中,出现ios在手机锁屏后websocket连接断掉的问题,解决方法是在mounted生命周期中监听页面呼出事件,在页面呼出状态中判断websocket的连接状态,当websocket处于未连接状态时,重新连接websocket
mounted () {
document.addEventListener('visibilitychange', () => {
if (!document.hidden) {//页面 ...
iOS 测试 | iOS 自动化性能采集
今天小编跟大家分享一篇来自学院内部学员的技术分享,本文主要介绍了作者在进行 iOS 自动化性能采集的一些经验,希望对大家在进行 iOS 自动化测试时有一些启发。
不要为小事遮住视线,我们还有更大的世界
前言
对于iOS总体生态是比较封闭的,相比Android没有像adb这种可以查看内存、cpu的命令.在日常做性能 ...
iOS开发,你准备好何时跳槽了吗?
序言
我相信很多人都在说,iOS行业不好了,iOS现在行情越来越难了,失业的人比找工作的人还要多。失业即相当于转行,跳槽即相当于降低自己的身价。那么做iOS开发的你,你是否在时刻准备着跳槽或者转行了。
我们先看一下现在iOS行业,iOS程序员在如今竞争激烈的市场环境下,你自己还值多少钱,下面是按年限,按要求提出的工 ...
Android/iOS内嵌Unity开发示例
Unity 与 Android/iOS 交叉开发主要有两种方式,以 Android 为例,一是 Android 生成 jar 或者 aar 包,导入到 unity3d plugin/bin/ 目录下;二是 Unity 导出 Android 工程,在 Android Studio 中作为库继续开发。网上的教程几乎全是第一种方式,而本文主要分析第二种方式。
这种方式可以在移动端的 NativeApp 中以,库的形 ...