自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(16)
  • 资源 (4)
  • 收藏
  • 关注

原创 git分支的介绍

分支的介绍(1)master分支:生产使用的最稳定代码,每个版本代码必须稳定、软件功能能正常使用。读写权限由负责人严格控制,平时全部写保护;后续需要合并,由管理员操作完成。(2)hotfix分支:生产发现的紧急bug修复分支,从master分支拉出,开发人员基于该分支进行bug修复。bug修复完毕、测试通过以及发布App Store后,代码合并回master和develop分支,并打上对应的版本号标签,hotfix分支被清除。(3)develop分支:研发最新最稳定的代码,从master拉出,要

2020-12-28 16:44:14 363 1

原创 什么是AOP编程?

什么是AOP编程?AOP是OOP的延续,是Aspect Oriented Programming的缩写,直译意思:面向方面编程、面向切面编程。AOP通过预编译方式和运行期动态代理实现在不修改源代码的情况下给程序动态统一添加功能的一种技术。可以在代码阶段实现分离关注,实现松耦合,然后在运行时将相关动作特征植入运行,从而改变程序的运行顺序,达到拦截或者增加功能的目的。常见框架:VirtualXposed下面先说AOP是什么样的思想,我们一步一步慢慢来,先看一下传统程序的流程,比...

2020-12-28 16:39:31 1648

原创 APP版本更新后,启动图片没随着更新

app版本在3.0时需要更新启动页,然而替换后发现并没有更新,在旧版本的基础上安装打开启动页还是之前版本的,只有删除从新安装才是我需要的启动页。经过漫长的各种方式测试终于搞定,下面分享一下走出坑的历程。一. 用 LaunchScreen.storyboard方式添加启动页1,跑一下程序,App启动页为1,然后更换启动页为2 1.启动页更换为LaunchImage方式,跑一下程序,app启动页为1.不成功 2.启动页更换为LaunchImage和LaunchScreen.storyb...

2020-12-28 16:29:50 502

原创 什么是Binary search tree? search的时间复杂度是多少?

Binary search tree:二叉搜索树。主要由四个方法:(用C语言实现或者Python)1.search:时间复杂度为O(h),h为树的高度2.traversal:时间复杂度为O(n),n为树的总结点数。3.insert:时间复杂度为O(h),h为树的高度。4.delete:最坏情况下,时间复杂度为O(h)+指针的移动开销。可以看到,二叉搜索树的dictionary operation的时间复杂度与树的高度h相关。所以需要尽可能的降低树的高度,由...

2020-12-28 16:29:13 1479

原创 静态库SDK—— .framework和.a的制作

一.库的介绍强调几点:第一 (.dylib库文件) == (.tdb库文件)第二. 自己建立的.framework是静态库,而系统的.framework是动态库第三. .a文件和.framework文件的区别: 区别一: .a是一个纯二进制文件,.framework中除了有二进制文件之外还有很多资源文件 区别二: .a不能直接使用,至少要有.h文件配合,.framework文件可以直接使用 区别三: .framewo...

2020-12-28 16:23:10 444

转载 tsconfig.json配置详解

{ "compilerOptions": { /* Basic Options */ "target": "es5" /* target用于指定编译之后的版本目标: 'ES3' (default), 'ES5', 'ES2015', 'ES2016', 'ES2017', 'ES2018', 'ES2019' or 'ESNEXT'. */, "module": "commonjs" /* 用来指定要使用的模块标准: 'none', 'commonjs', 'amd', 'sy.

2020-12-28 16:05:59 1268

转载 iPhone开发关于UDID和UUID的一些理解

UDID是Unique Device Identifier的缩写,中文意思是设备唯一标识. 在很多需要限制一台设备一个账号的应用中经常会用到,在Symbian时代,我们是使用IMEI作为设备的唯一标识的,可惜的是Apple官方不允许开发者获得设备的IMEI.一.UDID(Unique Device Identifier) UDID是Unique Device Ident

2018-01-25 14:52:28 905

原创 NSDate与NSString的转换以及业务上几种常见时间转换需求

首先了解下NSDate的初始化:// 获取当前日期    NSDate *date = [NSDate date];   // 打印结果: 当前时间 date = 2016-06-16 11:00:04 +0000    NSLog(@"当前时间 date = %@",date);   // 获取从某个日期开始往前或者往后多久的日期,此处60代表60秒,如果需要获取之前的,将6

2018-01-24 17:03:13 319

原创 iOS10 新特性-添加权限支持

手机升级了 iOS10,然后用正在开发的项目 装了个ipa包,发现点击有关 权限访问 直接Crash了,并在控制台输出了一些信息:This app has crashed because it attempted to access privacy-sensitive data without a usage description. The app's Info.plist must c

2018-01-24 16:41:44 449

原创 iOS10 权限崩溃解决方案

手机升级了 iOS10,然后用正在开发的项目 装了个ipa包,发现点击有关 权限访问 直接Crash了,并在控制台输出了一些信息:This app has crashed because it attempted to access privacy-sensitive data without a usage description. The app's Info.plist must c

2018-01-24 16:41:19 416

原创 关于iOS的单例设计模式

在iOS里,设计模式有如下几种:MVC、工厂、代理、kvo、通知(NSNotification)模式、单例模式下面一一介绍1.MVC模式:现在绝大部分项目都是基于MVC模式,但是有一部分开发者采用MVVC和MVP模式MVC模式   :(Model - View - Controller)model:主要处理数据,Model中经常含有多个字段,通常来说就是存储数据

2018-01-24 16:29:50 450

原创 关于友盟库的导入以及调不起第三方授权页的问题

首先是友盟库的导入,就不多说什么了,想要最新的就手动拖入,想要最快捷的就pod导入。 常见问题:如果遇到授权或分享没有调到对应app,则可能是没有添加对应的白名单,具体加入方法是右键info.plist选择source code打开,添加如下: 白名单的添加方法及具体各个平台;如果出现了跳不回本app的问题,则是少设置了urlScheme具体点击工程的target->info->URL

2017-03-03 22:02:31 658

原创 关于支付的回调处理

此处拿微信支付来举例,支付宝支付同理 添加WXApiDelegate //不同iOS版本的回调函数不同,但也大同小异,具体不再列举。 - (BOOL)application: (UIApplication * )application openURL: (NSURL * )url sourceApplication: (NSString * )sourceApplication annotat

2017-02-08 15:01:14 1697

原创 关于库的手动引入出现的头文件不存在的问题

Target —-> Build Settings ——> Header Search Paths$(PROJECT_DIR)/文件夹名 (直接点击openssl,然后showinfinder,然后command + i 查看路径,把得到路径的工程名字以后的部分加在文件夹名这OK了)第三方库的引入需要用到<> 提示文件not found,即文件不存在

2017-02-08 15:00:19 822

原创 由企业证书打包的app--提示证书不受信任的解决途径

图片演示出现情况与解决方案证书未受信任 第一步–进入设置选择一般(通用) 第二步–选择装置管理(设备管理) 第三步–进入对应企业证书 第四步–验证app

2017-02-08 14:56:34 2789

转载 iOS - 正则表达式判断常见格式

//邮箱+ (BOOL) validateEmail: (NSString *)email{    NSString *emailRegex = @"[A-Z0-9a-z._%+-]+@[A-Za-z0-9.-]+\\.[A-Za-z]{2,4}";    NSPredicate *emailTest = [NSPredicate predicateWithFormat: @"SE

2017-02-08 14:47:01 564

Objective-C代码规范

Objective-C的官方代码规范,使开发代码更美观和团队按照统一代码规范进行开发

2020-12-28

关于iOS代码注释的统一规范

iOS代码注释的规范,更方便团队的规范协作和统一

2020-12-28

iOS代码风格统一规范

定义了一些契合官方的一些代码统一规范,让多人开发更凝聚哦

2020-12-28

iOS自动打包上传蒲公英或fir

通过python和shell脚本指令实现一键打包,包括自动导出包->上传蒲公英或者fir->一键发布邮件,如有问题可关注我留言

2020-12-28

空空如也

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

TA关注的人

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