22个iOS开发常用开源项目
分享近期 GitHub 上比较流行的 22 个和 iOS 开发相关的开源项目。
包括开发辅助工具,异步编程库,JSON 解析,移动端数据库,图像视频处理,网络请求,UI 框架、组件,算法、数据结构等内容。
Accio 使用 Swift 编写的 iOS/tvOS/watchOS/macOS 依赖管理工具。
在当前 iOS 生态环境中,CocoaPods 和 Carthage 是最成 ...
市场缺的不是iOS开发,缺的是iOS开发大牛
不同级别的iOS开发工程师的就业形势
3年以内软件开发经验、1年左右iOS平台开发经验的工程师一般位于菜鸟阶段。
一般职位要求精通Objective-C编程语言,良好的C、C++功底;精通常用数据结构与算法。
在此基础上有很大的涨价空间,一般薪资涨幅达30%、甚至double。
拥有3年左右iOS平台开发经验的是高级iOS开发工程师,如在BAT ...
作为一个iOS开发者,我们应该如何突破自身的瓶颈呢?
前言:
针对工作几年的程序员工程师,经常会遇到瓶颈,这个瓶颈不一定技术上的,也可能是职业发展上的.一般技术的职业规划会有两个方向
技术方向:
架构师,系统分析师,CTO
这种往往是走纯技术路线, 发展到最后都是在公司中深入某一块技术,例如存储,MQ,通信,等等,后面发展路线也往往是架构师/系统分析师,技术专家,高级培训师,然 ...
Cordova自定义插件开发 iOS
安装依赖plugman
plugman是用于安装和卸载用于Apache Cordova项目的插件的命令行工具。
https://www.npmjs.com/package/plugman
npm install -g plugman
创建插件
plugman create --name [插件名] --plugin_id [插件id] --plugin_version [插件版本]
为了方便管理,将插件可以创建在 Cordova 项 ...
iOS开发Label文字显示位置(上、中、下)
在系统自带的UILabel中是没有吸顶及吸底部的方法的(如果有请告诉我,我没找到),于是乎重写label
1 //
2 // gzhVerticalAlignmentLabel.h
3 // VerticalAlignmentLabel
4 //
5 // Created by 郭志贺 on 2020/6/1.
6 // Copyright © 2020 郭志贺. All rights reserved.
7 //
8
9 #import <UIKit/UIKit.h ...
Cordova插件开发(iOS/Android)--看这篇就够了
其他Cordova相关文章链接
- Cordova-现有iOS工程中集成Cordova
- Cordova-在现有iOS工程自动化接入Cordova插件(cordova机制原理)
- Cordova-源码分析
1.创建一个测试工程
//创建cordova工程
cordova create cordovaTest com.szcomtop.cordovaTest cordovaTest
//进入工程根目录
cd platforms
//添加iOS 和 Android 平台代 ...
2020年 面向高级开发人员的 iOS面试问题
在本文中,您将找到针对高级开发人员的iOS面试问题和解答。
当您准备进行技术性的iOS面试时,重要的是要了解您可能会被问到的话题以及经验丰富的iOS开发人员的期望。这些问题被许多公司用来衡量iOS候选人的经验水平。它们涵盖了iOS开发的各个方面,旨在接触对该平台的广泛了解。毕竟,高级开发人员有望能够从头到尾交付完整 ...
RAD Studio Delphi 10.4新版本现已发布,在Windows,Android,iOS,macOS和Linux上更快地可视化开发APP应用软件及新增功能详解
RAD Studio 10.4 Sydney版本包含以下新增功能和改进功能。
Delphi的新功能Delphi Code Insight的重大改进RAD Studio 10.4是多年来对Delphi代码工具的最大,最大的改进,它使用语言服务器协议(LSP)的Delphi实现提供了Code Insight。LSP是一种在单独的过程中计算代码完成,导航或类似结果的技术。这意味着IDE不会在完成时阻 ...
Vue项目用于Ios和Android端开发
vue项目构建
预备
vue中文文档: https://cn.vuejs.org/v2/guide/instance.html
构建工具环境nodejs: http://nodejs.cn
构建工具vue-cli:https://github.com/vuejs/vue-cli
如果是第一次接触vue或者在已有项目中引入vue时可以选择用CDN版本或者下载js文件
vue的生产版本js:https://vuejs.org/js/vue.min.js
引入 ...
iOS开发从相册选择照片或拍照
一行代码搞定图片选择
//
// gzhPhotoManager.h
// 图片选择
//
// Created by 郭志贺 on 2020/5/26.
// Copyright © 2020 郭志贺. All rights reserved.
//
#import <Foundation/Foundation.h>
#import "ViewController.h"
NS_ASSUME_NONNULL_BEGIN
@protocol gzhPhotoManagerDelegate;
@interface gzhPhotoManage ...
2020年,iOS开发面试跳槽(必看攻略)
1、引言
每年的3、4月份都是求职高峰时期,目前已进入5、6月份了,你已经成功换工作了吗?
这次我们想聊的,就是程序员跳槽这件事儿,我打算从三个方面来说:
1)程序员什么时候该跳槽?
2)跳槽前你需要做的准备工作?
3)到哪里找跳槽机会?
一、到底什么时候该跳槽?
1、这个方法很简单,你只需做下面这件 ...
如何通过静态分析提高iOS代码质量?
前言:
随着项目的扩大,依靠人工codereview来保证项目的质量,越来越不现实,这时就有必要借助于一种自动化的代码审查工具:程序静态分析。
程序静态分析(Program Static Analysis)是指在不运行代码的方式下,通过词法分析、语法分析、控制流、数据流分析等技术对程序代码进行扫描,验证代码是否满足规范性、安全性、可 ...
iOS开发-自定制滑动容器控制器RHNavController
前言:转眼间将近两个月没有更新了,今天来给大家讲解一个封装的简单容器控制器RHNavController,在APP中应用的还是很多的。废话不多说,大家先来看图:
RHNavController.gif
原理:标题使用UIButton添加点击事件,下方页面使用UICollectionView实现滑动的控制器。点击上方标题,通过代理回调改变UICol ...
iOS快手面经(已拿offer)
背景
过完年来北京之后,有准备看看机会,也是想了解下市场行情。简历没有投太多,只定向投了头条教育部门、抖音、快手、阿里,这些公司。
头条和阿里的简历都没过,肯定是亮点太少吧。只有快手简历过了,快手是三轮技术面+一轮HR面,前两轮技术都比较顺利,到第三轮却栽了,很痛心o(╥﹏╥)o。目前就不考虑换工作了,等下 ...
iOS开发之Runtime
一直用着YYModel这个第三方库,却没怎么去看里面的实现代码,今天兴致来了,去瞧瞧它的真面目,点进去一看,只有五个文件,主要就是YYClassInfo和NSObject+YYModel两个模块。YYClassInfo主要功能是将Runtime层级的结构体封装到NSObject层级以便调用。尽然这样,那咋们就先来来总结一下Runtime.
一:Runtime 基本介绍
Object ...
iOS开发--性能调优记录
CPU VS GPU
关于绘图和动画有两种处理的方式:CPU(中央处理器)和GPU(图形处理器)。但是由于历史原因,我们可以说CPU所做的工作都在软件层面,而GPU在硬件层面
对于图像处理,通常用硬件会更快,因为GPU使用图像对高度并行浮点运算做了优化,我们想尽可能把屏幕渲染的工作交给硬件去处理。问题在于GPU并没有无限制处 ...
iOS 开发中字典和字符串的转换
iOS 开发中字典和字符串的转换
1.字符串转字典
NSString * jsonString = @"";
NSData *jsonData = [jsonString dataUsingEncoding:NSUTF8StringEncoding];
NSDictionary *dic = [NSJSONSerialization JSONObjectWithData:jsonData options:NSJSONReadingMutableCont ...
iOS蓝牙开发梳理:广播端和扫描端实现
【前言】
* 目前项目里有蓝牙支付功能,对于蓝牙开发功能,要求比较高,包括iOS与Android之间的通讯。
* 今天整理了下iOS蓝牙SDK开发流程中的知识点,总结了这篇文章,希望给各位开发蓝牙功能的同学带来帮助。
【功能目标】
开发移动设备 ...
iOS开发——Block内存管理实例分析
说道block大家都不陌生,内存管理问题也是开发者最头疼的问题,网上很多讲block的博客,但大都是理论性多点,今天结合一些实例来讲解下。
存储域
首先和大家聊聊block的存储域,根据block在内存中的位置,block被分为三种类型:
NSGlobalBlock
NSStackBlock
NSMallocBlock
从字面意思上大家也可以看出来
1、NSGlobalBlock ...
iOS蓝牙开发小计
不同设备连接同一个蓝牙设备,获取到的它的唯一标志是不一样的CBUUID
蓝牙重连后,特征值对象会改变,原来的特征值对象就不生效了,需要重新保存
蓝牙的命令发送和数据接收应该遵循发送后处理接收,接收后再次发送的原则,否则容易出现请求之后返回结果错误的问题
通知提醒功能:
手机只设置开关,实现iOS的消息通知,手表 ...