- 博客(31)
- 收藏
- 关注
原创 iOS自动化代码检查及持续集成(xcode+oclint+xcpretty+Jenkins)
OCLint是什么?OCLint是一个静态代码分析工具,通过检查C,C ++和Objective-C代码并寻找潜在问题来提高质量和减少缺陷:如果/ else / try / catch / finally语句为空未使用的局部变量和参数高圈复杂度,NPath复杂度和高NCSS冗余if语句和无用的括号长方法和长参数列表倒置逻辑和参数重新分配…总结:OCLint实现自动化审查代码规范...
2019-07-11 17:50:02 2416
原创 iOS图片圆角优化-第三方工具源码解读
图片圆角优化工具的概述该库是通过UIImageView写一个分类,调用一行代码实现圆角的优化:imageview.aliCornerRadius = 5.0f,核心思想就是使用圆角图片替换系统圆角核心技术点KVO观察者模式的使用@interface HJImageObserver : NSObject@property (nonatomic, assign) UIImageView...
2019-04-04 11:09:44 248
原创 Effective Objective-C 2.0总结
一:了解OC语言的起源 1.OC为C语言添加了面向对象的特性,是其超集。OC使用动态绑定的消息结构,在运行时才会检查对象类型。接收一条消息之后,执行何种代码,由运行期环境决定二:在类的头文件中尽量少引入其他头文件 1.在类的头文件中使用向前声明来提及别的类(@class),并在实现文件中引入那些类的头文件,降低类之间的耦合性,减小编译时间,解决两个头文件互相引用,两个类里有一个无法正确编译...
2018-09-10 17:28:28 316
原创 友盟线上推送IOS10.3.3系统收不到消息的解决方案
今天花费了一天时间去解决iOS10.3.3系统收不到消息推送的问题,时间花的长,在找问题的同时,也学习到了一些知识,在此记录下来,有遇到相同问题的同仁,可以看看。解决方案我们可以看到友盟新的SDK里面增加了 (void)startWithAppkey:(NSString * __nonnull)appKey launchOptions:(NSDictionary * __...
2018-07-26 10:42:56 1195 1
原创 OpenGL ES学习初体验
绪论OpenGL定义:OpenGL(全写Open Graphics Library)是个定义了一个跨编程语言、跨平台的编程接口的规格,它用于三维图像。OpenGL是个专业的图形程序接口,是一个功能强大,调用方便的底层图形库。OpenGL ES(OpenGL for Embedded Systems)是OpenGL三维图形API的子集,针对手机、PDA和游戏主机等嵌入式设备而设计。...
2018-07-26 10:41:52 576
原创 iOS审核被拒原因总结
1.Your app has the UIFileSharingEnabled key set to true in the Info.plist, but the Documents folder includes files and folders not intended for file sharing. Next Steps To resolve this issue, please...
2018-07-26 10:40:16 1116
转载 pod setup进度查看
在执行pod install命令时加上参数--verbose即:pod install 'ThirdPartyName' --verbose,可在终端详细显示安装信息,看到pod目前正在做什么(其实是在安装第三方库的索引),确认是否是真的卡住。 2.进入终端家目录,输入ls -a可看到隐藏的pod文件夹,输入cd .cocoapods进入pod文件夹,然后输入du -sh即可看到r
2016-09-22 18:15:43 3597
转载 Reveal使用教程
Reveal使用教程我们今天的主要内容Reveal是用于透视程序整体结构的一个软件,软件收费89美刀,试用期30天,不过好在有破解版,无需担心花钱的问题在然后呢,软件在哪下,可以在我的github上下载到破解版本的,https://github.com/149393437/Reveal直接运行即可那么我们先来看下Reveal提供的示例吧,打开Reveal
2016-09-09 09:19:02 528
转载 iOS,如何模仿一个App
前言作为一个IOS程序员,闲的时候也想自己做一个app练练手,又苦于没有UI设计,也没有好的idea,所以只能先模仿别人的App了,但是也会遇到以下问题①不知道怎么入手?怎么设计②app中的素材、图标要自己找吗、没有UI妹子给你切图怎么办,③没有数据怎么办?假数据也不会做怎么办④编写程序中该注意些什么以下就从上面的三点开始介绍Tips:一下均为我个人的见
2016-08-19 16:23:22 959
转载 iOS开发之SDCycleScrollView,好用的第三方无限轮播图
#import "ViewController.h"#import "SDCycleScrollView.h"@interface ViewController () SDCycleScrollViewDelegate>@end@implementation ViewController- (void)view
2016-08-19 16:02:58 962
转载 推送通知
一、推送通知推送通知就是向用户推送一条信息来通知用户某件事件,可以在应用退到后台后,或者关闭后,能够通过推送一条消息通知用户某件事情,比如版本更新等等。推送通知的常用应用场景:一些任务管理APP,会到任务时间即将到达时,通知你该做任务了。健身APP定时提醒你应该健身了。买过电影票,提前半个小时通知你,电影即将开场。当你QQ或微信收到信息时,即使退到后台,也可以收到信息通知你。电
2016-08-18 16:53:19 1646
原创 iOS通过宏定义设置NSLog打印出类名、方法名和NSLog所在行数以及PCH的作用
NSLog函数真机不打印在实际项目中NSLog函数打印信息是必不可少的事情,可以友好的帮助我们调试程序,然而在模拟器上占用的是电脑的内存,但在真机上线时如果不把NSLog函数屏蔽掉,势必会造成内存的占用,性能的减弱,这对做一款优秀的App的出发点是十分违背的,所以在真机中借助PCH设置全局变量不打印NSLog函数是实战项目中必不可少的要求。#if DEBUG
2016-08-18 15:10:14 3672
转载 Xcode7 添加PCH文件
简 注册 登录 添加关注作者 默默desire 2015.11.06 16:58*写了5978字,被58人关注,获得了43个喜欢Xcode7 添加PCH文件1.) 打开你的Xcode工程. 在Supporting Files目录下,选择 File > New > File > iOS
2016-08-18 14:44:37 308
转载 uibutton 取消点击效果 btton.adjustsImageWhenHighlighted = NO;
btton.adjustsImageWhenHighlighted = NO;
2016-08-17 16:39:36 1125
转载 IOS去除文件后缀名
ios 去文件后缀名 第一种: NSArray * rslt = [fileName componentsSeparatedByString:@”.”]; 04 if ([rslt count]!=2) { 05 return; 06 } 07 NSString * fileTitle = [rslt objectAtIndex:0]; 08 NSS
2016-08-05 09:39:19 3598
原创 iOS如何去除小数点后无效的0
-(void)test{ NSString * testNumber = @"3.001400"; NSString * s = nil; long offset = testNumber.length - 1; while (offset) { s = [testNumber substringW
2016-06-02 15:00:00 1630 1
原创 iOS中如何让多个空格替换成一个空格
//正则表达式替换两个以上的空格为一个空格 NSError *error = nil; NSRegularExpression *regex = [NSRegularExpression regularExpressionWithPattern:@"\\s{2,}" options:NSRegularExpressionCaseInsensitive error:&error];
2016-06-01 14:41:27 3703
转载 让Xcode的控制台支持LLDB类型的打印
这有什么用?怎么说尼,笔者认为这个还是比较有用滴,为什么有用尼?因为在Xcode断点调试的时候, 在控制台输入 po self.view.frame 或者 po id 类型的时候就死翘翘了。不信? 看如下图 :进入正题打开终端输入三条命令:1. touch ~/.lldbinit2. echo display @import UIKit >> ~/.lldbin
2016-05-27 16:47:26 388
转载 【iOS】MD5加密与网络数据安全
在做网络应用程序的时候, 时时刻刻要保证用户数据的安全, 因此要加密。MD5算法在国内用的很多. MD5算法的特点:*同样的数据加密结果是一样的.(32个字符)*不可逆的.(不能逆向解密)*可用于文件校验/指纹识别.MD5算法是公开的,iOS中已经包装好了MD5算法。可以将其写成字符串的分类:[objc] view pla
2016-05-26 11:12:12 409
转载 iOS/Android/Web Url Encode空格处理
Android端Encode问题在安卓端,他们直接调用URLEncoder.encode(text, encodeType)这样的函数来进行encode,可是他们这个函数对空格进行encode后,得到的是+号,而不是%20。我们看到在浏览器里空格是转换成%20的。另外,安卓这个API并不是对所有的特殊字符都进行转码,这样就有问题了…生成sign签名时,如果都encode了,那么结果就会不一
2016-05-26 08:40:54 3862
转载 史上最用心的iOS App上架流程
题记看网上那么多的教程,依然在我心爱的爱屁屁在上架的时候遇到各种 J8 问题,最大的问题就是:Xcode 证书什么的,Provisioning Profile 什么的,Debug 什么的,Production 和Distribution 什么乱 78 糟的都把我搞糊涂了,网上很多教程都是好旧的(虽然思路一样,但是不够详细),所以我打算把我今年已经上架的干货儿(下载地址,介绍地址)的上架艰辛历程
2016-05-24 17:32:14 493
转载 Xcode 工程文件打不开, cannot be opened because the project&n
当使用svn提交代码发生冲突时候,xcode工程文件会出现打不开的情况,出现这样的提示:XXX.xcode xcodeproj cannot be opened because the project file cannot be parsed。 因为.xcodeproj工程文件冲突了,然后还是会强制更新,内部文件出现了冲突,所以解析不了文件。解决方法如下: 1.
2016-05-20 11:36:37 1090
转载 CocoaPods pod install/pod update更新慢的问题
最近使用CocoaPods来添加第三方类库,无论是执行pod install还是pod update都卡在了Analyzing dependencies不动原因在于当执行以上两个命令的时候会升级CocoaPods的spec仓库,加一个参数可以省略这一步,然后速度就会提升不少。加参数的命令如下:pod install --verbose --no-repo-updatepod
2016-05-17 18:21:02 406
转载 iOS的NSString常用方法总结
1.常用功能使用1)初始化 NSString *astring = @"This is a String!"; //固定字符串NSString *str = [NSString stringWithFormat:@"asd%d%@",123,@"ttt"]; //拼组字符串2)截取 NSString *st
2016-05-16 18:00:19 520
转载 筛选数组里面的元素
//需要去掉的元素数组 NSMutableArray *filteredArray = [[NSMutableArray alloc]initWithObjects:@"1",@"4", nil]; //需要被筛选的数组 NSMutableArray *dataArray = [[NSMutableArray alloc]initWithObjects:@"1",@"2",@"1
2016-05-05 11:31:35 515
转载 IOS NSPredicate 查询、搜索(详解)
简述:Cocoa框架中的NSPredicate用于查询,原理和用法都类似于SQL中的where,作用相当于数据库的过滤取。最常用到的函数+ (NSPredicate *)predicateWithFormat:(NSString *)predicateFormat, ...;1.比较运算符 > 、= 、例:@"number >= 99" 2.范围运算符:IN 、BE
2016-05-05 09:19:50 563
原创 将手机号中间四位隐藏
由于维护用户个人隐私,我们会在用户登陆后,将用户名为电话号码的进行局部隐藏,解决思路,判断昵称是否符合电话号码的正则表达式,符合就替换局部字符。 NSString *phoneStr = @"13255670078"; NSString *regex = @"^((13[0-9])|(147)|(15[^4,\\D])|(18[0,5-9]))\\d{8}$"; NSPr
2016-04-08 16:28:14 3992
原创 UIWebView页面加载不出来的解决方案
今天在调试一个加载UIWebView页面的问题,发现无法加载,浏览器里能正常打开,错误信息为Domain=WebKitErrorDomain Code=101 “The operation couldn’t be completed. (WebKitErrorDomain error 101.)”原因在于进行url encode的NSString中含有未转义字符。
2016-04-07 09:52:46 4712
原创 iOS开发之隐藏键盘
由于项目需求,做蓝牙遥控器用了一个偏方法,但是偏方法的代价就是用其他的方法来弥补缺陷,遇到的问题是,让textView处于响应状态,同时系统键盘得隐藏掉,网上查了好多方法,没有达到理想中的要求,经过了一段时间的修改,突然看到了一个textView的inputView属性,可以通过它,来实现隐藏系统键盘,也可以通过它自定义键盘的哦。
2016-03-28 11:07:37 576 2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人