自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Abel的专栏

专注iOS、Android移动开发

  • 博客(31)
  • 资源 (12)
  • 收藏
  • 关注

原创 如何编写高质量iOS代码

一直以来,身边总会有这样的声音——“如何提高自己的代码质量”,我想这个话题可能大家会比较感兴趣,所以在这里分享一下我在iOS开发中对如何提高代码质量的一些心得体会,其他的语言可以以此做一个参照。1. 基础知识及技巧想写出高质量代码,并不是一蹴而就的,它需要有一定的基础以及大量的代码知识积累,这里我重点强调与代码质量密切相关的几点:首先得掌握好开发语言,iOS开发有二种语言—

2016-03-25 10:17:34 2058

原创 自己写一个第三方分享库(一)

自己写一个第三方分享库(一)前言最近想做分享时,总是遇到需要更新最新包的问题,并且还需要导入真机和模拟器二个包,非常麻烦,所以一直在思考如何自己做一个分享库,要想做第三方的分享库,首要问题是需要知道App是如何跳转以及分享数据是如何传递,之前我想到是通过OpenURL中URL后面带参数去实现,后来想想URL长度传递是不可能允许这么多的数据传递,应该是通过App之间相互能访问的存储空间实现APP之间的

2015-07-14 22:42:41 2751

原创 Xcode7 使用NSURLSession发送HTTP请求报错

控制台打印:Application Transport Security has blocked a cleartext HTTP (http://) resource load since it is insecure. Temporary exceptions can be configured via your app's Info.plist file.解决办法:修改inf

2015-06-29 17:51:37 20224

原创 iOS时间相关各种技巧

一、通过自带的日历得到年月日、时间、以及星期NSCalendar *calendar = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];NSDate *now;NSDateComponents *comps = [[NSDateComponents alloc] init];NSInteger unit

2013-12-24 10:11:31 2641

转载 线程安全类的设计

此文章将侧重于编写线程安全类和使用Grand Central Displatch(GCD)时的实用的技巧,设计模式,以及反模式。线程安全Apple的框架首先让我们来看一下Apple的框架。一般情况下,除非提前声明,否则大多数类默认不是线程安全的。一些是我们所期望的,但是另一些却会相当有趣。其中甚至有经验的iOS/Mac开发人员常会犯的错误是在后台线程中访问部分UIK

2013-12-13 13:24:36 984

转载 UIScrollView的属性总结

属性作用CGPoint contentOffSet监控目前滚动的位置CGSize contentSize滚动范围的大小UIEdgeInsets contentInset视图在scrollView中的位置iddelegate设置协议BOOL directionalLockEna

2013-12-12 23:33:12 942

原创 你不知道的UIImageView设置成图形的两种方案

自从iOS7出来之后,越来越多的应用头像设计成圆形了,圆形设计的头像看起来确实挻上流的。现在我给大家带来两种把UIImageView的图片设计成圆形。方案一:从UIImageView的布局着手我相信大家都知道对UIImageView的layer设置方法来把图片设计成圆形。self.avatarImageView = [[ABELImageView alloc] init];self.

2013-12-11 20:14:02 2188

转载 如何远程管理独立游戏开发团队

呆在你舒适的家里远程管理你的独立游戏开发团队?听起来简直像是做梦。但在你习惯穿着“马里奥兄弟”睡衣工作以前,你必须意识到在电脑屏幕前面管理一支团队会遇到许多传统的办公室环境不会遇到的困难。在本文,我将告诉大家这些挑战是什么,并以我个人的项目(游戏邦注:《Hiro Fodder》和《Echoes of Eternea》)管理经验为基础,提供一些关于如何高效地远程管理独立团队的实用建议。本文写

2013-12-11 17:16:32 1476

原创 手把手教你iOS消息推送证书生成以及Push消息

iOS推送消息是许多iOS应用都具备的功能,今天在给应用加推送功能,在生成证书的过程中,发生了各种令人蛋痛的事。下面就把步骤拿出来分享下:iOS消息推送的工作机制可以简单的用下图来概括: Provider是指某个iPhone应用程序的Push服务器,APNS是Apple Push Notification Service的缩写,是苹果的服务器。

2013-12-10 22:03:50 7337

转载 在iOS中创建静态库

如果你作为iOS开发者已经有一段时间,可能会有一套属于自己的类和工具函数,它们在你的大多数项目中被重用。 重用代码的最简单方法是简单的 拷贝/粘贴 源文件。然而,这种方法很快就会成为维护时的噩梦。因为每个app都有自己的一份代码副本,你很难在修复bug或者升级时保证所有副本的同步。 这就是静态库要拯救你的。一个静态库是若干个类,函数,定义和资源的包装,你可以将其打包

2013-12-08 19:44:08 994

原创 XMPP即时通讯mac系统下ejabberd服务器环境搭建

对于XMPP即时通讯协议,我就不在这多说了,如果各位有心思去研究的话,我在这也提供一个网址:http://wiki.jabbercn.org/index.php?title=Ejabberd2:安装和操作指南&diff=prev&oldid=785下面我就来说说ejabberd服务器环境搭建:1、下载macports并安装。mac os 10.8系统macports安装包:macpor

2013-11-19 13:53:28 5205

原创 iOS系统如何实现网络数据抓包

在进行iOS开发过程中,经常会遇到各种各样的网络访问问题,以前苦于没有抓包工具,很多网络问题解决起来很痛苦。现在终于好了,本文提供两种方式进行网络抓包:   1. 网络共享 + 可视化抓包工具 基本原理  原理比较简单,iOS设备通过代理方式共享连接mac电脑的无线网卡,使用抓包工具抓包,然后进行分析(我们推荐使用Wireshark,在MAC系统上也可以使用Paros工具)。 现在以M

2013-11-18 11:10:00 5681

原创 Mac下CocoaPods安装步骤

介绍:开发应用的时候第三方的库是不可缺少的,它能提高开发的效率。一些经常用到的库,在新的项目里用是,你又得手工的Add到项目里,用的到库多起来了,就不方便管理了。CocoaPods这个软件,可以方便的帮你管理Xcode里的第三方的库。安装步骤:1、打开终端在终端输入     sudo gem install -V cocoapods 2、等待下载完成后,

2013-11-13 11:32:51 7729

原创 iOS设计模式之单例模式

单例模式是iOS常用设计模式中的一种,

2013-10-30 19:04:51 3047 2

原创 iPhone网络图片下载之ABELWebImage

ABELWebImage库提供了一个ABELImageView支持加载来自网络的远程图片,ABELImageView是继承于UIImageView的。ABELWebImage具有缓存管理、异步下载、节约图片下载流量、支持gif动态图片下载、支持ARC、MRC环境、使用简单等优点。使用例子: ABELImageView * imageView = [[ABELImageVi

2013-10-25 12:27:42 1493 3

转载 直接拿来用!最火的Android开源项目(二)

摘要:GitHub上的开源项目不胜枚举,通过这些项目,也能让开发者在应用开发过程中事半功倍,作为开发者的你,在用这些开源项目吗?今天我们将介绍另外20个在GitHub上备受欢迎的Android开源项目,你准备好了吗?在《直接拿来用!最火的Android开源项目(一)》中,我们详细地介绍了GitHub上最受欢迎的TOP20 Android开源项目,引起了许多读者的热议,作为开发者,你最常

2013-10-15 10:07:32 1069

原创 XMPP聊天程序iPhone版开发(二):创建XMPPStream连接

上篇对XMPP进行了介绍,以及如果运行第一个XMPP应用程序,现在这篇就来介绍如何使用XMPPFramework第二方库和服务器进行连接。初始化一个XMPPStreamxmppStream = [[XMPPStreamalloc]init];现在我们再来看看   [xmppStreamaddDelegate:selfdelegateQueue:dispatch_get_

2013-10-11 16:42:02 3561 2

原创 XMPP聊天程序iPhone版开发(一):初识XMPPFramework

由于前几天一直在写一个图片下载的第三方库,所以工作中需要做XMPP聊天的工作一直放着,到前天到开始研究XMPP,结果其过程是各种蛋痛~ 如今总算是有些收获~所以把其中的过程记录下来~希望对各位有些帮助~服务器端我用的是公司搭建的ejabberd服务器,服务器端搭建在这我不做讲解~一、XMPP介绍简介:可扩展通讯和表示协议 (XMPP)可用于服务类实时通讯、表示和需求响应服务

2013-10-11 16:08:30 2771

原创 关于performSelector调用和直接调用区别

下面两段代码都在主线程中运行,我们在看别人代码时会发现有时会直接调用,有时会利用performSelector调用,今天看到有人在问这个问题,我便做一下总结,[delegate imageDownloader:selfdidFinishWithImage:image];[delegateperformSelector:@selector(imageDownloade

2013-10-08 11:13:16 7136

原创 iOS开发笔记(六):UIButton需要注意的几个地方

1、addTarget: action:  forControlEvents:你在使用UIButton时,是否明明写target中有action方法,他就是crash并且说是OC类没有action方法(action方法是你传入的@selector),我做的之前一个项目就遇到过,后来我刚看了addTarget: action:  forControlEvents:说明(ps:英文不是很好,所以英

2013-09-28 17:39:28 6377

原创 iOS开发笔记(五):禁止键盘弹出时UIWebView自动滑动

之前在做公司项目的时候,需要做一个页面编辑功能,当我们点击编辑器的时候,网页会自动的滑动,结果导致编辑器的fram发生变化。为了解决这个问题,我们需要去禁止webView的自动滑动,我们只需要重写viewForZoomingInScrollView方法就可以了webview.scrollView.delegate=self;-(UIView*)viewForZoomingInScrol

2013-09-28 16:32:05 5314

原创 Xcode快捷键整理

做iOS开发,避免不了的就是要和Xcode打交道,如果对Xcode的快捷方式熟练的话,这样会对我们项目开发速度有很大的提高。也是对你能力的一种提升,下面就是Abel整理的一些资料,希望有一些帮助:1、文件类新建项目:shift  +  command  +  N新建文件:command  +  N打开项目:command  +  O保    存:command  +  S

2013-09-28 11:06:25 1118

原创 iOS开发笔记(四):网页颜色值转化成UIColor

在做项目过程中,有时设计人员给我们往往是一个设计图,而我们用PS取值的时候可以得到一个红绿蓝和一个网页的颜色值,用红绿蓝往往不是很方便,后来我们在项目工具中写一个方法,专门把网页的颜色值转化成UIColor,这样一来,方便了许多。+ (UIColor *)colorFromHexString:(NSString *)hexString {   unsigned rgbValue =

2013-09-27 13:47:07 1203

原创 iOS开发笔记(三):二维码生成

看到现在微信和百度都在弄二维码,最近公司没有什么事做,自己利用这段时间研究了二维码。二维码扫描现在已经有很多的库可以使用了,常用的有ZXing和ZBar。如果感兴趣的同学可以自行研究。libqrencode介绍:是一个用C语言编写的用来解析二维条形码(QR Code)的程序库,libqrencode通过手机的CCD摄像头来扫描二维条形码。  而二维码的生成我是借助于libqrenc

2013-09-27 13:35:21 2014

原创 GCD开发笔记(二):GCD的使用

前面已经大概介绍了GCD的基本知识,这一节Abel便教大家GCD的使用。使用GCD的之前,应该都明白GCD中有三种队列类型(这个在前一节说过,如果想要了解,可以去看GCD学习笔记(一)),有了三个队列类型的基本知识之前我们来真正使用。使用GCD很简单,我们就是调用dispatch_async函数,传入一个队列和一个block。队列会在轮到这个block执行时执行这个block代码。下面的例

2013-09-26 17:22:21 942

原创 GCD开发笔记(一):CGD基本介绍

什么是GCD?GCD(Grand Central Dispatch)是一套低层API,提供了一种新的方法来进行并发程序编写。允许程序将任务切分为多个单一任务然后提交至工作队列来并发地或者串行地执行。GCD比之NSOpertionQueue更底层更高效,并且它不是Cocoa框架的一部分。GCD的API很大程度上基于block,当然,GCD也可以脱离block来使用,比如使用传统c机制

2013-09-26 15:39:08 1317

原创 博客搬家啦

这段时间一直没有来csdn更新博客是因为abel一直在搭建自己的博客,现在终于弄得差不多了,新的博客地址:http://www.beyondabel.com  欢迎各位继续关注

2014-01-06 12:49:44 794

转载 技术信仰是如何毁掉程序员的

我对自己有了新的发现——上天给了我神奇的能力,让我总能做出正确的技术选择。有些夸张,但的确很神奇。 回首我的开发生涯,我认为我使用的任何一种编程语言都是在当时那种场景下最好的。同样的,我选择的框架,甚至操作系统也是最好的。 是的,我有这样惊人的能力,就是从技术的海洋中挑出最好的。这些技术我甚至不用亲自试一遍,但我却极力捍卫我的选择。 可能当你在阅读本

2013-11-05 11:56:47 1107

原创 iOS开发过程中出现错误整理

1、No architectures to compile for (ONLY_ACTIVE_ARCH=YES, active arch=armv7s, VALID_ARCHS=armv7 armv6).今天上午开完会,一回来真机调试就报 No architectures to compile for (ONLY_ACTIVE_ARCH=YES, active arch=armv7s, VAL

2013-09-25 19:48:01 17776 4

转载 iOS6新特征

新UI    iOS6新特征:UIRefreshControl[下拉刷新]使用示例    UICollectionView    iOS6新特征:UICollectionView介绍    iOS6新特征:UICollectionView高级使用示例之CircleLayoutSocial相关    iOS6新特征:Social Frame

2013-02-25 12:31:21 767

转载 iPhone zip压缩与解压

ziparchive是基于开源代码"MiniZip"的zip压缩与解压的Objective-C 的Class,使用起来非常的简单.你只需要把代码加进你的工程,然后把zlib库添加到工程就可以了.ziparchive可以在googlecode上下载,地址如下:http://code.google.com/p/ziparchive/参考贴:http://www.iphonedevsdk.com

2013-02-25 12:26:19 743

MacPorts-2.2.1(10.9)

MacPorts前称DarwinPorts[1],是一个软件包管理系统,用来简化Mac OS X和Darwin操作系统上软件的安装。它是一个用来简化自由软件/开放源代码软件的安装的自由/开放源代码项目,与Fink和BSD类ports套件的目标和功能类似。2002年,DarwinPorts作为OpenDarwin项目的一部分启动,参与者包括一些苹果公司的员工,如Landon Fuller、Kevin Van Vechten和Jordan Hubbard等。

2013-11-19

MacPorts-2.2.1(10.8)

MacPorts前称DarwinPorts[1],是一个软件包管理系统,用来简化Mac OS X和Darwin操作系统上软件的安装。它是一个用来简化自由软件/开放源代码软件的安装的自由/开放源代码项目,与Fink和BSD类ports套件的目标和功能类似。2002年,DarwinPorts作为OpenDarwin项目的一部分启动,参与者包括一些苹果公司的员工,如Landon Fuller、Kevin Van Vechten和Jordan Hubbard等。

2013-11-19

paros安装包

一个非常简单好用的网络抓包工具,使用方法详情请关注http://blog.csdn.net/abel_tu

2013-11-18

气泡聊天界面实现

一个气泡聊天界面的实现,让你知道真实气泡聊天界面的实现

2013-11-14

气泡聊天界面代码

一个类似于QQ的气泡聊天界面代码,让你知道真实的气泡聊天界面的实现

2013-11-14

类似于QQ的气泡聊天

类似QQ气泡法聊天界面代码

2013-11-14

汉字转拼音样例代码

iOS开发代码,汉字转拼音样例代码。

2013-11-14

SQLLite管理工具

一个移动数据库开发管理工具,让移动嵌入式数据库开发更加方便

2013-11-14

算法导论.pdf

这是一本经典的算法资料书籍,适合学算法各阶段的同学。

2013-11-14

XMPPFramework

一个简单的XMPP代码样例,它实现了与服务器连接、获取用户朋友基本信息、以及聊天

2013-10-12

空空如也

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

TA关注的人

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