自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

driftAxe的专栏

仅供学习使用,如有侵权,希望及时告知。

  • 博客(38)
  • 收藏
  • 关注

原创 iOS 用密钥对数据加密解密

引言在iOS App应用开发中,我们需要对用户的个人私密信息进行加密处理,从而保证用户信息的安全性。 这里所说的用户私密信息,如用户的账户,密码等等。为了保证数据的安全性,我们可以将这些私密信息保存到钥匙串(keychain)中,因为钥匙串的不可见性,可以保证用户私密信息的安全。 有一点要说明的,钥匙串中存入明文的私密信息,这是不安全的。我们可以将用户私密信息通过算法加密后再存进钥匙串中,这样就

2020-03-10 11:16:52 3354 3

原创 Objective-C 代码混淆(自动)

为了防止他人通过class-dump反编译我们的APP后,嵌入恶意代码,我们有必要对源码进行混淆。就其原理,就是用一个随机的字符串在App编译前替换我们需要混淆的关键字,让别人反编译之后也是一脸懵逼,无从下手。这里简单说一下,混淆的时候要注意那些事项: 不能对Apple系统的API做混淆,不然就会编译不过,甚至导致程序crash; 不能对IBAction类型的方法和IBO...

2018-03-21 18:37:16 1516

原创 iOS 如何巧妙解决“一个任务需要等待另外一个任务完成后才可以执行”的问题

看到标题,我想大部分iOS开发的童鞋能想到好几种方案。比如下一个网络请求必须依赖上一个网络请求的结果才可以进行,最简单直白的方法是:“同步调用”。这里所说的同步是指,等上一个网络请求任务完成后,直接在返回数据的delegate或者block中执行下一个网络请求。但是,如果碰到我下面这种情况呢?假设现在有三个任务:任务1: 通过网络请求检测一种状态,这是一个网络耗时的操作。任务2:

2017-08-17 18:03:20 13440 1

原创 iOS 空数组的处理

iOS中数组的非空判断

2017-06-07 16:11:57 2581

原创 -initWithData: encoding:返回nil的解决办法

方法:-initWithData: encoding: 返回nil

2017-06-07 14:21:48 3986

转载 iOS Base64编码

参考链接:iOS开发探索-Base64编码

2017-05-24 14:56:15 641

原创 Xcode 8 错误 dyld: Library not loaded: @rpath/libswiftCore.dylib 解决办法

用Xcode 8真机调试时,出现下面的错误: dyld: Library not loaded: @rpath/libswiftCore.dylib Referenced from: /private/var/mobile/Containers/Bundle/Application/LONGSERIALNUMBER/AppName.app/AppName Reason: no suit

2017-05-17 16:08:03 3321

原创 iOS 盲人模式开发

iOS 盲人模式的开发

2017-04-13 15:53:21 4171

原创 Xcode8 注释快捷键失效的解决方案

在Xcode7及以前,我们做注释用的是一个第三方有名的插件 - VVDocumenter。 而升级到Xcode8后,VVDocumenter-Xcode 失效不能用了,也包括其他的插件都不能正常使用了,这是因为Apple已经不鼓励我们使用第三方的插件。 所幸的是,在Xcode中,Apple已经为我们内置了类似VVDocumenter-Xcode插件的注释功能,我们只需要在需要添加注解地方的地方,

2017-03-07 11:29:18 12099 4

原创 iOS 判断系统版本

由于各种原因,程序需要兼容iOS以前的版本,那么设置一个较低的部署目标和基于特定iOS版本的代码分支,就显得很有必要了。 举个例子: 以前我们判断iOS版本会如下写: if ([[[UIDevice currentDevice].systemVersion substringToIndex:1] intValue] >= 7) { // iOS 7.0 及以后的版本

2017-02-27 17:40:30 10395

原创 error: RPC failed; curl 18 transfer closed with outstanding read data remaining

最近项目要进入到新一轮的spring,需要从git上克隆一份最新的代码,在使用终端clone的时候,屡次出现如下错误: error: RPC failed; curl 18 transfer closed with outstanding read data remaining fatal: The remote end hung up unexpectedly fatal: ear

2017-02-08 11:01:52 21719 5

原创 Xcode中误修改系统类库挽救措施

Xcode中误修改系统类库挽救措施

2017-02-07 15:16:57 1482

原创 iOS 锁

iOS开发中,锁的使用总结。

2017-02-04 18:44:29 554

原创 Xcode8: file://XXX: warning: Missing file: XXX is missing from working copy 警告的解决办法

关于Xcode8:中报出 file://XXX: warning: Missing file: XXX is missing from working copy 警告的解决办法。

2017-01-22 14:10:06 3821

原创 iOS block中使用self的那么事

我们在使用block的时候,如果在block是引用self有可能会循环引用,产生内存泄漏的问题。通常,我们如果遇到这种情况,我们会将self转换成weak automatic的变量,这样就避免了block对self强引用。

2017-01-22 12:03:34 2893

原创 C语言 条件编译(宏)

宏编译

2016-12-26 16:10:24 1959

原创 C语言 宏定义

关键字static和externstatic和extern对变量的作用static对局部变量的作用局部变量的声明周期是从定义那一行分配存储空间到程序离开该变量所在的作用域。如果在局部变量前面加上static关键字的话,那就会延长变量的生命周期(从程序启动到程序退出),作用域的范围并没有改变,还是从定义那一行开始直到所在的代码块结束。extern对局部变量的作用声明一个内部变

2016-12-26 10:42:01 750

原创 Objective - C 断言处理

概述我们在阅读一些有名的源码时,经常会碰到这样的编写:- (AFURLSessionManagerTaskDelegate *)delegateForTask:(NSURLSessionTask *)task { NSParameterAssert(task); AFURLSessionManagerTaskDelegate *delegate = nil; [s

2016-12-23 15:36:51 643

原创 iOS 多线程编程的安全问题

iOS开发中多线程的安全问题探讨

2016-12-22 16:05:52 844

原创 iOS 使用NSTimer中的那些坑

NSTimer的正确使用

2016-11-29 17:24:46 5395

原创 Objective-C 枚举的使用

在C、C++、Java这些语言中就有它们对应的枚举,定义的方式也多种多样,但使用目的只有一个:让代码可读性更强。这里我们只简单说说Objective-C中枚举的使用。在Apple提供给我们的API中,经常会看到使用枚举的例子:有这样的:typedef NS_ENUM(NSInteger, UIViewAnimationTransition) { UIViewAnimationT

2016-11-28 14:20:12 1446

原创 iOS 多线程的实现方式及应用示例

概述优点:把程序中耗时的任务放到后台去处理,如图片、视频的下载等;充分发挥多核处理器的优势,并发执行让系统运行的更快、更流畅、用户体验更佳。不足:大量的线程操作会降低代码的可读性;大量的线程需要更多的内存空间;当多个线程对同一资源出现争夺的时候会出现线程安全问题。目前实现多线程的技术有四种:pthread、NSThread、GCD和NSOpera

2016-11-25 15:43:19 582

原创 iOS 关于runtime的那些事

关于runtime的那些事

2016-11-23 14:36:21 460

原创 关于苹果开发者账号的那些事

苹果开发者账号大致分为三种类型:个人、组织(公司和企业)、教育机构。1、个人账号:支付费用99$/年是否可上传到AppStore是最大支持iOS设备数量100台申请时需要DUNS码否使用人数1人2、公司账号:支付费用99$/年是否可上传到A

2016-10-19 15:54:59 402

原创 删除Xcode中多余的证书

前言:在开发过程中,我们导入各种各样的证书,为了App真机测试或者在AppStore上架。在Xcode中配置证书的时候,会有许多我们根本用不到的证书,想要找到你需要的开发证书或者发布证书都不是很方便。作为有强迫症的我,废纸篓中都不允许有东西,何况这么多用不到的证书,不能忍~。好了,现在就说说该怎样删除这些证书。1.删除Xcode中多余的Provisioning Profile证书前往文

2016-07-29 10:36:11 10119

原创 安装测试包(.ipa)到iPhone手机

应用安装

2016-07-29 09:51:03 8342

原创 iOS 解决"此证书由未知颁发机构签名的"办法

此证书由未知颁发机构签名的

2016-07-27 09:50:24 724

原创 iOS App上架流程(2016)

iOS App发布流程

2016-07-26 15:50:28 399

原创 iOS 角度与弧度的转换

角度与弧度的转换

2016-06-28 18:42:59 5467

原创 iOS开发之单例使用(宏)

.h文件中#define SKSingletonH(__className)\+ (__className *)shareInstance;\.m文件中#define SKSingletonM(__className)\\static __className *_instance = nil;\\+ (__className *)shareInstance {\ s

2016-06-01 17:16:32 538

原创 iOS开发之NSLog的使用

NSLog的使用

2016-06-01 15:27:01 632

转载 iOS开发 正确限制UITextField(UITextView)输入位数

正确限制UITextField(UITextView)输入位数

2016-05-24 11:01:03 1081

原创 iOS开发之网络检测

iOS开发中的网络监测

2016-05-20 18:33:46 3049

原创 iOS常见的面试题详解

程序题一:@autoreleasepool { for (int i = 0; i < lagerNumber; i++) { Person *person = [[Person alloc]init]; [person autorelease]; }}autorelease虽然会使引用计数减1,但不是立即减一。它的本质只是把对象(person)放到理

2016-03-08 20:20:56 471

原创 iOS开发之HTTP、TCP/IP、Socket

概述     1、网络层次:网络由下往上依次为:物理层、数据链路层、网络层、传输层、会话层、表示层和应用层。     2、IP协议对应网络层、TCP协议对应传输层、而HTTP协议对应应用层。     3、Socket则是对TCP/IP协议的封装,针对程序员层面上的应用。     4、TCP/IP协议是传输层协议,主要解决数据如何在网络中传输。     5、HTTP是应用层协议,

2016-03-08 19:46:16 798

原创 Objective-C 内存管理

概述 在OC中没有垃圾回收机制,内存管理是依赖对象引用计数器来进行的:在OC中每个对象内部都有一个与之对应的整数(retainCount),叫“引用计数器”,当一个对象在创建之后它的引用计数器为1,当调用这个对象的alloc、retain、new、copy方法之后引用计数器自动在原来的基础上加1(ObjC中调用一个对象的方法就是给这个对象发送一个消息),当调用这个对象的release方法之后它

2016-03-08 17:20:27 454

原创 对Block用copy修饰的理解

对Block用copy修饰的理解

2016-03-08 17:00:04 647

原创 iOS UIView添加背景图片

创建UIImage的方法有两种:    UIImage *image = [UIImageimageNamed:@"image.jpg"];//这种不释放内存,要缓存        NSString *path = [[NSBundlemainBundle]pathForResource:@"image"ofType:@"jpg"];   UIImage

2015-04-03 16:44:38 981

空空如也

空空如也

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

TA关注的人

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