
xcode
文章平均质量分 53
YearWang
简单可复制
展开
-
用代码实现截屏并保存为图片
- (NSImage *)screenShot{ CFArrayRef windowsRef = CGWindowListCreate(kCGWindowListOptionOnScreenOnly, kCGNullWindowID); NSRect rect = [[NSScreen mainScreen] frame]; CGImageRef imgRef = CGW原创 2017-11-08 23:26:33 · 8652 阅读 · 0 评论 -
IOS App测试总结
OCMock总结使用OCMock是为了某些不容易构造或者不用一获取的对象,用一个虚拟的对象来创建以便测试。在cocoa编程测试使用系统自带的ocunit,或者第三方的ghunit都没有mock,一般使用oc mock和ghunit的组合来搭建测试框架来测试。mock基本的用法有从class初始化mock对象,id mock = [OCMockObject mockForClass:转载 2013-05-20 22:45:20 · 7376 阅读 · 0 评论 -
iOS中异步函数的单元测试
通常单元测试执行顺序执行后进程就退出了,对于异步函数(如:网络访问等)的测试比较麻烦。在iOS开发中可以利用Runloop来阻塞主线程,在回调函数中做断言。代码片段如下,完整Demo//// SampleTest.m// SampleTest//// Created by Magic Yang on 5/11/12.// Copyright (c) 2012 Baidu. A转载 2013-05-19 11:23:44 · 1578 阅读 · 0 评论 -
iPhone App自动化测试
无线客户端的发展很快,特别针对是android和ios两款无线操作系统的客户端应用,相应的测试工具也应运而生,这里主要给大家介绍一些针对iPhone App的自动化测试工具。首先,我们把这些测试框架分为三大类:接口测试工具、注入式UI测试工具、录放式UI测试工具。一、接口测试工具,主要在iphone SDK提供的单元测试框架的基础上,完成代码的接口功能测试。这类工具用的比较转载 2013-05-19 10:28:06 · 1200 阅读 · 0 评论 -
IOS模拟器怎么安装应用程序
iOS模拟器是苹果Xcode IDE的一部分,主要用来为Mac,iPhone和iPad创建应用程序,那么,iOS模拟器怎么安装应用程序呢?为了给iOS模拟器打包应用程序,利用–package 在命令行上执行ADT并使用–target来指定其中一个目标。比如,对于检测注释目标你可以执行下面的:adt -package -target ipa-test-interpreter-simu转载 2013-05-04 17:53:17 · 32705 阅读 · 6 评论 -
公布一个IOS上线程安全的sqlite库
我也是在网络上找的,自己加了锁,支持线程安全.h文件 #import #import "sqlite3.h"@interface DatabaseOperation : NSObject { sqlite3 *m_sql; NSString *m_dbName; NSLock* m_lcok;}@property(nonatomic)sq原创 2013-03-26 13:03:49 · 2042 阅读 · 0 评论 -
iOS Application Programming Guide 摘要
原文地址: http://developer.apple.com/library/ios/#documentation/iPhone/Conceptual/iPhoneOSProgrammingGuide/Introduction/Introduction.html#//ap原创 2011-09-20 19:04:35 · 1703 阅读 · 0 评论 -
图片阴影效果的实现
UIImageView*pageContenterImageView = [[UIImageView alloc]initWithImage:[UIImage imageNamed:@"onePageApple.png"]];//添加边框CALayer*l原创 2011-08-14 02:50:06 · 6666 阅读 · 2 评论 -
获取ios的MAC地址
#include // Per msqr#include #include #include #pragma mark MAC// Return the local MAC addy// Courtesy of FreeBSD hackers email list// Acci原创 2011-07-12 10:55:44 · 23468 阅读 · 5 评论 -
IOS通讯录操作总结
IOS地址簿线程测试结果:1.多线程访问同一个ABAddressBookRef,不用互斥,不管是只读还是读写,都会引起程序崩溃,ABRecordRef也一样存在线程安全问题(在ABAddressBookGetPersonWithRecordID、ABRecordSetValue等操作时)2.多线程访问同一个ABAddressBookRef以及由它获取的ABRecordRef,使用互斥,读写原创 2011-06-27 13:03:00 · 3481 阅读 · 0 评论 -
Object C 获取日期
<br />//得到当前的日期 NSDate *date = [NSDate date]; NSLog(@"date:%@",date); //得到(24 * 60 * 60)即24小时之前的日期,dateWithTimeIntervalSinceNow: NSDate *yesterday = [NSDate dateWithTimeIntervalSinceNow: -(24 * 60 * 60)]; NSLog(@"yesterday:%@原创 2011-05-01 00:24:00 · 2341 阅读 · 0 评论 -
iOS中消息的传递机制
注1:本文由破船[博客]译自Communication Patterns。 本文目录如下所示:可用的机制做出正确的选择Framework示例 小结每个应用程序或多或少,都由一些松耦合的对象构成,这些对象彼此之间要想很好的完成任务,就需要进行消息传递。本文将介绍所有可用的消息传递机制,并通过示例来介绍这些机制在苹果的Framewor转载 2014-08-27 17:19:22 · 576 阅读 · 0 评论 -
基本概念和Dispatch Queue
什么是GCD?Grand Central Dispatch或者GCD,是一套低层API,提供了一种新的方法来进行并发程序编写。从基本功能上讲,GCD有点像NSOperationQueue,他们都允许程序将任务切分为多个单一任务然后提交至工作队列来并发地或者串行地执行。GCD比之NSOpertionQueue更底层更高效,并且它不是Cocoa框架的一部分。除了代码的平行执行能力,GC转载 2014-10-25 09:48:57 · 764 阅读 · 0 评论 -
iOS8推送消息的快速回复处理
iOS8拥有了全新的通知中心,有全新的通知机制。当屏幕顶部收到推送时只需要往下拉,就能看到快速操作界面,并不需要进入该应用才能操作。在锁屏界面,对于推送项目也可以快速处理。基本上就是让用户尽量在不离开当前页面的前提下处理推送信息,再次提高处理效率。 能够进行直接互动的短信、邮件、日历、提醒,第三方应用,可以让你不用进入程序就能进行快捷操作,并专注于手中正在做的事情。 在通知转载 2014-10-14 09:58:52 · 2706 阅读 · 0 评论 -
稳定流畅的APP编写时候的注意事项
稳定流畅的APP编写时候的注意事项把一个客户端做得稳定、无奔溃、流畅,是写客户端朋友的梦想,今天我就来给大家提一些检点的建议,也是我自身的经历和建议:客户端的一些指标运行多小小时,不崩溃打开多少次页面,崩溃率控制到多少让用户不急躁、不烦躁一些关键词服务器没有返回数据,导致奔溃了网络不好,数据来的太慢,界面就不流畅了这是从数据库读的数据,所以就慢界面不应与协议相关界面应该有自己的逻辑原创 2015-12-10 13:40:36 · 662 阅读 · 0 评论 -
粗略地在iOS中使用URLManager架构
最近粗略的学习了一些iOS架构,本文算是对最近学习的一些总结,并希望能够帮助到一些初学者提升下架构程序时的思路。1.URLManagerURLManager的架构最早出现Facebook的Three20框架中TTNavigator。是一个基于自定义URL协议安排ViewController的松耦合协议。在传统ViewController中,从A push B, A与转载 2015-08-05 11:56:08 · 884 阅读 · 0 评论 -
NSCache在IOS中的使用
NSCache一言蔽之是一个很傻瓜式的缓存控件,存取方式类似于NSDictionary,工作方式与苹果的内存管理体系相一致,在内存吃紧的时候,它会自动释放存储的对象。所以,你项目中任何你称之为缓存却不是 NSCache 对象的东西都应该被换成 NSCache。(在使用它之前,我自己写了很多带cache的NSArray 或者 NSDictionary,现在想来,这些都是不合理的)原创 2015-08-05 11:53:48 · 1652 阅读 · 0 评论 -
layoutSubviews总结
ios layout机制相关方法- (CGSize)sizeThatFits:(CGSize)size- (void)sizeToFit——————-- (void)layoutSubviews- (void)layoutIfNeeded- (void)setNeedsLayout——————–- (void)setNeedsDisp转载 2015-04-20 21:13:06 · 923 阅读 · 0 评论 -
IOS及时通讯中消息的处理方式
通常我们做及时通讯的消息,都是使用socket,原因其实很多,其中最重要的一点就是socket可以由服务器主动推送消息到客户端。我们都知道在IOS中,我们的APP可以被切换到后台,当我们APP被切换到后台的时候,官方的说法是说,可以给我们300秒的时间,处理一些从前台进入后台的事情,但不一定是300秒,如果内存吃紧的情况的时候,就会被操作系统无情的kill掉。通常客户端与服务器保持原创 2014-12-26 13:52:41 · 7247 阅读 · 0 评论 -
AFNetWork中使用https
AFNetWork这个库,是现在大家使用比较用的库,我们在做即时通讯的时候,也会加入这个库,用起来还是比较爽的。有时候我们会用到https,在AFNetwork这个库,其实已经很好的封装了https,是的我们很简单就能使用。原创 2014-12-25 21:54:18 · 24770 阅读 · 6 评论 -
objective-c 两个常用的判断NULL的用法
判读NSString判读NSNumber#define OBJ_IS_NIL(s) (s==nil || [s isKindOfClass:[NSNull class]])#define Number_IS_NIL(s) (s==nil || [s isKindOfClass:[NSValue class]])原创 2014-11-29 11:49:49 · 3934 阅读 · 1 评论 -
iOS定位原理和使用建议
看到很多网友讨论iOS设备定位的问题,这里将我们所了解的关于iPhone、iPad、iPod等的定位原理做详细的介绍,希望能为大家增加知识,减少误区,更好地使用iOS设备。介绍之前,先声明一下关于地图加加的“偏移修正”功能,地图加加可以对齐中国地区(地点、线路和照片的)坐标和中国地图之间的偏移,这个是我国测绘法规要求的一个数学意义的偏移,每个地方的偏移是固定的,法定的,和当前定位的方式、定转载 2014-10-14 17:21:19 · 11424 阅读 · 1 评论 -
iOS8 下定位 (CLLocationManager) 的改變
今天 iOS8 下測試下一班高鐵v1.8.1、下一班火車v1.2.1,發現定位的寫法也不一樣了.... >" 如上圖所示,原本 Xcode5.1.1 的定位,若沒有變更程式碼,用 Xcode6 去編繹,安裝後的 App 會發現在「隱私權」>「定位服務」下的應用程式呈現沒有設定(如圖 1.),新裝的 App 也不會因為 CLLocationManager startUpdatin转载 2014-10-14 17:34:23 · 3387 阅读 · 0 评论 -
iOS技能树
转载 2014-10-15 09:00:37 · 2908 阅读 · 0 评论 -
[iPhone开发之控件的使用]UILabel的各种属性与方法的使用
<br />#import "LabelTestViewController.h" @implementation LabelTestViewController /* Accessing the Text Attributes text property font property textColor property textAlignment property lineBreakMode原创 2011-05-01 00:23:00 · 797 阅读 · 0 评论 -
iphone开发-多线程
<br />举例说明怎么简单的创建一个子线程。<br />用到的类是NSThread类,这里使用detachNewTheadSelector:toTagaet:withObject创建一个线程。<br />函数setupThread:(NSArray*)userInfor。通过userInfor将需要的数据传到线程中。<br />函数定义:<br />-(void)setupThread:(NSArray*)userInfor{<br /> [NSThread detachNewThreadSe原创 2011-06-02 22:39:00 · 1862 阅读 · 0 评论 -
iPhone上的JSON
JSON我就不多解释了,需要更多信息的朋友请到json.org上查看。在iPhone上访问网络内容是很必须的,而一些数据就需要以某种形式储存在web服务器上。比如一个app的目录,内容,索引等等。而xml和json,plist都是比较方便的方式。-XML在iPhone上是非常好用的,但是对复杂的数据结构使用上就不那么方便了,具体可以参阅苹果的“基于事件的XML”和“基于树的XML”编程向导-plist是再方便不过了,不过我看最多也就是一个NSDictionary而已,复杂一些的话,数据输入上也会非常非常的麻原创 2010-11-21 16:55:00 · 1061 阅读 · 0 评论 -
iphone开发常用代码
<br />- (NSString *)URLEncodedString:(NSString *)string{<br /> NSString *result = (NSString *)CFURLCreateStringByAddingPercentEscapes(kCFAllocatorDefault,<br /> (CFStringRef)string,NULL,CFSTR("!*'();原创 2011-01-05 11:50:00 · 1344 阅读 · 1 评论 -
震动和声音
<br />这演示如何实现电话的震动(注:震动不能工作在模拟器,只能工作在设备上)<br />AudioServicesPlaySystemSound(kSystemSoundID_Vibrate); <br /><br /><br />声音可以工作在模拟器,然后一些声音(如循环的)已被证明不能工作,设置在模拟器中成功与否取决于音频格式.注:必须使用.wav格式在这个例子中.<br />SystemSoundID pmph;id sndpath =[[NSBundlemainBundle]pathF原创 2010-12-28 22:05:00 · 972 阅读 · 0 评论 -
苹果上免费开源文本编辑器 -MacVim
<br /><br />MacVim是一款免费的支持多窗口的文本编辑软件.对于写文本和写代码的人来说这是一款非常棒的编辑器.MacVim来源于传说中的 Unix系统,很自然的Mac OS X继承了Unix的传统.所以Vim也来到了苹果平台.<br />但Macvim和原生的vim有什么不同点呢?MacVim采用全Mac的Cocoa全新开发.<br />但需要说明的是MacVim不适合新手哦,因为想真正的使用MacVim飞快的操作必须要熟记很多命令哦..(命令和Vim相同)<br />下载软件:http://原创 2010-12-28 23:16:00 · 2852 阅读 · 0 评论 -
查看程序运行时间的代码
How to Time<br />I was asked three times last week how I find how long an activity takes on the Mac and the iPhone. Here is the most accurate method that I know of:#import <mach/mach_time.h>uint64_t start = mach_absolute_time();// do stuff to be t原创 2010-12-27 22:52:00 · 4274 阅读 · 0 评论 -
iphone开发中的一些小技巧
<br /><br />经过半年多的iphone开发,我发现在开发过程中最难的就是一些嘈杂的细节,而了解一些小技巧就会达到事半功倍的效果,下面我就总结一下在iphone开发中的一些小技巧。1、如果在程序中想对某张图片进行处理的话(得到某张图片的一部分)可一用以下代码:<br />UIImage *image = [UIImage imageNamed:filename];<br />CGImageRef imageRef = image.CGImage;<br />CGRect rect = CGRectM原创 2010-12-26 12:16:00 · 1191 阅读 · 0 评论 -
iPhone程序调用系统通讯录选择单个电话号码
<br /><br />为了调用系统的通讯录界面与相应功能,需要引入AddressBook.framework与AddressBookUI.framework,同时,在源文件中需要包含同文件<AddressBook/AddressBook.h>,<AddressBookUI/AddressBookUI.h>.<br />首先申明变量:<br /> <br />ABPeoplePickerNavigationController *picker;<br />在需要的地方调用显示选择联系人界面,同时设置ABPe原创 2010-12-20 20:17:00 · 6917 阅读 · 0 评论 -
避免键盘弹出时遮挡输入框
<br />避免键盘弹出时遮挡输入框1 条评论2010/11/22 20:31 28 次阅读<br />在iPhone的短信对话界面中,当点击下方的输入框时,整个信息列表界面的大小会自动发生改变并保证界面内容不被键盘所覆盖.要实现这种效果需要在键盘将要弹出时使用代码动态的改变整个View的大小.<br />首先在viewDidLoad中注册键盘弹出事件监听器:<br /> <br />[[NSNotificationCenterdefaultCenter] addObserver:selfselector:原创 2010-12-20 20:16:00 · 4436 阅读 · 1 评论 -
iOS应用中增加emoji表情输入功能
<br /><br />Emoji的介绍参见wiki,iOS支持的emoji表情列表参见http://pukupi.com/post/1964/,iOS支持的emoji表情的Unicode编码范围为[0xE001,0xE05A]&[0xE101,0xE15A]&[0xE201,0xE253]&[0xE401&0xE44C]&[0xE501,0xE537],Unicode编码转为NSString的方法为[NSStringstringWithFormat:@"%C", i].使用如下代码可以弹出一个可以选择Em原创 2010-12-20 20:06:00 · 19858 阅读 · 1 评论 -
NSString+NSMutableString+NSValue+NSAraay用法汇总
<br /><br />开发过程中难免遇到字符串操作,下面是CocoaChina为您总结的NSString+NSMutableString+NSValue+NSAraay用法汇总,帮您应对各种字符串操作。<br /><br />//一、NSString <br /> /*----------------创建字符串的方法----------------*/<br /><br /> //1、创建常量字符串。<br /> NSString *astring = @"This is a St原创 2010-12-09 13:09:00 · 725 阅读 · 0 评论 -
iPhone上的JSON(二)
上一期基本上讨论了Objc的JSON框架的原理,现在简单介绍一下使用。在CS193P的课堂程序上,列出了以下函数:+(id)fetchJSONValueForURL:(NSURL*)url{NSString*jsonString =[[NSString alloc] initWithContentsOfURL:url encoding:NSUTF8StringEncoding error原创 2010-11-21 16:56:00 · 1094 阅读 · 0 评论 -
iPhone上的JSON(三)JSON+UITableView
既然JSON这么好,它怎么和UITableView结合使用呢?首先看看我们的JSON文件吧:{ "老张家":["大张","二张","三张"], "老李家":["大李","二李"]}完成的作品是这样样子的~~(点击放大阿~~)好,开始打代码吧。1,首先copy JSON库到当前的Project里面。2,建立一个数据源类。我给它起名叫MyDataSource, 看看里面都有什么吧:@interface MyDataSource :NSObject{}+(id)dataSource;@end原创 2010-11-21 16:57:00 · 1254 阅读 · 0 评论 -
iPhone上的JSON
JSON我就不多解释了,需要更多信息的朋友请到json.org上查看。在iPhone上访问网络内容是很必须的,而一些数据就需要以某种形式储存在web服务器上。比如一个app的目录,内容,索引等等。而xml和json,plist都是比较方便的方式。-XML在iPhone上是非常好用的,但是对复杂的数据结构使用上就不那么方便了,具体可以参阅苹果的“基于事件的XML”和“基于树的XML”编程向导-plist是再方便不过了,不过我看最多也就是一个NSDictionary而已,复杂一些的话,数据输入上也会非常非常的麻原创 2010-11-21 16:55:00 · 729 阅读 · 0 评论 -
关于Sina WeiBo API OAuth 验证(ios)
<br />#import<CommonCrypto/CommonHMAC.h><br />#import<CommonCrypto/CommonCryptor.h><br />#import "Base64.h"<br /><br />#defineSINA_T_HOST @"api.t.sina.com.cn"//api.t.sina.com.cn<br />#defineSINA_WEIBO_APP_KEY原创 2011-06-02 23:46:00 · 3284 阅读 · 0 评论