oc

xcode中oc代码文档生成

萝らか妹 提交于 2019-12-05 06:01:15
1.安装appledoc 1 .安装brew $ /usr/bin/ruby -e " $(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install) " 2 .安装 appledoc $ brew install appledoc 2.查看是否安装成功 $ appledoc - - version $ appledoc - - help 3.使用命令行生成html文档 $ cd yourFolder $ appledoc -- project -name ProjectName -- project -company companyName -- no -create -docset -- create -html -output . / 4.生成文档方式 在xcode中新建target–>Aggregate–>Build Phases–>Run Script #appledoc Xcode script # Start constants company= "chenl" ; companyID= "com.chenl.test" ; companyURL= "http://blog.csdn.net/coooliang" ; target= "iphoneos" ; #target

iOS 初探代码混淆(OC)

我只是一个虾纸丫 提交于 2019-12-05 05:57:15
iOS 初探代码混淆(OC) 前言 自己做iOS开发也有几年的时间了,平时做完项目基本就直接打包上传到Appstore上,然后做上架操作了。但是最近,客户方面提出了代码安全的要求。说是要做代码混淆,这方面的工作之前从来没有接触过。然后就上网查了一下,原来有很多应用程序都做了代码混淆。看来是我固步自封了...... 起因 使用classdump对原程序进行dump,可以dump出所有源程序的函数所有信息:源程序所有函数类型,变量全部泄露。这样的话,让攻击者,也就是黑客们了解了程序结构方便逆向。因为在工程中,我们这些变量或函数命名都是有一定可读性的,例如跟用户名相关的,那一般里面会有 userName,跟密码相关的一般会有passWord,这样定义也是为了我们自己代码可读性更强,我们修改的时候才更加的方便。但是我们相信,这么个定义法,我们只是希望方便我们自己,我们可不希望方便黑客们去破解我们的APP。 总结出来就是一句话:“会把你项目中的所有方法和变量都罗列出来”。 开始混淆: 1. 在进行代码混淆之前,我们需要在我们的项目中增加两个文件: confuse.sh & func.list 我们打开我们的终端命令行 先cd到你项目的路径下,然后回车 然后在终端中分别输入 touch confuse.sh 和 func.list 然后回车 这个时候打开我们的项目文件夹,就能看到多了两个文件

iOS 初探代码混淆(OC)

谁都会走 提交于 2019-12-05 05:54:03
转自: https://blog.csdn.net/ping20/article/details/80543220 前言 自己做iOS开发也有几年的时间了,平时做完项目基本就直接打包上传到Appstore上,然后做上架操作了。但是最近,客户方面提出了代码安全的要求。说是要做代码混淆,这方面的工作之前从来没有接触过。然后就上网查了一下,原来有很多应用程序都做了代码混淆。看来是我固步自封了…… 起因 使用classdump对原程序进行dump,可以dump出所有源程序的函数所有信息:源程序所有函数类型,变量全部泄露。这样的话,让攻击者,也就是黑客们了解了程序结构方便逆向。因为在工程中,我们这些变量或函数命名都是有一定可读性的,例如跟用户名相关的,那一般里面会有 userName,跟密码相关的一般会有passWord,这样定义也是为了我们自己代码可读性更强,我们修改的时候才更加的方便。但是我们相信,这么个定义法,我们只是希望方便我们自己,我们可不希望方便黑客们去破解我们的APP。总结出来就是一句话:“会把你项目中的所有方法和变量都罗列出来”。 开始混淆: 1. 在进行代码混淆之前,我们需要在我们的项目中增加两个文件:confuse.sh&func.list 我们打开我们的终端命令行 先cd到你项目的路径下,然后回车 然后在终端中分别输入 touch confuse.sh 和func

14、OC —— Protocol

旧街凉风 提交于 2019-12-04 16:49:01
1、 protocol (协议)类似java中的接口,定义了一些类需要公用到的方法,只要遵守这个协议,就可以拥有这些方法并可以去实现它们,这样可以避免许多重复的代码。 比如,一个 Teacher (老师)类,一个 Student (学生)类 老师有 goToClassroom (去教室), goToToilet (去厕所), goToOffice (去办公室)等方法,学生也有 这样 Teacher 类和 Student 类都需要声明重复的代码 Teacher.h #import <Foundation/Foundation.h> @interface Teacher : NSObject - (void)goToClassroom; - (void)goToToilet; - (void)goToOffice; @end Student.h #import <Foundation/Foundation.h> @interface Student : NSObject - (void)goToClassroom; - (void)goToToilet; - (void)goToOffice; @end 实现方法我就不实现了,如果这时有个协议来制定这些方法,让 Teacher 和 Student 都去遵守的话,就不需要重复这么多代码 SchoolDaily.h #import

oc NSDate、类的扩展 、代理(家庭-保姆)

自作多情 提交于 2019-12-04 16:48:48
⼀、 NSDate 1、⺴络请求中的时间戳 计算当前时间距离 1970年1⽉1⽇ 的 秒 数 2、关于时区 24 个时区 北京 东八区 NSDate 输出的永远是 0 时区的时间 英国 格林尼治时间 GMT Greenwich Mean Time 3、NSDate使用 // 创建日期:表示当前的时间 NSDate * nowDate = [ NSDate date ]; // 创建日期:以当前时间为参考点,创建表示昨天这个时间的日期对象 double oneDay = 24 * 3600 ; NSDate * yesterday = [ NSDate dateWithTimeIntervalSinceNow :-oneDay]; NSDate * since2001 = [ NSDate dateWithTimeIntervalSinceReferenceDate : 0 ]; NSDate * since1970 = [ NSDate dateWithTimeIntervalSince1970 : 0 ]; NSDate * sinceAnyDay = [ NSDate dateWithTimeInterval :oneDay sinceDate :since2001]; // NSTimeInterval 是 double 类型 NSTimeInterval interval

Objective-C ---

孤街浪徒 提交于 2019-12-03 16:43:07
1准备 2.设置CollectionView // FlowLayout布局 UICollectionViewFlowLayout *layout = [[UICollectionViewFlowLayout alloc]init]; //设计方向 // layout.scrollDirection = UICollectionViewScrollDirectionHorizontal; _collectionView = [[UICollectionView alloc]initWithFrame:[UIScreen mainScreen].bounds collectionViewLayout:layout]; [self.view addSubview:_collectionView]; // 设置代理 _collectionView.delegate = self; _collectionView.dataSource = self; // 注册cell [_collectionView registerClass:[UICollectionViewCell class] forCellWithReuseIdentifier:kCellID]; // 背景颜色默认为黑色 _collectionView.backgroundColor = [UIColor

oc中的protocol(协议)与delegate(代理)

。_饼干妹妹 提交于 2019-12-03 13:39:48
protocol(协议) 与创建类一样,右击鼠标,选New File,选Objective-C,选protocol(切记!!!),然后写协议名,就可以了。 1.Protocol :就一个用途,用来声明一大堆的方法(不能声明成员变量),不能写实现。 2.只要某个类遵守了这个协议,就拥有了这个协议中的所有方法声明。 3.只要父类遵守了某个协议,那么子类也遵守。 4.Protocol 声明的方法可以让任何类去实现, protocol 就是协议。 5.OC 不能继承多个类(单继承)但是能够遵守多个协议。继承 (:) ,遵守协议( < > ) 6.基协议: <NSObject> 是基协议,是最根本最基本的协议,其中声明了很多最基本的方法。 7.协议可以遵守协议,一个协议遵守了另一个协议,就可以拥有另一份协议中的方法声明。 在这里我们创建了一个协议rensheng #import <Foundation/Foundation.h> @protocol rensheng <NSObject> //可选的 @optional -(void)TVing:(id)xiaoming; //必须实现的 @required -(void)eating:(id)xiaoming; @end 然后我们在people类.h文件里面引用它 #import <Foundation/Foundation.h> /

OC-音乐播放器-锁屏处理

柔情痞子 提交于 2019-12-03 11:10:16
QQ音乐播放的过程中,锁屏状态下的效果如下: 也就是说,QQ音乐播放过程中,添加锁屏远程事件的监听。 本文只记录本人知道的小知识点,不提供完整的代码。 实现的原理: (1)获取锁屏歌曲信息中心:MPNowPlayingInfoCenter (2)设置锁屏下要显示的歌曲的信息 (3)启动远程事件的监听 1.MPNowPlayingInfoCenter简要说明 : (1)官方文档对MPNowPlayingInfoCenter的解说如下: // ----------------------------------------------------------------------------- // MPNowPlayingInfoCenter provides an interface for setting the current now // playing information for the application. This information will be displayed // wherever now playing information typically appears, such as the lock screen // and app switcher. The now playing info dictionary contains a

How to draw Optical flow images from ocl::PyrLKOpticalFlow::dense()

匿名 (未验证) 提交于 2019-12-03 09:14:57
可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试): 问题: How to draw Optical flow images from ocl::PyrLKOpticalFlow::dense() Which actually calculates both horizontal and vertical component of the Optical flow? So I don't know how to draw them. I'm new to opencv . Can anyone help me? Syntax : ocl::PyrLKOpticalFlow::dense(oclMat &prevImg, oclMat& nextImg, oclMat& u, oclMat &v,oclMat &err) 回答1: A well establische method used in the optical flow community is to display a motion vector field as a color coded image as you can see at one of the various data sets. E.g MPI dataset or the Middlebury

OC-类似歌词字体颜色逐字变化的实现方法

给你一囗甜甜゛ 提交于 2019-12-03 04:57:43
预期实效果图如下: 如上图所示,文字的颜色会根据时间的移动,逐字变成绿色。 实现方法: (1)调用方法:   用 void UIRectFillUsingBlendMode(CGRect rect, CGBlendMode blendMode) 这个方法来实现 (2)实现逻辑:   自定义Label,通过label的drawRect:方法 获取Label的图形上下文,使用调用UIRectFillUsingBlendMode:混合填充的方式来实现label颜色的绘制 (3)代码实现:   创建自定义的label:   .h 和.m的文件如下: ----------------.h-------------------- #import <UIKit/UIKit.h> NS_ASSUME_NONNULL_BEGIN @interface YALabel : UILabel @property (nonatomic, assign) CGFloat progress ; @end ----------------.m-------------------- #import "YALabel.h" @implementation YALabel - (void)drawRect:(CGRect)rect { [super drawRect:rect]; [[UIColor