iOS自定义相机界面 发表于 2017-10-14 | 分类于 iOS 背景由于项目中需要拍照功能,但是系统原生的相机功能根本满足不了项目的需要,所以就只能自定义一个相加了。苹果再AVFoundation框架中给我们提供了各个api,我们完全可以通过这些api自定义一个满足我们需求的相机。 关键类AVCaptureSession 负责输入流和输出流的管理。AVCaptu ... 阅读全文 »
iOS中将数字用符合隔开(比如逗号) 发表于 2017-10-14 | 分类于 iOS 这次项目中遇到一个需求,将数字每隔3个用逗号隔开。因为如果数字太大确实看着有点眼花。 所以就想着写了一个NSString的category,用起来效果还不错,代码如下: .h的声明#import <Foundation/Foundation.h> @interface NSStrin ... 阅读全文 »
iOS中isEqual:方法详解 发表于 2017-10-14 | 分类于 iOS 背景 大家对于这个方法其实再熟悉不过了,比较对象的时候用这个方法,如果使用==针对对象则仅仅比较的是内存地址的引用。但是大家可能会忽略另一个细节,对象的hash值 引用苹果官方的一句话: This method defines what it means for instances to be e ... 阅读全文 »
将RN工程嵌入到现有原生iOS应用 发表于 2017-10-14 | 分类于 React Native 今天心血来潮,就想尝试一下将RN工程单独嵌入到原生工程中,所以就做了尝试,本文是通过cocopods集成RN到现有工程的,但是其中也遇到一个问题,怎么编译都不过。 依赖包React Native的植入过程同时需要React和React Native两个node依赖包,所以需要我们创建package. ... 阅读全文 »
iOS中3DES加密解密 发表于 2017-10-14 | 分类于 iOS , 安全 加密加密分为对称加密和非对称加密。 对称性加密算法,信息接收双方都需事先知道密匙和加解密算法且其密匙是相同的,之后便是对数据进行 加解密了; 非对称算法与之不同,发送双方A,B事先均生成一堆密匙,然后A将自己的公有密匙发送给B,B将自己的公有密匙发送给A,如果A要给B发送消息,则先需要用B的公有密 ... 阅读全文 »
NSObject的+load和+initialize详解 发表于 2017-10-14 | 分类于 iOS 文章比较长,第一部分通过runtime的源码介绍了load和initialize两个方法的本质;第二部门通过实例演示了这个两个方法的调用;第三部分就是结论和应用场景 #通过runtime源码解析load和initialize +load通过调用堆栈,我们可以看出系统首先调用的是load_images ... 阅读全文 »
NSInvocation 发表于 2017-10-14 | 分类于 iOS NSInvocation是命令模式的一种实现,它包含选择器、方法签名、相应的参数以及目标对象。所谓的方法签名,即方法所对应的返回值类型和参数类型。当NSInvocatio被调用,它会在运行时通过目标对象去寻找对应的方法,从而确保唯一性,可以用[receiver message]来解释。实际开发过程中 ... 阅读全文 »
Rect Native(>0.45)通过cocopods初始化工程 发表于 2017-10-14 | 分类于 React Native 由于React Native 0.45以上版本增加了4个依赖包,并且被墙了,所以大家在初始化工程之后运行会报错,就是因为缺少了文件。其实就是Bridge文件或者它所依赖的文件。0.45以后的bidge开始使用了RCTCxxBridge,之前都是RCTBatchedBridge,根据Facebook的 ... 阅读全文 »
手把手教你创建CocoaPods的podspec 发表于 2017-10-14 | 分类于 iOS 现在大部分iOS项目都是在用CocoaPods来管理项目了,但是当我们自己写的一个公有或者私有项目的时候,想要支持CocoaPods,那应该怎么做呢?本教程手把手的教大家如何创建podsepc 步骤 github上创建自己的共有项目 创建自己的Xcode工程,并提交到该repository 创建po ... 阅读全文 »
pod install vs. pod update 发表于 2017-10-14 | 分类于 iOS 背景 作为iOS管理第三方包很好用的一个工具CocoaPods,大部分在使用过程中一开始使用pod install,之后就一直使用pod update。其实这种做法是不对,本篇文章将详细介绍这几个命令的区别,也希望iOS开发者能够合理使用这几个命名 pod init 初始化一个工程,此时会产 ... 阅读全文 »