自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(61)
  • 收藏
  • 关注

原创 【问题记录】IOS发布证书过期导致的一些不常见的错误

问题描述:前端时候由于公司账号过期,然后续费。这两天打包出现了情况是,能打出包来,但是安装之后直接闪退,究其根本原因,描述证书过期。但是自己手动打包选的命名是过期后重新编辑的新证书,已经刷新了过期时间了,不存在过期问题,为什么打出来的包还是不能用呢?怀疑是XCode有缓存原因。错误1:上传商店报错如:is not signed using an Apple submission...

2020-02-15 15:44:45 538

原创 IOS 解决WKWebView加载本地html资源文件异常处理

wkwebView加载本地资源时,有时候无法加载全css等资源文件。导致无线显示。需要做一下特殊处理: WKWebViewConfiguration *config = [[WKWebViewConfiguration alloc] init]; config.userContentController = userContentController; config.pr...

2019-06-29 16:40:48 5201 2

原创 IOS $(SRCROOT)和$(PROJECT_DIR)区别

SRCROOT 代表了项目的相对路径,像这种就是相对路径了,应该使用SRCROOTPROJECT_DIR表示项目的绝对路径:向第一个test01那就该使用PROJECT_DIR,代表了项目最外面的文件夹...

2019-05-31 14:21:04 2704

原创 正则表达式的初窥

  上大学时我们都有学过这么一门技巧,但是由于当初并没有好好学习,甚至冷落了’她‘,使得如今想重拾那片美好却显得如此’舔狗‘一般。一直停留在网上搜索阶段,从未有想过自己去尝试编写一下,到头来一遇到一些复杂的字符串规则,就挠头抓耳,捉襟见肘。 这两天利用空闲时间重新简单的认识了一下她,感觉她愈发魅力十足,使我久久不能忘怀。’她‘到底是个什么东西?  通常,我们再编写处理字符串的程序代码时...

2019-02-25 19:55:57 284

原创 IOS 关于字符串的转码处理

在我们网络请求中经常会出现url中包含特殊字符串的情况,这个时候需要前端进行换吗处理,IOS中提供了下面一些可用的方法:1.url字符串中的中文处理 NSString *str3 = [@"123abc中文" stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];//IOS9之后过时 NSString *str3...

2019-01-24 17:21:29 1949

原创 一些有趣的操作分享

1.为我们App动态更换图标 

2018-12-28 14:59:33 636

翻译 你知道的不一样的KVC键值编码

  像Ruby,JavaScript,Python等爱好者经常会嘲笑Objective-C那臃肿的语法。  实际上,一门语言是否优雅归结起来就是其怎么样能更好的避免循环。for,while语句是一种拖累;即使是快速枚举也一样。无论你怎么样使他们看起来更加的友好,循环依然是一个在自然语言中用非常简单方式描述所做事情的代码块。“给我这个列表里面所有员工的平均薪酬”,等等。。。double...

2018-12-27 14:29:15 184

原创 IOS 判断是否是iPhoneX系列

- (BOOL)isIPhoneXSeries{ BOOL iPhoneXSeries = NO; if (UIDevice.currentDevice.userInterfaceIdiom != UIUserInterfaceIdiomPhone) { return iPhoneXSeries; } if (@available(iOS 11....

2018-12-26 17:09:58 3809

原创 ActionSheet在iPad上的适配兼容

兼容适配比较简单,只需要在prenset之前加一个系统校验:if (UI_USER_INTERFACE_IDIOM()== UIUserInterfaceIdiomPad) { if (alertController.popoverPresentationController != nil) { alertController.popoverPrese...

2018-12-17 11:10:30 763

原创 IOS 手机功能的跳转和私有API跳转

[[UIApplication sharedApplication] openURL:url];通过给url不同的值,可以实现调用系统自带 电话/短信/邮箱/浏览器/...1、调用 电话phone[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"tel://800888"]];拨打电话之后不跳转回app[...

2018-12-10 21:09:37 580

原创 IOS 往手机日历里增,删,查,该事件提醒

之前对这个块也不是很熟悉,然后在一个项目上使用过,所以这里就记下笔记,仅供参考。准备工作1.需要在工程中引入EventKit框架,#import <EventKit/EventKit.h>2.引入了此框架后,我们可以用来操作系统日历和提醒事项,这两个app都是IOS系统自带的功能。3.这里有个EKEventStore,相当于一个数据库身份。因为使用比较频繁,建议创建...

2018-12-06 17:11:49 1839

原创 IOS p12文件转pem文件

openssl pkcs12 -in CertificateName.p12 -out CertificateName.pem -nodes 

2018-12-04 13:54:07 290

原创 UIMenuController在IOS中的使用注意项

  像QQ,微信那种长按消息然后弹出黑色的菜单栏,如下图所示:使用方法也相对较为简单,使用步骤如下:1、给目标视图添加长按点击事件 UILongPressGestureRecognizer *longPress = [[UILongPressGestureRecognizer alloc] initWithTarget:self action:@selector(longPres...

2018-12-03 14:10:31 615

原创 sqlcipher在IOS中的应用

    在iOS开发过程中经常需要用到SQLite来存储数据,由于Apple的沙盒机制,我们App的数据存储在沙盒里面,一般情况下无法拿到数据,但是iOS管理软件iFunBox可以读取到应用程序沙盒里面的文件,因此为了保证数据的安全性,我们需要对数据库进行加密存储,然而,一般的加密存储手段有两种方式:1、对数据库中的每条数据进行加密。2、对数据库整个进行加密。  由于前者较为麻烦,储存...

2018-11-20 15:23:06 1665

原创 UITableViewCell图片高度自适应问题

  对于一般UI设计,我们都把图片的写死,但是经常有种需求是需要我们自动根据图片宽高比实现图片的自动缩放功能。这里有多种办法可以解决这种问题,常见的问题处理方式有如下几种:1.后台返回图片的尺寸大小,然后前端根据图片size调整响应的高度,一般宽度定死。2.利用网络图片框架,获取下载到的网络图片实际大小,然后缓存起来,局部刷新cell,重新展示。鉴于之前项目上面也是有类似的需求,这里我...

2018-11-15 16:40:10 2585

原创 SSL在IOS中的应用

关于SSL的一些介绍,在上篇文章中《关于SSL的初步理解》有介绍过。下面主要介绍SSL在IOS下的应用.首先,由于SSL提供了一套数据加密通信的安全协议,其实现过程偏底层,且过程极其复杂。好在Github上为我们提供了一套开源的Socket框架CocoaAsyncSocket,基于TCP、UDP的功能封装也是相当的完整。一.目录结构实现方式也是基于GCD完成,CocoaAsyncS...

2018-11-05 21:25:56 1393

原创 SSL的初步理解

  那么首先我们会问,什么是SSL?SSL(Secure Sockets Layer 安全套接层),及其继任者传输层安全(Transport Layer Security,TLS)是为网络通信提供安全及数据完整性的一种安全协议。TLS与SSL在传输层对网络连接进行加密。SSL协议位于TCP/IP协议与各种应用层协议之间,为数据通讯提供安全支持。SSL协议可分为两层: SSL记录协议(SSL...

2018-11-04 19:52:35 533

原创 IOS10之用户震动反馈

前段时间看了很多App有用到这个效果呢,比如点击tableViewCell的时候有时候会感觉手机有震动一下,还有3DTouch的时候也有类似的效果。于是就找到了这么个API。使用方式非常简单://震动反馈 /* typedef NS_ENUM(NSInteger, UIImpactFeedbackStyle) { UIImpactFeedbac...

2018-10-19 15:19:36 1178

原创 Effective Objective-C 2.0 观后感《一》

1.多用字面量语法,可读性较强2.尽量使用“向前申明”,而不是直接在头文件中导入。3.尽量少用预处理指令来定义变量,换做类型常量static const/ extern NSString * const str来替代;4.尽量使用枚举来定义状态,选项,状态码。可读性更强5.理解NS_Enum和NS_Options来定义枚举的差异,进不进行位运算,2的幂次方6.用switch处理...

2018-10-15 14:29:54 168

原创 Effective Object-C 2.0 观后管《二》

1.description和debugdescription区别2.尽量使用不可变对象,头文件中暴露readonly,实现文件中重写成readwrite.(串行配发队列)3.使用清晰而协调的命名方式4.为私有方法名加前缀,真阳很容易将其与公共方法区分开。不要单用一个下划线做私有方法的前缀,因为这种做法是预留给苹果自己用的。5.如果想让自己所写的对象具有拷贝功能,需要实现NSCopyi...

2018-10-15 14:28:12 126

原创 IOS description和debugDescription区别

相同点:两者都可以格式化输出对象。不同点:description可以直接通过NSLog格式化输出,而debugDescription需要通过控制台命令输出po;- (NSString *)description{ return [NSString stringWithFormat:@"<%@: %p,%@>",[self class],self,@{ ...

2018-10-08 14:47:23 759

原创 Objc_sendMsg消息传递

在IOS开发中我们会经常碰到类似下面这样的错误:分析其原因:大概是因为调用了某个类没有实现的方法,导致程序报错。然后,对象的方法走向是先去自身里面查找,如果有直接被调起,如果没有则去父类的方法中查找,沿着继承链一直往下查找,没找到就进入下面的消息转发流程了。然而深入去分析一波,则要牵扯到IOS的消息转发机制了。  下面简单的分析一下IOS中消息转发机制的流程走向,这里有一张图可以很...

2018-09-27 15:58:04 756

原创 获取最上层的ViewController-IOS

- (UIViewController *)topViewController{ UIViewController *vc = UIApplication.sharedApplication.keyWindow.rootViewController; while ( [vc isKindOfClass:[UINavigationController class]] || [vc...

2018-09-26 19:36:33 1555

原创 RN中JS与原生端相互通信方式解析-IOS

JavaScriptCore框架 是一个苹果在iOS7引入的框架,该框架让 Objective-C 和 JavaScript 代码直接的交互变得更加的简单方便。而JavaScriptCore是苹果Safari浏览器的JavaScript引擎,或许你听过Google的V8引擎,在WWDC上苹果演示了最新的Safari,据说JavaScript处理速度已经大大超越了Google的Chrome,这就...

2018-09-25 20:28:54 2227

原创 Builder Pattern在IOS中的实际应用

在说 Builder Pattern 之前,我们先来看看一个场景。假设我们要预定一个 iPhone 6,要 64G 的,金色的,用代码表述大概是这样:// PFX 是一个前缀,因为直接写 iPhone6 不符合类名大写的习惯,写成 IPhone6 更是怪异 ╮(╯▽╰)╭PFXiPhone6 *iphone = [[PFXiPhone6 alloc] init];iphone.stora...

2018-09-20 20:14:23 206

原创 断言(NSAssert)在IOS中的应用

NSAssert()是一个宏,用于开发阶段调试程序中的Bug,通过为NSAssert()传递条件表达式来断定是否属于Bug,满足条件返回真值,程序继续运行,如果返回假值,则抛出异常,并且可以自定义异常描述。查看源码我们可以看到NSAssert是这样定义的,NSAssert(condition,description),condition取相反值.比如判断一个值不能为空时,NSAssert(pa...

2018-09-20 20:03:33 336

原创 React Native 解决0.55之后textInput输入框在特殊情况不兼容中文等问题

<TextInput value={value} onChangeText={onChangeText} />当textInput设置了 value的同时又设置了onChangeText属性时,在IOS平台会出现无法输入中文,而安卓下没啥问题。多种尝试,最终在github上RN问题列表中找到解决办法,修改原生库。解决无法输入中文问题 ...

2018-09-05 15:06:50 2415

原创 RN中 打开Image/ImageBackground圆角的正确方式

  设置style:borderRadius这个在IOS中实测有时可用但不万能,在安卓中就不尽人意了,最终在github上rn板块找到解决办法,设置隐藏属性imageStyle={{ borderRadius:20 }} 所以正确打开方式:<Image style={{width:40,height:40,borderRadius:20}} imageStyle={{...

2018-09-05 15:01:16 8262 2

原创 React中的通信方式

  React中常见的通信方式有三大中类:1.props  props适用于父子级组件之间的参数传递,包括callback。一般最好不要超过三层关系。2.context类似于props的一个全局状态管理对象,用法和props中传递callback类似。使用context是有前提条件的。条件:1.父组件首先需要申明支持context传递,提供一个静态方法。static ...

2018-09-05 14:54:58 461

原创 IOS 安全机制

  iOS的系统架构分为四个层次:核心操作系统层(the Core OS layer),核心服务层(the Core Services layer),媒体层(the Media layer),可轻触层(the Cocoa Touch layer)。系统操作占用大概240MB的存储器空间。目前所了解到的IOS的区安全机制主要有七大部分:1.更小的受攻击面首先基于IOS不开源框架的影响,降...

2018-08-01 10:40:11 1935

原创 IOS FaceID & TouchID识别

  需要最低系统支持8.0以上,如果是FaceID至少IOS11以上.导入头文件#import <LocalAuthentication/LocalAuthentication.h>逻辑部分处理如下:- (void)fingerVerification{ if ([UIDevice currentDevice].systemVersion.floatValue...

2018-08-01 10:14:11 3023

原创 IOS 之 JavaScriptCore认识

JavaScriptCore是IOS7以后苹果为了解决JS和原生之间的交互问题 1.非WebView环境下  一般有两种方式解决JS -> OC1.OC主动调用JS-(void)OCCallJS{ self.context = [[JSContext alloc] init]; NSString *js = @"function add(a,b) {ret...

2018-07-27 14:36:11 525

原创 IOS图片处理的一些方式的性能差异

iOS的5种图片缩略技术以及性能探讨

2018-07-27 10:11:30 131

原创 ReactNative动画之Animated初识篇

Animated提供了两种类型的值:1.Animated.Value()用于单个值2.Animated.ValueXY()用于矢量值{x:0,y:0}Animated.Value可以绑定到样式或是其他属性上,也可以进行插值运算。单个Animated.Value可以用在任意多个属性上.目前Animated提供的动画组件有View,Image,Text,ScrollView;当然我们也...

2018-07-20 14:40:57 413

原创 package.json中 npm依赖包版本前的符号的意义

版本号格式:major.minor.patch主版本号.次版本号.修补版本号每个版本号对应着不同的变更:patch:修复bug,兼容老版本minor:新增功能,兼容老版本major:新的架构调整,不兼容老版本。 1.version必须匹配某个版本,如1.1.2,必须依赖1.1.2版本。2.>version必须大于某个版本如:>1.1.2,表示...

2018-07-19 10:15:59 207

原创 在Cordova或者ionic环境下集成ReactNative页面

方法和前面写过的在原生环境下集成差不多IOS原生环境下集成RN。这里着重讲一下可能会遇到的问题和解决方法。因为CocoaPods和cordova/ionic的兼容不是很好,在这些混合环境下集成rn页面会导致podfile等文件路径找不错问题。问题1:报错:1.Diff:/Podfile.lock:NO such file or directy2.Diff:/Manifest.lock: NO su...

2018-06-28 19:53:35 422

原创 在IOS环境下集成ReactNative页面

1. RN的环境集成还是得看RN官网,步骤写得非常详细。ReactNative中文网2.在这里还是重复一遍步骤,加深一下印象:开发环境准备首先按照环境搭建教程来安装React Native在iOS平台上所需的一切依赖软件(比如npm)。1.设置项目目录结构首先创建一个空文件夹(暂时叫“RN_Test”)用于存放RN项目,然后在里面创建一个ios文件夹来存放原生工程。2.安装...

2018-06-28 19:36:13 509

原创 IOS 使用...表示多个参数传入

ios中使用c语言的va_list可以获取多个参数列表。- (void)testArgs:(NSString *)arg ,... NS_REQUIRES_NIL_TERMINATION;-(void)testArgs:(NSString *)arg, ...{ va_list argList;//创建一个参数指针 va_start(argList, arg);//第一个参数为...

2018-06-22 16:31:51 974

原创 IOS 检测摇一摇动作的实现方式

  目前所知道的检测摇一摇动作的实现方式大概有三种,分别如下:1. 事件模式:- motionBegan ,- motionEnded , - motionCancelled在需要检测的控制器里面实现上面三个方法,可以检测到对应的状态。需要准备工作由:如果App禁用的了摇一摇需要在控制器里面开启摇一摇检测:a.[[UIApplication sharedApplication] setApplic...

2018-06-22 16:14:59 5484

原创 IOS 本地图片加载

在iOS开发中生成一个UIImage对象的方法通常有两种1.利用imageNamed方法2.使用imageWithContentsOfFile下面介绍这两中方法的区别:imageNamed,从应用bundle中寻找图片加载到缓存中,适用于图片较小或经常使用。加载图片太大容易产生内存泄漏。imageWithContentsOfFile:NSString *filePath = [[...

2018-05-28 10:50:00 6132

空空如也

空空如也

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

TA关注的人

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