iPhone是否越狱的检测方法
摘要:今天项目中要用到检查iPhone是否越狱的方法。Umeng统计的Mobclick.h里面已经包含了越狱检测的代码,可以直接使用/*方法名: * isJailbroken *介绍: * 类方法,判断设备是否越狱,判断方法根据 apt和Cydia.app的path来判断 *参数说明: * 无 * * */#pragma mark utils api// 类方法,判断当前设备是否已经越狱+ (BOOL)isJailbroken;// 类方法,判断你的App是否被破解+ (BOOL)isPirated;apt和Cydia的方式来进行判断的,没看...
阅读全文
posted @
2012-08-31 12:12
easonoutlook
阅读(5777)
推荐(1)
NSNotificationCenter 传递带参数的通知
摘要:NSNotificationCenter 在 init里面注册这个通知,NSString* const str = @"FuckMe"; [[NSNotificationCenterdefaultCenter]addObserver:selfselector:@selector(on:) name:strobject:nil];在dealloc里面移除这个通知的注册: [[NSNotificationCenter defaultCenter]removeObserver:self name:strobject:nil];以上为不带参数的通知一般在使用NSNotificati
阅读全文
posted @
2012-08-29 16:51
easonoutlook
阅读(18906)
推荐(0)
UITableViewCell设置 checkmark的问题
摘要:之前设置UITableViewCell的checkMark的属性,有20个cell选择其中的一个进行设置checkmark ,但是一直无法设置成功,之前采用的方式是通过indexPath来标记将上一个indexPath设置为oldIndexPath, 但是无法标记成功,后面把上一个 UITableViewCell 来作为标记,可以解决。代码如下[tableView deselectRowAtIndexPath:indexPath animated:YES]; if ([indexPath section] == 0) { if (self.wallpaperIndexpat...
阅读全文
posted @
2012-08-29 10:41
easonoutlook
阅读(2532)
推荐(0)
NSIndexPath的初始化方法
摘要:好几次用到了NSIndexPath,但是一直不知道怎么通过 row section这两个参数来初始化NSIndexPath *index = [NSIndexPath indexPathForRow:0 inSection:4];直接使用!
阅读全文
posted @
2012-08-28 18:08
easonoutlook
阅读(17510)
推荐(2)
三目运算符的使用
摘要:三目运算符不能单独构成语句,这点是和C语言不同的,所以要和三目运算符构成赋值语句。所以a = (a / b == 2) ? a = 50:a = 100;这么写就对了,但是不建议这么写建议写法:a = (a / b == 2) ? 50 : 100;三目运算符不能单独构成语句
阅读全文
posted @
2012-08-23 18:51
easonoutlook
阅读(938)
推荐(0)
如何在 block 中修改外部变量
摘要:block 的目的是为了支持并行编程,对于普通的 local 变量,我们就不能在 block 里面随意修改(原因很简单,block 可以被多个线程并行运行,会有问题的),而且如果你在 block 中修改普通的 local 变量,编译器也会报错。那么该如何修改外部变量呢?有两种办法,第一种是可以修改 static 全局变量;第二种是可以修改用新关键字 __block 修饰的变量。请看:NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];__block int blockLocal= 100;static int staticLo
阅读全文
posted @
2012-08-22 00:07
easonoutlook
阅读(11858)
推荐(0)
iOS网络开发中的同步、异步和请求队列
摘要:在iOS网络编程中,我们经常会遇到线程的同步和异步问题,同时为了对异步请求更加精准丰富的控制,我们还常常在iOS中使用请求队列,下面就来谈谈iOS开发中同步、异步以及请求队列的使用方法。1. 同步意为着线程阻塞,在主线程中使用此方法会不响应任何用户事件。所以,在应用程序设计时,大多被用在专门的子线程增加用户体验,或用异步请求代替。12345678910- (IBAction)grabURL:(id)sender { NSURL *url = [NSURL URLWithString:@"http://allseeing-i.com"]; ASIHTTPRequest *re
阅读全文
posted @
2012-08-21 16:17
easonoutlook
阅读(9843)
推荐(0)
线程的同步和异步
摘要:多线程和异步操作的异同 多线程和异步操作两者都可以达到避免调用线程阻塞的目的,从而提高软件的可响应性。甚至有些时候我们就认为多线程和异步操作是等同的概念。但是,多线程和异步操作还是有一些区别的。而这些区别造成了使用多线程和异步操作的时机的区别。 异步操作的本质 所有的程序最终都会由计算机硬件来执行,所以为了更好的理解异步操作的本质,我们有必要了解一下它的硬件基础。 熟悉电脑硬件的朋友肯定对DMA这个词不陌生,硬盘、光驱的技术规格中都有明确DMA的模式指标,其实网卡、声卡、显卡也是有DMA功能的。DMA就是直接内存访问的意思,也就是说,拥有DMA功能的硬件在和内存进行数据交换的时候可以不消...
阅读全文
posted @
2012-08-21 16:16
easonoutlook
阅读(27553)
推荐(4)
NSCondition的用法
摘要:使用NSCondition,实现多线程的同步,即,可实现生产者消费者问题。基本思路是,首先要创建公用的NSCondition实例。然后:消费者取得锁,取产品,如果没有,则wait,这时会释放锁,直到有线程唤醒它去消费产品;生产者制造产品,首先也是要取得锁,然后生产,再发signal,这样可唤醒wait的消费者。- (IBAction)conditionTest:(id)sender{ NSLog(@"begin condition works!"); products = [[NSMutableArray alloc] init]; condition = [[NSCond
阅读全文
posted @
2012-08-21 15:15
easonoutlook
阅读(12688)
推荐(1)
NSThread的使用
摘要:主要用于讲解NSThread多线程的使用;从线程创建与启动、线程的同步与锁、线程的交互、线程池等等四个方面简单的讲解一下iphone中的多线程编程;一、线程创建与启动线程创建主要有二种方式:- (id)init; // designated initializer- (id)initWithTarget:(id)target selector:(SEL)selector object:(id)argument;当然,还有一种比较特殊,就是使用所谓的convenient method,这个方法可以直接生成一个线程并启动它,而且无需为线程的清理负责。这个方法的接口是:+ (void)detachN
阅读全文
posted @
2012-08-21 13:57
easonoutlook
阅读(6207)
推荐(0)
ASIHTTPRequest 提示#import <libxml/HTMLparser.h>找不到
摘要:使用ASIHTTPRequest 提示#import <libxml/HTMLparser.h>找不到首先添加libxml2框架进来,但是继续报错,然后 在header search path 加入 ${SDK_DIR}/usr/include/libxml2 已经解决网上有人说,还要添加这个选项,我没有添加也解决,留下来作为参考Other Linker Flags 加上-lxml2
阅读全文
posted @
2012-08-16 14:27
easonoutlook
阅读(3821)
推荐(0)
iOS中switch-case的优化用法
摘要:之前使用switch-case的时候一直无法使用声明语句,只能使用调用函数的语句,今天看到了高手使用其实也就是加一个 { } 即可。来自于ATMHud- (void)advancedHudActionForRow:(NSUInteger)row { [hud setBlockTouches:YES]; switch (row) { case 0: [hud setCaption:@"This HUD will auto-hide in 2 seconds."]; [hud show]; [hud hid...
阅读全文
posted @
2012-08-16 11:32
easonoutlook
阅读(22327)
推荐(1)
iOS $99 刀 开发者证书的申请步骤
摘要:主要可以参考以下3个链接,后面会把自己的申请流程完善,然后发出来!1、http://blog.sina.com.cn/s/blog_4c925dca01010x8n.html2、http://www.cocoachina.com/bbs/read.php?tid-7923.html3、http://chuangyiji.com/2011/02/ios-one-day-become-a-successful-application-developers/后续。。。如痴如醉
阅读全文
posted @
2012-08-16 10:12
easonoutlook
阅读(272)
推荐(0)
three20 报出 文件 no such file or directory的原因以及解决方案
摘要:three20的文件已经添加正确,但是报出这个错误之前处理的时候把路径删掉了添加即可在工程配置页,build里Header Search Paths里加入"$(BUILT_PRODUCTS_DIR)/../three20" "$(BUILT_PRODUCTS_DIR)/http://www.cnblogs.com/three20" "$(CONFIGURATION_BUILD_DIR)/http://www.cnblogs.com/three20" 注意引号也要添加上去three20 的 SBJSON 与 sharekit SBJSO
阅读全文
posted @
2012-08-15 20:06
easonoutlook
阅读(288)
推荐(0)
three20.bundle以及 sharekit.bundle多语言无法生效的解决方案
摘要:1、在添加了three20 和 sharekit的项目中,多语言问题之间的切换一直存在问题,只有英语可用 2、主要的解决方式是,把两个工程对应的bundle文件,加入到现有工程中,然后为现有工程添加本地化的资源文件 至少添加两种 English Chinese-Hans 简体中文 其他的语言是否生效,不确定是否在现有工程中需要添加对应的语言资源文件,但是添加多语言之后,本地化语言的问题已经...
阅读全文
posted @
2012-08-15 15:19
easonoutlook
阅读(240)
推荐(0)
新浪微博OAuth2.0 VS OAuth1.0 主要区别总结
摘要:* OAuth2.0不需要签名了。之前所有的复杂的signatureBaseString计算、appSecret、 tokenSecret什么的都成浮云了,现在所有请求不需要签名了。所有二版微博API都使用HTTPS了。* 相对于1.0的Request_Token换Authorization_Code,Authorization_Code再换Access_Token的授权模式,2.0提供了...
阅读全文
posted @
2012-08-13 14:44
easonoutlook
阅读(1728)
推荐(0)
iOS开发中生成随机数方法的选择
摘要:今天在iPhone开发过程中,遇到一个需要生成随机数的问题。很快rand()和arc4random()都进入了考虑范围,但选择的时候感觉有点为难。之前的时候可能没有思索就随便挑一个用了,不过这次良心发现不能太随便了。rand() 和arc4random()到底应该如何取舍呢?调查了下,发现下文很好地解答了这个问题。 在iPhone中有几个内嵌的随机数发生器,很多人的第一反应可能就是在调用如下函数后...
阅读全文
posted @
2012-08-13 13:55
easonoutlook
阅读(982)
推荐(0)
软件开发中的原则
摘要:1 可以理解的才是代码,无法理解的是垃圾 这是我进入公司后印象深刻的第一句话,这句话也让我立刻意识到我之前写过的成千上万行曾经还让我自信满满的代码很可能就是垃圾,因为自从我写过后就不想再去看。从那以后,我就开始为不制造垃圾而努力! 2 最难的是命名 那时导师无论对设计还是代码都要求很严格。代码检查的时候会不时地提出一些命名问题。有的是词不达意,有的是牛头不对马嘴。对于命名问题,被指...
阅读全文
posted @
2012-08-13 13:49
easonoutlook
阅读(177)
推荐(0)
iOS腾讯微博授权,发送文字微博
摘要://请求页所在地址 //https://open.t.qq.com/cgi-bin/oauth2/authorize?client_id=APP_KEY&response_type=token&redirect_uri=http://www.myurl.com/example NSString *requestString = [NSStringstringWithFormat...
阅读全文
posted @
2012-08-11 16:29
easonoutlook
阅读(409)
推荐(0)
iOS 微博 OAuth2.0 分享 文字 + 图片 微博的方法
摘要:也是采用两种方法,先放出第一种方法 //https://upload.api.weibo.com/2/statuses/upload.json //https://api.weibo.com/2/statuses/update.json NSUserDefaults *info = [NSUserDefaultsstandardUserDefaults]; NS...
阅读全文
posted @
2012-08-10 17:43
easonoutlook
阅读(595)
推荐(0)
iOS 微博 OAuth2.0 分享文字微博的方法
摘要:这里以新浪的为例子进行说明,后面会陆续添加; 这里同时提供两种方式,一种是通过ASIFormData的方式来完成 NSURL *url = [[NSURLalloc] initWithString:@"https://api.weibo.com/2/statuses/update.json"]; // statuses/upload ASIFormDataRequest *reque...
阅读全文
posted @
2012-08-10 17:40
easonoutlook
阅读(298)
推荐(0)
MACOS,创建.bash_profile(隐藏文件)
摘要:Start up Terminal Type "cd ~/" to go to your home folder Type "touch .bash_profile" to create your new file. Edit .bash_profile with your favorite editor (or you can just type "open -e .bash_profile"...
阅读全文
posted @
2012-08-07 11:12
easonoutlook
阅读(530)
推荐(0)
ios5中使用Reachability时警告的解决方案
摘要:做ios网络开发的肯定会用到苹果的官方库Reachability。ios5发布了,将项目升级到ios5的过程发一个warning: + (Reachability*) reachabilityWithAddress: (const struct sockaddr_in*) hostAddress; 中 Declaration of 'struct sockaddr_in' will not be ...
阅读全文
posted @
2012-08-06 13:10
easonoutlook
阅读(172)
推荐(0)