自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(79)
  • 收藏
  • 关注

原创 iOS代码组件化(利用CocoaPods创建私有库)

前言,最近因为工作需求,研究了一下代码组件化,中间遇到了很多问题,下面就把结合网上的一些文章和自己的实际操作,梳理一下操作流程,希望能帮到有需要的朋友,中间有需要改正的地方请指正。一、远程索引库什么是远程索引库?每创建一个组件都会带有一个 xxx.podspec 的索引文件。专门用来存放这些索引文件的库就叫做索引库。我们需要将这些索引文件上传到远程索引库才能保证其他的同事能...

2018-05-06 00:12:59 4694

原创 本地代码上传同步到github

本地代码上传同步到github一 、注册github账号在GitHub官网上注册并登陆自己的账号,进入如下页面 接着回来到这个页面 然后会收到一封github发的邮件,进入邮箱验证,初步完成.我们都知道 github上不是随便都能传代码上去的,而是通过一种网络协议——SSH来授权的,那么什么是SSH,这里简单说一下,SSH是一种网络协议,用于计算机之间的加密登录。目前是...

2018-04-27 16:39:06 1275 1

原创 定时器延迟加载

在软件开发过程中,我们常常需要在某个时间后执行某个方法,或者是按照某个周期一直执行某个方法。在这个时候,我们就需要用到定时器。然而,在iOS中有很多方法完成以上的任务,到底有多少种方法呢?经过查阅资料,大概有三种方法:NSTimer、CADisplayLink、GCD。接下来我就一一介绍它们的用法。一、NSTimer1. 创建方法NSTimer *timer = [NSTime

2017-06-10 11:19:19 883

原创 iOS多语言适配

1. 基本设置(1)Localizable.strings的Strings File文件第一步: 创建一个名字为Localizable.strings的Strings File文件(名字不可以错).在各个语言文件里面编写自定义的键值对,然后使用系统函数NSLocalizedString(@"自定义的key", "描述可为nil")通过key拿到对应的value值;

2017-06-09 10:27:45 1997

转载 iOS完整的证书申请和打包过程

今天刚好客户定制的APP需要上架,也提供了新的开发者账号,所以就顺带把申请证书与发布流程写一遍。证书是什么?      上面这个就是我们申请好证书后,下载到本地的.cer文件,也就是常说的开发证书与发布证书的样式。这.cer文件格式的证书是让开发者使用的设备(也就是你的Mac)有真机调试,发布APP的权限。上面这个就是我们配置好证书后,下载到本地的.mobilepr

2017-05-22 11:45:02 9528 1

原创 iOS中全局悬浮按钮,类似IPhone中的AssistiveTouch (可以替换为视频悬浮窗口)

前提:当时看到别人写过这个类似AssistiveTouch的demo,但是有问题,第一改变不了位置、第二切换页面后无法使用、第三运行时偶尔会崩溃。然后自己就去度娘、论坛中都查了一些资料,然后结合起来写了这么一个demo。思路:实现全局 需要在 AppDelegate.m 文件中 didFinishLaunchingWithOptions 方法里面实现 1、新建一个 继承于 UIWind

2017-04-27 12:18:50 4340

原创 微信第三方登录集成

一、接入微信第三方登录准备工作。移动应用微信登录是基于OAuth2.0协议标准构建的微信OAuth2.0授权登录系统。在进行微信OAuth2.0授权登录接入之前,在微信开放平台注册开发者帐号,并拥有一个已审核通过的移动应用,并获得相应的AppID和AppSecret,申请微信登录且通过审核后,可开始接入流程。(注意)1、下载iOS微信SDK。下载地址2、

2017-03-14 16:56:52 1991

转载 iOS开发之AFNetworking 3.0使用总结

昨天使用Cocoapods导入AFN做POST的时候,导入的最新版的3.0.4,突然发现找不到AFHTTPRequestOperationManager了。。。上github上一看,发现没有这个了。刚开始以为是cocoapods没有给我导进去,因为是小demo,就想自己写一个网络请求的,发现也没有这NSURLConnection了,被弃用了,突然意识到,这个就是AFHTTPRequestOpera

2017-01-11 17:01:20 1079

转载 AFNetworking 3.0迁移指南

AFNetworking 3.0AFNetworking是一款在OS X和iOS下都令人喜爱的网络库。为了迎合iOS新版本的升级, AFNetworking在3.0版本中删除了基于NSURLConnection API的所有支持。如果你的项目以前使用过这些API,建议您立即升级到基于 NSURLSession 的API的AFNetworking的版本。本指南将引导您完成这个过程。

2017-01-11 16:58:49 262

原创 Cornerstore的创建分支与合并主干

(一) 创建分支。从代码库主干(Trunk)创建一个分支,放到branches中。 步骤:选择主干中文件(JJSMOA)右击选择Branch输入分支名称(JJSMOA_V3.0.1)并选择需要存放的位置,默认的是错误的位置,需要重新选择(此处选择^/JJSMOA/branches)点击创建分支即可。 创建完成后,在branch文件夹下面就可以看到刚刚添加的分支文

2016-12-30 16:37:46 1286

转载 Cornerstore的使用介绍

对于我们程序员来说,不管你是大神,还是小鱼小虾,进入公司之后,都用过源码管理工具,不然你就不是一个合格的程序员,现在各个公司用于源码管理工具通常有下面两种:第一种,git:使用git的公司应该是最多的。第二种,svn:目前我们公司使用的就是svn。当然,他们两者的区别,在这里就不做解释了,一般选择用什么源码管理工具,一般会是整个项目的负责人来选择。在iOS开发中,最好用的svn的M

2016-12-30 16:34:49 5968

原创 iOS 迁移到HTTPS(自建证书+单向验证+AF3.0+WKWebView+SDWebImage)

写在前面的提醒  ① 还没到2017,苹果还没确切的说明对HTTPS的要求,所以目前还不确定自建证书到底可不可以通过审核。  ② 网上很多人说自建证书必须禁掉ATS才能正常访问(App Transport Security Settings -> Allow Arbitrary Loads -> YES),但是在我的项目中没有禁掉ATS自建证书是可以正常使用的,欢迎大家讨论原因。

2016-12-16 17:31:30 3924 1

原创 iOS中http转https,及https请求抓包

iOS9推出的时候,苹果希望大家使用https协议,来提高数据传输之间的安全性。下面我就从最简单的代码介绍,如何在工程中设置,来支持https的请求。一、证书准备篇1.证书转换在服务器人员,给你发送的crt证书后,进到证书路径,执行下面语句// openssl x509 -in 你的证书.crt -out 你的证书.cer -outform der这样你就可以得到c

2016-11-28 10:44:49 3345

转载 使用 Charles 获取 https 的数据

我使用的 Charles 版本是 3.11.2,获取下载地址可自行百度,我下面要说的是使用 Charles 获取 https 的数据。1. 配置 Charles 根证书首先打开 Charles:然后如下图操作: 之后会弹出钥匙串,如果不弹出,请自行打开钥匙串,如下图:系统默认是不信任 Charles 的证书的,此时对证书右键,在弹出的下拉菜单中选择『显示简介』,

2016-11-17 09:57:08 374

原创 SDWebImage 加载网络图片不能显示

iOS9让所有的HTTP默认使用了HTTPS,原来的HTTP协议传输都改成TLS1.2协议进行传输。直接造成的情况就是App发请求的时候弹出网络无法连接。解决办法就是在项目的info.plist 文件里加上如下节点:在info.plist文件中加入此节点就可以加载出网络图片了。

2016-11-15 16:32:23 3169

原创 WKWebView替换WebView体会总结

一.引言最近应公司要求,把项目里用到的UIWebView全都用WKWebView替换掉。于是就去研究了WKWebview,加上在使用中遇到的一些问题加以总结,如有不足之处,还望指出,本人将会加以修改。UIWebView自iOS2就有,WKWebView从iOS8才有,毫无疑问WKWebView将逐步取代笨重的UIWebView。通过简单的测试即可发现UIWebView占用过多内存,且内

2016-11-04 11:35:12 5500

转载 CADisplayLink

什么是CADisplayLinkCADisplayLink是一个能让我们以和屏幕刷新率相同的频率将内容画到屏幕上的定时器。我们在应用中创建一个新的 CADisplayLink 对象,把它添加到一个runloop中,并给它提供一个target 和selector 在屏幕刷新的时候调用。一但 CADisplayLink 以特定的模式注册到runloop之后,每当屏幕需要刷新的时候,runl

2016-10-27 11:58:41 313

原创 UITextField 密码明文及密文切换问题

1. 使用UITextField设置明文及密文之间切换后,光标的位置可能会出现偏移出错(因为密文方式占位符更宽一点)。这个应该是UITextField这个控件本身的问题,但这个问题在iOS10系统就没有了,好像苹果已经做了更改,下面的解决办法是针对除了iOS10系统适配的调整。在明文/密文切换的事件里面,加多几句话://显示和隐藏登录视图的密码。-(void)sho

2016-10-18 17:26:52 8971

原创 None of the valid provisioning profiles allowed the specified entitlements(有关不同版本xcode之间切换编译代码问题)

今天在打包提交App Store的时候遇到了这样的问题刚开始以为证书问题,该改的都改了都没解决,查了一天的资料,最后是因为自己在同一台电脑,用xcode8和xcode7编译了同一份代码,用xcode8编译以后就会多一些配置文件,而我遇到的这个问题是因为多了下图所示的东西:原来Xcode7中是Code Signing Entitlements后面的参数是空的,所以我在删除了这

2016-10-13 18:37:53 1795

转载 苹果iOS系统下检查第三方APP是否安装及跳转启动

在iOS系统,使用Url Scheme框架在APP间互相跳转和传递数据,本文只介绍如果检测和跳转。Url Scheme框架   如果你想知道ios设备中是否安装QQ这个软件,我们可以通过一个简单方法判断到if ([[UIApplication sharedApplication] canOpenURL:[NSURL URLWithString:@"mqq://"]]){  

2016-10-11 15:52:43 3449

原创 判断是否安装APP(如新浪,微信,QQ)

一、判断是否安装了微信客户端1、在.m文件中到入头文件:#import "WXApi.h"2、调用是否安装了微信的方法isWXAppInstalled:    if ([WXApi isWXAppInstalled]) {         NSLog(@"安装了微信");    }二、判断是否安装了QQ客户端1、在.m文件中到入头文件:#im

2016-10-11 15:47:18 6594

转载 兼容iOS 10

1.Notification(通知)自从Notification被引入之后,苹果就不断的更新优化,但这些更新优化只是小打小闹,直至现在iOS 10开始真正的进行大改重构,这让开发者也体会到UserNotifications的易用,功能也变得非常强大。iOS 9 以前的通知1.在调用方法时,有些方法让人很难区分,容易写错方法,这让开发者有时候很苦恼。2.应用在运行时和非运行时捕获通知

2016-09-18 14:32:39 417

转载 iOS开发 适配iOS10以及Xcode8

现在在苹果的官网上,我们已经可以下载到Xcode8的GM版本了,加上9.14日凌晨,苹果就要正式推出iOS10系统的推送了,在此之际,iOS10的适配已经迫在眉睫啦,不知道Xcode8 beat版本,童鞋们有木有下载过来试试呢?就我的使用来说,总体觉得苹果还是坑不断,但是也在一直进步的啦。下面我就来说说,iOS10的适配以及Xcode8使用上的一些注意点。一、证书管理用Xcode8

2016-09-18 14:29:11 687 2

原创 stringByAddingPercentEncodingWithAllowedCharacters和CFURLCreateStringByAddingPercentEscapes的使用

在iOS 程序访问 HTTP 资源时需要对 URL 进行 Encode,比如像拼出来的 http://unmi.cc?p1=%+&sdf&p2=中文,其中的中文、特殊符号&%和空格都必须进行转译才能正确访问。在Objective-C 语言中,你可以试下1、stringByAddingPercentEncodingWithAllowedCharacters的使用

2016-08-25 22:45:26 12013

原创 监听键盘位置,使输入框跟随键盘移动

第一步,注册Keyboard通知(在ViewDidLoad中或者viewWillAppear中注册)[[NSNotificationCenterdefaultCenter]addObserver:selfselector:@selector(keyboardWillShow:)name:UIKeyboardWillShowNotificationobject:nil

2016-08-18 21:24:37 684

原创 实现UITextField值变化的实时监视

原来认为这个是很简单的基本问题,上网搜索以后发现基本的处理方法大概有四种1、KVO方式[textField addObserver:self forKeyPath:@"text" options:0 context:nil];2、直接添加监视[textField addTarget:self  action:@selector(valueChanged:)  forControlE

2016-08-18 14:26:46 3559

原创 iOS中的UIlabel在html中显示文字(特殊字符显示为&hellip,&yen等样式)

NSString * htmlString = @" html的文字 \n这里填写内容";NSAttributedString * attrStr = [[NSAttributedString alloc] initWithData:[htmlString dataUsingEncoding:NSUnicodeStringEncoding] options:@{ NSDocumentTypeD

2016-08-14 20:34:29 2572 1

原创 当cell中有UItextfiled时,弹出键盘把tableview往上顶

- (void)registerForKeyboardNotifications {    [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardWasShown:) name:UIKeyboardDidShowNotification object:nil];    [[NSNo

2016-08-12 16:30:54 1053

转载 升级cocoapods的Ruby镜像版本

因为准备在项目中使用bootstrap,在安装bootstrap过程中提示需要Ruby的版本在1.9.2以上,而目前使用的Ruby版本是Mac系统自带的1.8.7。所以需要对Ruby进行升级。这里使用RVM对Ruby进行升级,升级过程如下:1、安装 RVMRVM:Ruby Version Manager,Ruby版本管理器,包括Ruby的版本管理和Gem库管理(gemset)$

2016-08-10 01:06:19 281

原创 Swift3.0学习

swift3.0的初步认识

2016-08-02 01:12:31 530

原创 给手势UITapGestureRecognizer绑定tag

今天用到给手势绑定tag,在网上搜了一些,但大多数都是下面这一种:UITapGestureRecognizer *singleTap =        [[UITapGestureRecognizer alloc]initWithTarget:self action:@selector(whenClickImage:)];        [_firstImage

2016-07-29 18:16:43 1146

原创 NSString 字符串处理:截取字符串、匹配字符串、分隔字符串

1.截取字符串NSString*string =@"sdfsfsfsAdfsdf";string = [string substringToIndex:7];//截取掉下标7之后的字符串NSLog(@"截取的值为:%@",string);[string substringFromIndex:2];//截取掉下标2之前的字符串NSLog(@"截取的值为:%@",string)

2016-07-29 14:16:44 346

转载 [Objective-C]关联(objc_setAssociatedObject、objc_getAssociatedObject、objc_removeAssociatedObjects)

关联    关联是指把两个对象相互关联起来,使得其中的一个对象作为另外一个对象的一部分。    关联特性只有在Mac OS X V10.6以及以后的版本上才是可用的。在类的定义之外为类增加额外的存储空间    使用关联,我们可以不用修改类的定义而为其对象增加存储空间。这在我们无法访问到类的源码的时候或者是考虑到二进制兼容性的时候是非常有用。    关联是基于关键字的,因此,我们

2016-07-28 10:17:56 233

原创 userInteractionEnabled交互性

当前视图设为view=bigimgView.userInteractionEnabled=NO时,当前视图不可交互,该视图上面的子视图也不可交互(不可响应),响应事件传递到下面的父视图。当前视图设为view=bigimgView.userInteractionEnabled=YES时,当前视图可交互,该视图上面的子视图可以交互(可以响应),下面的父视图不会接收到响应。uiimagevi

2016-07-15 20:27:07 657

原创 iOS中try-catch-finally捕获异常使用

这也是自己在用到的时候搜集别人的资料总结的,希望能帮到大家!可能在iOS中不太经常用到,但是了解一下还是没坏处@try{代码块1(可能出现异常的语句)//执行的代码,其中可能有异常。一旦发现异常,则立即跳到catch执行。否则不会执行catch里面的内容 } @catch(Exception e){代码块2(发生异常时进行处理)//除非try里面执行代码发生了异常,否则这

2016-06-28 16:48:42 1612

原创 正则表达式的认识

一、什么是正则表达式  正则表达式,又称正规表示法,是对字符串操作的一种逻辑公式。正则表达式可以检测给定的字符串是否符合我们定义的逻辑,也可以从字符串中获取我们想要的特定部分。它可以迅速地用极简单的方式达到字符串的复杂控制。 二、正则表达式的语法  看一个过滤纯数字的例子- (BOOL)validateNumber:(NSString *) textString{ NSS

2016-06-27 18:28:41 805

原创 UITextField属性

//创建UITextField对象UITextField * tf=[[UITextFieldalloc]init];//设置UITextField的文字颜色tf.textColor=[UIColor redColor];//设置UITextField的文本框背景颜色tf.backgroundColor=[UIColor grayColor];/

2016-06-24 20:13:58 309

原创 NSMakeRange,substringWithRange,substringToIndex,substringFromIndex区别和联系

typedef NSRange *NSRangePointer;NS_INLINE NSRange NSMakeRange(NSUInteger loc, NSUInteger len){    NSRanger;    r.location =loc;    r.length =len;    returnr;}1. NSMakeRange是一个结构体类型,包含两

2016-06-23 11:53:06 538

原创 error: linker command failed with exit code 1 (use -v to see invocation)报错总结

iOS开发这个错误一定少不了,现总结如下,一般这四方面的问题,如果不是哪你真可麻烦了1.引用出错,把***.h弄成了.m,检查一下你的所有引用;2.引用第三方的库,你添加文件是系统没有所第三方库的.m文件参入的编译中去,你向项目添加文件得注意了;3.出现这种情况很可能是,项目中引入了多个相同的文件/重复类。4.有些frameworks没有添加进来也会出现上面的问题;

2016-06-23 11:50:20 3668

原创 认识UITextField

UITextField 是一个用来处理文本输入和现实的控件,在我们的开发当中也是经常被用到。下面我们一起来学习UITextField吧!!!基本属性对象创建以及文本的显示 UITextField *textField = [[UITextField alloc]initWithFrame:CGRectMake(50, 300, 200, 50)]; [self.v

2016-06-19 20:43:00 242

空空如也

空空如也

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

TA关注的人

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