自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 一步一步教你自动化构建(Jenkins+SVN+fir+CocoaPods)

本文主要记录利用Jenkins持续集成时的详细步骤,以及过程中遇到的一些坑,供大家参考。在持续集成前,我们测试大大或者相关人员需要测试时,大多是通过以下方法测试: - 第一种:测试大大拿着手机过来,开发大大帮忙一个一个手动安装 - 第二种:开发大大将生成的ipa安装包,上传至某个托管平台,给出二维码 日积月累,这种方法无疑会浪费很多时间,所以就需要持续集成来解救了(嘿嘿)持续集成详细步骤:一

2017-04-10 15:42:25 1674

原创 iOS UIWebView与Javascript连调

在开发过程中经常需要UIWebView与JS交互,如点击网页中某个按钮需要跳转到原生的某个页面。但是小妹我碰到几次捕获不到JS给出的方法名称,提供方法名称的同事又不知道出了啥问题。。。好啦,不啰嗦了,言归正传,下面就讲讲小妹我是如何Debug的。1、开启开发者模式步骤:模拟器或者真机的设置->Safari->高级(Advanced)->Web检查器(Web Inspector) 2、开启

2017-02-23 15:33:16 679

原创 cornerstone创建分支与合并代码方法整理

引言:前段时间一直负责的云办公现有若干个新需求,需要发2个版本,一部分需求需要放在V3.0.1,另一部分需要放在V3.0.2中。这时需要在分支中并行开发。以下分别讲述版本控制工具Cornerstone创建branch、tag、合并代码的基本使用步骤,方便后续使用时查阅。(一) 创建分支。从云办公主干(Trunk)创建一个分支,放到branches中。 步骤:选择主干中文件(JJSMOA)右击

2016-08-04 17:41:18 24255 7

原创 多人共用一个苹果开发者证书

当多人开发时,如果已经申请了几个开发者证书和发布者证书,苹果就不允许再创建了,页面添加的地方被灰化了,所以不可能每个人都建一个开发证书,这时候需要共用一个证书了。(其实一般在我们的证书界面中应该只有一个开发证书,一个发布证书,没必要生成那么多的证书,证书一般在过期之后才会重新添加。) 如下 有没有什么办法可以解决?当然有咯~方法一:revoke(我们不推荐这种恶性循环的方法,每天来回被人re

2016-08-04 17:08:21 7712

原创 手把手教你使用CocoaPods打包静态库

今天我们就来谈一谈如何使用CocoaPods打包静态库。一般情况下我们使用CocoaPods来管理第三方开源类库,但是我们也有可能存在这样的需求:开发一个用CocoaPods来管理依赖关系的静态库给其他人使用,但是又不想公开源代码,比如:SDK,那么我们就需要把他打成静态库。这篇文章以一个依赖AFNetworking 3.0的静态库来讲述如何创建使用了CocoaPods的静态库以及打包的过程。

2016-08-03 17:46:00 4782

转载 Socket相关收集

socket(套接字)是通信的基石,是支持TCP/IP协议的网络通信的基本操作单元,包含进行网络通信必须的五种信息:连接使用的协议,本地主机的IP地址,本地进程的协议端口,远地主机的IP地址,远地进程的协议端口。多个TCP连接或多个应用程序进程可能需要通过同一个TCP协议端口传输数据。为了区别不同的应用程序进程和连接,计算机操作系统为应用程序与TCP/IP协议交互提供了套接字(Socket)接口。

2016-08-03 16:02:50 448

原创 Cornerstone SVN: The working copy is locked due to a previous error

使用CornerStone工具updat更新到最新代码后,仍然显示未更新,而且继续更新,SVN代码报错:The working copy is locked due to a previous error.不仅无法上传,也无法更新,错误提示被锁。解决方法1:在CornerStone找到本地代码工程 - 右键 - 点击clean  即可。解决方法2:使用终端命令,

2016-07-26 10:58:03 9341

原创 小括号内联复合表达式

小括号内联复合表达式: ({...})类似@[] == [nsarray arraywith….]这种,你可以看成编译器帮你简化方便写代码的一种方式。A compound statement enclosed in parentheses来自《gcc官方对此的说明》,源自gcc对c的扩展,如今被clang继承。源代码定义:RETURN_VALUE_RECEIVER =

2016-05-23 14:44:03 647

原创 整理常用iOS的第三方框架

图像:1.图片浏览控件MWPhotoBrowser       实现了一个照片浏览器类似 iOS 自带的相册应用,可显示来自手机的图片或者是网络图片,可自动从网络下载图片并进行缓存。可对图片进行缩放等操作。      下载:https://github.com/mwaterfall/MWPhotoBrowser目前比较活跃的社区仍旧是Github,除此以外也有一些不错的库散落在

2016-03-30 14:09:55 1690

原创 IOS 处理多张图片内存问题

在实际项目中,用户在上传图片时,有时会一次性上传大量的图片。在上传图片前,我们要进行一系列操作,比如:旋转图片为正确方向,压缩图片等,这些操作需要将图片加载到内存中,这时候会遇到的一个问题是内存剧增,导致内存不够用,从而出现闪退的问题,下面对内存的使用做详细分析.一、内存分析,非优化我在测试项目中,重复加载了一张图片1000次,首先加载图片到内存,然后进行压缩操作,释放内存

2016-03-29 19:02:18 3785

原创 iOS 利用runtime关联对象

有次在大牛群看到一个问题:“如何给一个字典添加一个属性(不能继承)”,立马蒙逼了,不能用继承,难道用分类?但是分类貌似只能添加方法不能添加属性啊,百思不得其解,直到后来接触到了runtime才恍然大悟。什么是关联对象关联对象是指某个OC对象通过一个唯一的key连接到一个类的实例上。举个例子:Duan是Person类的一个实例,他的狗dog(一个OC对象)通过一根

2016-03-14 14:30:01 726

原创 iOS 开发小技巧

在实际开发过程中经常需要的一些简单技巧1.TableView不显示没内容的Cell:self.tableView.tableFooterView = [[UIView alloc] init];2.拉伸图片的时候怎么才能让图片不变形? 方法一: UIImage *image = [[UIImageimageNamed:@"+"]stretchableIm

2016-03-10 15:36:47 377

原创 iOS iOS中UITextField和UITextView屏蔽表情符号的输入

起因:云端服务器代码不支持表情符号的输入,所以APP端需要屏蔽掉所有的UITextField和UITextView屏蔽表情符号输入要判断是否含有Emoji表情,必须先了解什么是Emoji。Emoji 是一套起源于日本的12x12像素表情符号,由栗田穣崇(Shigetaka Kurit)创作,最早在日本网络及手机用户中流行,自苹果公司发布的iOS 5输入法中加入了emoj

2016-03-09 10:36:15 3579

原创 iOS 内存管理(一):基本概念与原理

在Objective-C的内存管理中,其实就是引用计数(reference count)的管理。内存管理就是在程序需要时程序员分配一段内存空间,而当使用完之后将它释放。如果程序员对内存资源使用不当,有时不仅会造成内存资源浪费,甚至会导致程序crach。我们将会从引用计数和内存管理规则等基本概念开始,然后讲述有哪些内存管理方法,最后注意有哪些常见内存问题。memory managem

2016-03-03 14:08:09 492

转载 IOS 分享你最喜欢的技巧和提示

Objective-C1.让Xcode的控制台支持LLDB类型的打印这有什么用?怎么说尼,笔者认为这个还是比较有用滴,为什么有用尼?因为在Xcode断点调试的时候, 在控制台输入 po self.view.frame 或者 po id 类型的时候就死翘翘了。不信? 看如下图 :进入正题打开终端输入三条命令:1. touch ~/.

2016-01-04 18:34:10 486

转载 第三方库大全

自己总结的iOS、mac开源项目及库,持续更新。。。。 github排名 https://github.com/trending,github搜索:https://github.com/search目录UI下拉刷新模糊效果AutoLayout富文本图表表相关与Tabbar隐藏与显示HUD与Toast对话框其他UI动画侧滑与右滑返回手势gif动画其他动画网络相

2016-01-04 18:19:13 3638

原创 整理下iOS常用的三方库,以备查阅。2015年11月21日更新

UI相关:上拉下拉刷新控件:链接:MJRefresh动态启动图:链接:YFStartViewMBProgressHUD:链接:MBProgressHUD一个效果很好的弹出下拉框:链接:REMenu一个可滑动选择的tab:链接:HTHorizontalSelectionList吊炸天的多种效果滚动图:链接:iCarousel高仿支付宝解锁:

2016-01-04 18:14:44 936

原创 IOS7 8中tableview分割线全屏

IOS8 设置TableView Separatorinset 分割线从边框顶端开始在ios8上 [TableView setSeparatorInset:UIEdgeInsetsMake(0,0,0,0)];不起作用经过测试加入下面方法 在ios7 8上都可以正常工作[objc] view plaincopyprint?-(void

2016-01-04 13:42:46 560

转载 RTImageAssets 自动生成 AppIcon 和 @2x @1x 比例图片

下载地址:https://github.com/rickytan/RTImageAssets此插件用来生成 @3x 的图片资源对应的 @2x 和 @1x 版本,只要拖拽高清图到 @3x 的位置上,然后按 Ctrl+Shift+A 即可自动生成两张低清的补全空位。当然你也可以从 @2x 的图生成 @3x 版本,如果你对图片质量要求不高的话。特性只会填补空位,如果你已经

2015-12-15 17:34:04 698

转载 Masonry介绍与使用:快速上手Autolayout

前言1MagicNumber -> autoresizingMask -> autolayout以上是纯手写代码所经历的关于页面布局的三个时期在iphone1-iphone3gs时代 window的size固定为(320,480) 我们只需要简单计算一下相对位置就好了在iphone4-iphon

2015-12-15 17:25:03 489

转载 自学 iOS 开发的一些经验(一些很好的链接)

不知不觉作为 iOS 开发也有两年多的时间了,记得当初看到 OC 的语法时,愣是被吓了回去,隔了好久才重新耐下心去啃一啃。啃了一阵,觉得大概有了点概念,看到 Cocoa 那么多的 Class,又懵了,怎么才能调用系统的相机?怎么保存信息?怎么做一个像 Twitter 个人页那样的页面?总之就是不知道该从哪切入。现在回想起来,其实路一直都在,而且有很多条,当初如果有人能够指出一条还不错的道,

2015-12-12 11:50:40 379

转载 Associative机制使用场景

1.    概念objective-c有两个扩展机制:category和associative。我们可以通过category来扩展方法,但是它有个很大的局限性,不能扩展属性。于是,就有了专门用来扩展属性的机制:associative。 2.    使用方法在iOS开发过程中,category比较常见,而associative就用的比较少。associative的主要

2015-12-12 11:40:33 309

原创 didFinishLaunchingWithOptions参数launchOptions内容

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions说明:当应用程序启动时执行,应用程序启动入口。只在应用程序启动时执行一次。application参数用来获取应用程序的状态、变量等,值得注意的是字典参数:(NSDictionary

2015-12-08 14:42:44 1265

原创 iOS中UITextField、UITextView的字数限制

在开发中, 经常会遇到这样的需求: 希望输入框有最大字数限制. 比如, 用户昵称长度限制, 评论最大字数限制.(一)UITextField字数限制解决方法:在viewDidLoad中注册通知.[[NSNotificationCenter defaultCenter]addObserver:self selector:@selector(textFiledEditCh

2015-12-07 13:07:08 512

转载 Advanced Graphics and Animations for iOS Apps(session 419)

学习与延伸这篇文章主要是学习完Advanced Graphics and Animations for iOS Apps这个session后的总结和相应细节的延伸和细化。主要内容为图形性能与测试工具这两个章节。目录: Core Animation PipelineUIBlurEffectView图形性能测试工具总结Core Animation Pipelin

2015-12-04 20:22:42 437

转载 一次对MKMapView的性能优化

最近做的项目主要是LBS这块 主打成员定位功能 我们的UI设计是这样的乍一看上去是挺好挺美观的 不同的人会显示不同的头像 可是当人扎堆的时候 问题就来了当人多的时候(例如上图所示) 地图滑动起来就能感觉到明显顿卡 那种不流畅感能折磨死人 所以 自然我们要解决这个问题(等等 先不要吐槽为什么不用地图聚合 因为这已经是地图放到最大了 聚合不适合这次的问题讨论)分析

2015-12-04 20:19:01 478

转载 后台定位上传的代码实践

前言之前的文章说过 我现在做的是LBS定位的社交APP 其中主要的一个功能就是能够实时定位社交圈中各个成员的位置 后台实时上传位置则是非常重要的一个技术点 接下来就来说说我关于这方面的实践经验需求先来看看实现这个功能的具体需求是什么 由于我们是实时定位的生活类社交APP 所以我们需要做到一下几点1. 如果用户的位置在持续变化 则隔一段时间上报一次由于我们

2015-12-04 19:59:30 482

原创 ios blog收集

教程网站http://www.raywenderlich.com/objc.iohttps://www.objc.io/objc.io 中问http://objcio.cn/忘记什么时候收藏的了http://tutsplus.com/设计https://designcode.io/subjective-Chttp://subjc.com/NSHiph

2015-12-03 16:50:38 606

原创 Xcode因为证书问题常见的错误

1、确认下证书是不是开发证书,如果是发布证书就会出现这样的提示。2、证书失效了,去开发者中心重新生成一个。3、包标识符不与描述文件包含的包标识符不一致,按照它的提示换一下就好了,最好不要点 Fix Issue,点完后 Xcode 会自己生成一个包含统配包标识符的描述文件,并且 Remove 已经生成好的描述文件

2015-12-03 11:13:23 976

转载 用CocoaPods做iOS程序的依赖管理

文档更新说明2012-12-02 v1.0 初稿2014-01-08 v1.1 增加设置 ruby 淘宝源相关内容2014-05-25 v2.0 增加国内 spec 镜像、使用私有 pod、podfile.lock、创建 spec 文件等内容2015-09-03 v2.1 优化排版,调整一些描述方式,使文章更易读懂。CocoaPods 简介每种语言发展到一个

2015-12-02 12:09:07 375

原创 iOSCocoaPods Updating local specs repositories

在使用Cocoapods 安装第三方框架的时候,输入命令pod install之后,显示Updating local specs repositories的问题,很久没有反应。原因:命令被墙了解决办法:把pod install 命令换成 pod install --verbose --no-repo-update 就可以。

2015-12-02 11:47:48 568

转载 iOS开发~CocoaPods使用详细说明

一、概要iOS开发时,项目中会引用许多第三方库,CocoaPods(https://github.com/CocoaPods/CocoaPods)可以用来方便的统一管理这些第三方库。二、安装由于网上的教程基本都大同小异,但细节之处还不是很完善,所以借机会在这里补充下:注:要使用CocoaPods,那就要下载安装它,而下载安装CocoaPods需要Ruby

2015-12-02 11:41:39 470

原创 iOS 数据保存4种方式总结

数据保存的方式:1.NSKeyedArchiver:采用归档的形式来保存数据,该数据对象需要遵守NSCoding协议,并且该对象对应的必须提供encodeWithCoder:和initWithCoder:方法。前一个方法告诉系统怎么对对象进行编码,而后一个法则是告诉系统怎么对对象进行解码。例如对Student对象归档保存。  定义Student:  @interface MJStude

2015-11-18 17:16:26 442

转载 iOS容易造成循环引用的三种场景,就在你我身边!

ARC已经出来很久了,自动释放内存的确很方便,但是并非绝对安全绝对不会产生内存泄露。导致iOS对象无法按预期释放的一个无形杀手是——循环引用。循环引用可以简单理解为A引用了B,而B又引用了A,双方都同时保持对方的一个引用,导致任何时候引用计数都不为0,始终无法释放。若当前对象是一个ViewController,则在dismiss或者pop之后其dealloc无法被调用,在频繁的push或者pres

2015-11-16 14:49:51 374

转载 CocoaPods安装和使用教程

Code4App 原创文章。转载请注明出处:http://code4app.com/article/cocoapods-install-usage目录CocoaPods是什么?如何下载和安装CocoaPods?如何使用CocoaPods?场景1:利用CocoaPods,在项目中导入AFNetworking类库场景2:如何正确编译运行一个包含CocoPods类库的项目

2015-11-13 10:08:04 333

转载 用Model-View-ViewModel构建iOS App

如果你已经开发一段时间的iOS应用,你一定听说过Model-View-Controller,即MVC。MVC是构建iOS App的标准模式。然而,最近我已经越来越厌倦MVC的一些缺点。在本文,我将重温一下MVC是什么,详述它的缺点,并且告诉你一个新的方式来架构你的App:Model-View-ViewModel。拿出你的流行语bingo card(宾果卡,一种游戏卡片-译者注),因为我们即将进行一

2015-11-13 10:05:08 378

转载 浅谈iOS中MVVM的架构设计与团队协作

由于本人项目经验有限,关于架构设计方面的东西理解有限,我个人对MVVM的理解主要是借鉴于之前的用过的MVC的Web框架~在学校的时候用过ThinkPHP框架,和SSH框架,都是MVC的架构模式,今天MVVM与传统的MVC可谓是极为相似,也可以说是兄弟关系,也就是一家人了。说到架构设计和团队协作,这个对App的开发还是比较重要的。即使作为一个专业的搬砖者,前提是你这砖搬完放在哪?不只是Cod

2015-11-13 09:34:40 443

转载 GCD 深入理解(二)

欢迎来到GCD深入理解系列教程的第二部分(也是最后一部分)。 在本系列的第一部分中,你已经学到超过你想像的关于并发、线程以及GCD 如何工作的知识。通过在初始化时利用 dispatch_once,你创建了一个线程安全的 PhotoManager 单例,而且你通过使用 dispatch_barrier_async 和 dispatch_sync 的组合使得对 Photos 数组的

2015-11-10 11:25:43 387

转载 iOS开发-归纳总结(下)

索引25._objc_msgForward 函数是做什么的,直接调用它将会发生什么?26. runtime如何实现weak变量的自动置nil?27. 能否向编译后得到的类中增加实例变量?能否向运行时创建的类中添加实例变量?为什么? 28. runloop和线程有什么关系? 29. runloop的mode作用是什么? 30. 以+ scheduledTimerWit

2015-11-09 23:50:49 698

转载 iOS开发-归纳总结(上)

1. 风格纠错题修改方法有很多种,现给出一种做示例:下面对具体修改的地方,分两部分做下介绍:硬伤部分和优化部分 。因为硬伤部分没什么技术含量,为了节省大家时间,放在后面讲,大神请直接看优化部分。优化部分1)enum建议使用 NS_ENUM 和 NS_OPTIONS 宏来定义枚举类型,参见官方的 Adopting Modern Objective-C 一文:

2015-11-09 23:44:30 548

空空如也

空空如也

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

TA关注的人

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