iOS开发
文章平均质量分 55
Abel_tu
博客已搬到http://www.beyondabel.com github: https://github.com/beyondabel
展开
-
关于performSelector调用和直接调用区别
下面两段代码都在主线程中运行,我们在看别人代码时会发现有时会直接调用,有时会利用performSelector调用,今天看到有人在问这个问题,我便做一下总结,[delegate imageDownloader:selfdidFinishWithImage:image];[delegateperformSelector:@selector(imageDownloade原创 2013-10-08 11:13:16 · 7189 阅读 · 0 评论 -
XMPP聊天程序iPhone版开发(二):创建XMPPStream连接
上篇对XMPP进行了介绍,以及如果运行第一个XMPP应用程序,现在这篇就来介绍如何使用XMPPFramework第二方库和服务器进行连接。初始化一个XMPPStreamxmppStream = [[XMPPStreamalloc]init];现在我们再来看看 [xmppStreamaddDelegate:selfdelegateQueue:dispatch_get_原创 2013-10-11 16:42:02 · 3595 阅读 · 2 评论 -
在iOS中创建静态库
如果你作为iOS开发者已经有一段时间,可能会有一套属于自己的类和工具函数,它们在你的大多数项目中被重用。 重用代码的最简单方法是简单的 拷贝/粘贴 源文件。然而,这种方法很快就会成为维护时的噩梦。因为每个app都有自己的一份代码副本,你很难在修复bug或者升级时保证所有副本的同步。 这就是静态库要拯救你的。一个静态库是若干个类,函数,定义和资源的包装,你可以将其打包转载 2013-12-08 19:44:08 · 1042 阅读 · 0 评论 -
手把手教你iOS消息推送证书生成以及Push消息
iOS推送消息是许多iOS应用都具备的功能,今天在给应用加推送功能,在生成证书的过程中,发生了各种令人蛋痛的事。下面就把步骤拿出来分享下:iOS消息推送的工作机制可以简单的用下图来概括: Provider是指某个iPhone应用程序的Push服务器,APNS是Apple Push Notification Service的缩写,是苹果的服务器。原创 2013-12-10 22:03:50 · 7402 阅读 · 0 评论 -
iPhone网络图片下载之ABELWebImage
ABELWebImage库提供了一个ABELImageView支持加载来自网络的远程图片,ABELImageView是继承于UIImageView的。ABELWebImage具有缓存管理、异步下载、节约图片下载流量、支持gif动态图片下载、支持ARC、MRC环境、使用简单等优点。使用例子: ABELImageView * imageView = [[ABELImageVi原创 2013-10-25 12:27:42 · 1521 阅读 · 3 评论 -
你不知道的UIImageView设置成图形的两种方案
自从iOS7出来之后,越来越多的应用头像设计成圆形了,圆形设计的头像看起来确实挻上流的。现在我给大家带来两种把UIImageView的图片设计成圆形。方案一:从UIImageView的布局着手我相信大家都知道对UIImageView的layer设置方法来把图片设计成圆形。self.avatarImageView = [[ABELImageView alloc] init];self.原创 2013-12-11 20:14:02 · 2219 阅读 · 0 评论 -
UIScrollView的属性总结
属性作用CGPoint contentOffSet监控目前滚动的位置CGSize contentSize滚动范围的大小UIEdgeInsets contentInset视图在scrollView中的位置iddelegate设置协议BOOL directionalLockEna转载 2013-12-12 23:33:12 · 964 阅读 · 0 评论 -
线程安全类的设计
此文章将侧重于编写线程安全类和使用Grand Central Displatch(GCD)时的实用的技巧,设计模式,以及反模式。线程安全Apple的框架首先让我们来看一下Apple的框架。一般情况下,除非提前声明,否则大多数类默认不是线程安全的。一些是我们所期望的,但是另一些却会相当有趣。其中甚至有经验的iOS/Mac开发人员常会犯的错误是在后台线程中访问部分UIK转载 2013-12-13 13:24:36 · 1004 阅读 · 0 评论 -
iOS时间相关各种技巧
一、通过自带的日历得到年月日、时间、以及星期NSCalendar *calendar = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];NSDate *now;NSDateComponents *comps = [[NSDateComponents alloc] init];NSInteger unit原创 2013-12-24 10:11:31 · 2670 阅读 · 0 评论 -
Mac下CocoaPods安装步骤
介绍:开发应用的时候第三方的库是不可缺少的,它能提高开发的效率。一些经常用到的库,在新的项目里用是,你又得手工的Add到项目里,用的到库多起来了,就不方便管理了。CocoaPods这个软件,可以方便的帮你管理Xcode里的第三方的库。安装步骤:1、打开终端在终端输入 sudo gem install -V cocoapods 2、等待下载完成后,原创 2013-11-13 11:32:51 · 7772 阅读 · 0 评论 -
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 · 20276 阅读 · 0 评论 -
自己写一个第三方分享库(一)
自己写一个第三方分享库(一)前言最近想做分享时,总是遇到需要更新最新包的问题,并且还需要导入真机和模拟器二个包,非常麻烦,所以一直在思考如何自己做一个分享库,要想做第三方的分享库,首要问题是需要知道App是如何跳转以及分享数据是如何传递,之前我想到是通过OpenURL中URL后面带参数去实现,后来想想URL长度传递是不可能允许这么多的数据传递,应该是通过App之间相互能访问的存储空间实现APP之间的原创 2015-07-14 22:42:41 · 2812 阅读 · 0 评论 -
XMPP聊天程序iPhone版开发(一):初识XMPPFramework
由于前几天一直在写一个图片下载的第三方库,所以工作中需要做XMPP聊天的工作一直放着,到前天到开始研究XMPP,结果其过程是各种蛋痛~ 如今总算是有些收获~所以把其中的过程记录下来~希望对各位有些帮助~服务器端我用的是公司搭建的ejabberd服务器,服务器端搭建在这我不做讲解~一、XMPP介绍简介:可扩展通讯和表示协议 (XMPP)可用于服务类实时通讯、表示和需求响应服务原创 2013-10-11 16:08:30 · 2810 阅读 · 0 评论 -
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 · 5253 阅读 · 0 评论 -
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 · 760 阅读 · 0 评论 -
iOS6新特征
新UI iOS6新特征:UIRefreshControl[下拉刷新]使用示例 UICollectionView iOS6新特征:UICollectionView介绍 iOS6新特征:UICollectionView高级使用示例之CircleLayoutSocial相关 iOS6新特征:Social Frame转载 2013-02-25 12:31:21 · 792 阅读 · 0 评论 -
iOS开发笔记(五):禁止键盘弹出时UIWebView自动滑动
之前在做公司项目的时候,需要做一个页面编辑功能,当我们点击编辑器的时候,网页会自动的滑动,结果导致编辑器的fram发生变化。为了解决这个问题,我们需要去禁止webView的自动滑动,我们只需要重写viewForZoomingInScrollView方法就可以了webview.scrollView.delegate=self;-(UIView*)viewForZoomingInScrol原创 2013-09-28 16:32:05 · 5470 阅读 · 0 评论 -
iOS开发笔记(四):网页颜色值转化成UIColor
在做项目过程中,有时设计人员给我们往往是一个设计图,而我们用PS取值的时候可以得到一个红绿蓝和一个网页的颜色值,用红绿蓝往往不是很方便,后来我们在项目工具中写一个方法,专门把网页的颜色值转化成UIColor,这样一来,方便了许多。+ (UIColor *)colorFromHexString:(NSString *)hexString { unsigned rgbValue =原创 2013-09-27 13:47:07 · 1239 阅读 · 0 评论 -
GCD开发笔记(二):GCD的使用
前面已经大概介绍了GCD的基本知识,这一节Abel便教大家GCD的使用。使用GCD的之前,应该都明白GCD中有三种队列类型(这个在前一节说过,如果想要了解,可以去看GCD学习笔记(一)),有了三个队列类型的基本知识之前我们来真正使用。使用GCD很简单,我们就是调用dispatch_async函数,传入一个队列和一个block。队列会在轮到这个block执行时执行这个block代码。下面的例原创 2013-09-26 17:22:21 · 973 阅读 · 0 评论 -
iOS开发笔记(三):二维码生成
看到现在微信和百度都在弄二维码,最近公司没有什么事做,自己利用这段时间研究了二维码。二维码扫描现在已经有很多的库可以使用了,常用的有ZXing和ZBar。如果感兴趣的同学可以自行研究。libqrencode介绍:是一个用C语言编写的用来解析二维条形码(QR Code)的程序库,libqrencode通过手机的CCD摄像头来扫描二维条形码。 而二维码的生成我是借助于libqrenc原创 2013-09-27 13:35:21 · 2034 阅读 · 0 评论 -
GCD开发笔记(一):CGD基本介绍
什么是GCD?GCD(Grand Central Dispatch)是一套低层API,提供了一种新的方法来进行并发程序编写。允许程序将任务切分为多个单一任务然后提交至工作队列来并发地或者串行地执行。GCD比之NSOpertionQueue更底层更高效,并且它不是Cocoa框架的一部分。GCD的API很大程度上基于block,当然,GCD也可以脱离block来使用,比如使用传统c机制原创 2013-09-26 15:39:08 · 1358 阅读 · 0 评论 -
iOS开发笔记(六):UIButton需要注意的几个地方
1、addTarget: action: forControlEvents:你在使用UIButton时,是否明明写target中有action方法,他就是crash并且说是OC类没有action方法(action方法是你传入的@selector),我做的之前一个项目就遇到过,后来我刚看了addTarget: action: forControlEvents:说明(ps:英文不是很好,所以英原创 2013-09-28 17:39:28 · 6417 阅读 · 0 评论 -
Xcode快捷键整理
做iOS开发,避免不了的就是要和Xcode打交道,如果对Xcode的快捷方式熟练的话,这样会对我们项目开发速度有很大的提高。也是对你能力的一种提升,下面就是Abel整理的一些资料,希望有一些帮助:1、文件类新建项目:shift + command + N新建文件:command + N打开项目:command + O保 存:command + S原创 2013-09-28 11:06:25 · 1177 阅读 · 0 评论 -
iOS设计模式之单例模式
单例模式是iOS常用设计模式中的一种,原创 2013-10-30 19:04:51 · 3138 阅读 · 2 评论 -
iOS系统如何实现网络数据抓包
在进行iOS开发过程中,经常会遇到各种各样的网络访问问题,以前苦于没有抓包工具,很多网络问题解决起来很痛苦。现在终于好了,本文提供两种方式进行网络抓包: 1. 网络共享 + 可视化抓包工具 基本原理 原理比较简单,iOS设备通过代理方式共享连接mac电脑的无线网卡,使用抓包工具抓包,然后进行分析(我们推荐使用Wireshark,在MAC系统上也可以使用Paros工具)。 现在以M原创 2013-11-18 11:10:00 · 5779 阅读 · 0 评论 -
如何编写高质量iOS代码
一直以来,身边总会有这样的声音——“如何提高自己的代码质量”,我想这个话题可能大家会比较感兴趣,所以在这里分享一下我在iOS开发中对如何提高代码质量的一些心得体会,其他的语言可以以此做一个参照。1. 基础知识及技巧想写出高质量代码,并不是一蹴而就的,它需要有一定的基础以及大量的代码知识积累,这里我重点强调与代码质量密切相关的几点:首先得掌握好开发语言,iOS开发有二种语言—原创 2016-03-25 10:17:34 · 2098 阅读 · 0 评论