- 博客(40)
- 收藏
- 关注

原创 POS机验证流程
1 上传POS的SN和商户ID,2 向后台签到,从后台获得工作秘钥;3 在从工作秘钥中拼接出macKey和pinKey;4 将pinKey和macKey导入POS机。报文中的部分字段: agentId = 0; agentName = "\U548c\U878d\U901a\U652f\U4ed8"; batachNo = 000001;//批
2016-01-31 16:48:49
2507
原创 UIKeyboardType
UIKeyboardTypeNumbersAndPunctuation 有数字和搜索按钮UIKeyboardTypeNumberPad 只有数字UIKeyboardTypePhonePad 有数字和加减乘除
2016-03-10 13:35:47
503
原创 leftBarButtonItem设置左边距,rightBarButtonItem设置右边距
UIButton *backButton = [[UIButtonalloc] initWithFrame:CGRectMake(0,0, 30,44)]; [backButton addTarget:selfaction:@selector(navigationBackButtonClicked)forControlEvents:UIControlEventTouc
2016-02-29 16:21:15
7675
原创 UIViewAlertForUnsatisfiableConstraints
问题Will attempt to recover by breaking constraint Make a symbolic breakpoint at UIViewAlertForUnsatisfiableConstraints to catch this in the debugger.解决方法:Add Missing Contraints
2016-02-29 13:21:03
750
原创 ios 几天后到期
if (![cardData[@"paymentDay"] isEqualToString:@""]) { // 取当前日期 NSDate *currentDate = [NSDate dateWithTimeIntervalSinceNow:0];// 432000 = 5*24*3600 NSDateFormatter
2016-02-24 17:29:26
458
原创 iOS安全:反汇编(inline编译方式)
方法1:采用inline函数原理:设置inline属性、static属性,可以使得编译后生成的目标代码在反汇编成汇编代码时,不容易阅读,弄清其中的逻辑,因为inline会导致汇编代码中是直接将inline函数的函数体拷贝到main中,而不是清晰的call调用;static属性,则会让编译生成的二进制代码中,没有清晰的符号表,同样使得攻击者很难通过逆向弄清楚程序逻辑。把信息保
2016-02-03 10:28:43
777
原创 AES 3DES MD5 Base64区别
AES加密数据块分组长度必须为128比特,密钥长度可以是128比特、192比特、256比特中的任意一个(如果数据块及密钥长度不足时,会补齐)。3DES又称Triple DES,是DES加密算法的一种模式,它使用3条56位的密钥对数据进行三次加密。数据加密标准(DES)是美国的一种由来已久的加密标准,它使用对称密钥加密法。DES使用56位密钥和密码块的方法,而在密码块的方法中,文本被分成
2016-01-29 10:48:48
3440
原创 cycript和.a静态库
cycript用下面的方法列出来视图控制器所有的方法:function printMethods(className) {var count = new new Type("I");var methods = class_copyMethodList(objc_getClass(className), count);var methodsArray = [];for(var i
2016-01-29 09:05:37
439
转载 iOS安全-测试内容
iOS平台个人网银APP的安全测试报告2014-11-18 11:14 编辑: pockry 分类:iOS开发 来源:FreeBuf 5132iOS安全网银几年来,我一直在从事有关个人网银APP的安全性研究。在这份报告中,我使用了黑盒和静态分析的方法,对全球最具影响力的四十个iPhone/ipad网银APP进行了安全测试。以下国家的个人网银A
2016-01-26 18:01:50
1192
原创 +load +initialize
在Objective-C中,运行时会自动调用每个类的两个方法。+load会在类初始加载时调用,+initialize会在第一次调用类的类方法或实例方法之前被调用。这两个方法是可选的,且只有在实现了它们时才会被调用。由于method swizzling会影响到类的全局状态,因此要尽量避免在并发处理中出现竞争的情况。+load能保证在类的初始化过程中被加载,并保证这种改变应用级别的行为的一致性。相
2016-01-26 17:48:41
346
原创 tableview或者ScrollView看不到边界以外的内容
为什么tableview或者ScrollView看不到边界意外的内容?因为ScrollView有个属性是bounces(A Boolean value that controls whether the scroll view bounces past the edge of content and back again.)itms-services协议:itms是item
2016-01-19 09:34:20
436
转载 iOS左是master,右边是detail
- (void)tableView:(UITableView *)tableView willDisplayHeaderView:(UIView *)view forSection:(NSInteger)section{ if (scrowFangXiang) { [selfchangeCaiPinLeiTitle:section]; }
2016-01-18 10:32:36
428
原创 贝塞尔曲线 旋转视图
label.transform =CGAffineTransformMakeRotation(0.2)// 旋转视图label3.adjustsFontSizeToFitWidth =true //根据label的宽度,改变字体的大小label3.addGestureRecognizer(tap)label3.shadowColor =UIColor.purpleC
2016-01-13 18:48:06
763
原创 swift举例
label.transform =CGAffineTransformMakeRotation(0.2)// 旋转视图label3.adjustsFontSizeToFitWidth =true //根据label的宽度,改变字体的大小label3.addGestureRecognizer(tap)label3.shadowColor =UIColor.purpleC
2016-01-13 15:40:59
347
原创 苹果示例程序--视图自适应
示例程序:UIVisualEffectView UIBlurEffect *effect = [UIBlurEffecteffectWithStyle:UIBlurEffectStyleLight]; _backgroundView = [[UIVisualEffectViewalloc] initWithEffect:effect];
2016-01-12 13:46:12
537
转载 iOS,debug,release,distribution的区别
使用XCode经常会看到针对上述三种版本的各种配置项,但并不是很清楚。这里总结下:一般就是区分debug和release. debug用来调试,一般会带调试信息,release去掉了调试信息,并且一般编译时经过了优化,用来发布给用户使用。distribution,其实就是使用了企业证书的编译版本。虽然这不是特别要求非得如此,但是许多参与企业版证书发布的程序员都遵守了这么一个
2016-01-12 11:56:01
1007
转载 iOS自动打包并发布脚本
http://my.oschina.net/u/727843/blog/391946前言IOS的开发过程中,当需要给测试人员发布测试包的时候,直接使用xcode来做的效率是非常低下的。尤其是当有一点小改动需要重新出包时,那简直是个折磨的人的工作。通过一番研究后,遂决定写一系列脚本,以代替人工完成打包和发布的过程。目前脚本已经完成,基本可以满足我目前的需求。现将其开源
2016-01-12 11:34:18
468
原创 iOS设置字符串指定位置的颜色和字体
NSMutableAttributedString * pointMut = [[NSMutableAttributedStringalloc] initWithString:point]; [pointMut setAttributes:@{NSForegroundColorAttributeName:oragineColorGlk1,NSFontAttribu
2016-01-11 14:51:59
2415
原创 tableView插入Rows,删除Rows
[_tvFenLeiinsertRowsAtIndexPaths:@[[NSIndexPathindexPathForRow:1inSection:0]]withRowAnimation:UITableViewRowAnimationAutomatic]; [_tvFenLei deleteRowsAtIndexPaths:@[[NSInd
2016-01-11 11:59:58
443
转载 iOS视图层次结构
http://www.tuicool.com/articles/6FNvY3J当你继承loadView方法来创建视图时,你不应该调用super. 这样做会触发(initiates)默认视图加载行为,而这通常只会浪费CPU周期(cycles). 你定义的loadView方法应该实现所有的工作,包括为你的视图控制器创建一个根视图和各个子视图。
2016-01-08 13:54:15
299
转载 WWDC 2014 笔记 - iOS界面开发的大一统
http://www.cocoachina.com/industry/20140729/9269.html(via:OneV's Den) 本文是我的 WWDC 2014 笔记 中的一篇,涉及的 Session 有What's New in Cocoa TouchBuilding Adaptive Apps with UIKi
2016-01-06 17:37:16
550
原创 UISwitch的默认宽高51*31,UITabBarController的默认高度是49
UITabBarController的默认高度是49
2016-01-06 09:32:35
1655
原创 UIAlertController的使用
UIAlertController *alert = [UIAlertControlleralertControllerWithTitle:@"确定删除此分类吗?"message:nilpreferredStyle:UIAlertControllerStyleAlert]; [alert addAction:[UIAlertActionactionWith
2015-12-31 16:35:25
324
原创 改变frame
- (void)viewWillLayoutSubviews{ mpBaseView.frame =CGRectMake(0,64, screenWidth,screenHeight - 64);}
2015-12-29 10:48:37
311
原创 导航栏返回按钮替换图片去掉文字
- (instancetype)initWithRootViewController:(UIViewController *)rootViewController{ self = [superinitWithRootViewController:rootViewController]; if (self) { // Custom initializat
2015-12-21 14:17:50
672
转载 boundingRectWithSize
boundingRectWithSize 的使用, 计算UILable高度, 包含Emoji及多属性string.iOS的文字高度计算一直是个问题, 苹果也一直在改, 这几天看了一下 boundingRectWithSize 方法.- (CGRect)boundingRectWithSize:(CGSize)size options:(NSStringDrawingOption
2015-12-18 09:15:50
876
原创 iPhone屏幕尺寸、分辨率及适配
苹果官方默认设定图片点坐标尺寸是29*29,放大3倍是87*87pix。而我们方便计算设定图片点坐标尺寸是30*30,放大3倍是90*90pix;
2015-12-17 10:49:07
452
原创 自定义类、类扩展、分类的区别
自定义类: 类方法的一个常见例子是类的工厂方法类扩展 (Class Extension也有人称为匿名分类)作用:能为某个类附加额外的属性,成员变量,方法声明一般的类扩展写到.m文件中一般的私有属性写到类扩展使用格式:@interface Mitchell()//属性//方法@end与分类的区别分类的小括号中
2015-12-09 17:48:59
449
原创 搜索框不在视野范围内,视图显示指定位置
_tableView.contentOffset =CGPointMake(0,44);// 默认不让搜索框在视野范围内
2015-12-09 14:23:31
478
原创 导航栏透明 毛玻璃效果iOS
UI控件A,如果A有内容,加在self.view上,需要设置Y坐标为64;如果A没有内容,只是作为底层view,并将有内容的UI控件B加到A上,只需将A的Y坐标设为0,B的Y坐标为0。虽然B的Y坐标为0,但是内容还是从导航栏的下部(Y为64)开始显示的。
2015-12-09 11:43:43
1169
原创 Cornerstone(SVN客户端) 创建分支 合并分支
创建分支就不说了。合并分支,需要注意的是,2个分支(2个Working Copies)的下级目录要一样。合并时,可以选择从一个分支的本地Working Copies合并到另一个分支,但是最好先将一个分支commit到SVN,在合并时,从这个SVN目录合并到另一个分支。
2015-12-03 08:58:05
2256
原创 textField 和 按钮
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string{ if ((range.location ==0) && [string isEqualToString:@""]) {//
2015-12-02 11:47:50
396
转载 43个优秀的Swift开源项目推荐
http://www.youkuaiyun.com/article/2015-01-09/2823502-swift-open-source-libs
2015-12-01 17:32:32
428
原创 swift中 ? 和 ! 的区别
如何声明Optional声明为可选,可以使用?或者!,如果使用?,其值为空时,调用也没有关系,只是什么也没有做而已。但是,如果使用!声明,如果其值为空,我们调用就会造成crash。对于!表示告诉编译器,其一定有值。
2015-12-01 16:28:38
351
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人