摘要: NSObject中非常特别的两个类方法(Class Method)。它们的特别之处,在于iOS会在运行期提前并且自动调用这两个方法,而且很多对于类方法的规则(比如继承,类别(Category))都有不同的处理。而因为这两个方法是在程序运行一开始就被调用的方法,我们可以利用他们在类被使用前,做一些预处理工作。比如我碰到的就是让类自动将自身类名保存到一个NSDictionary中。先来看看NSObject Class Reference里对这两个方法说明:+(void)initializeThe runtime sendsinitializeto each class in a program e 阅读全文
posted @ 2013-01-10 16:01 泪啸 阅读(218) 评论(0) 推荐(0) 编辑
摘要: 举头望明月,低头敲代码满园春色关不住 一串代码飘出来。日照屏幕直冒烟, 遥看代码挂前川。春眠不觉晓,处处敲代码。春宵一刻值千金,完事起来敲代码。洛阳亲友如相问,就说我在敲代码。夜阑卧听风吹雨,做梦还在敲代码。举头望明月,低头敲代码。君当做磐石,我愿敲代码。商女不知亡国恨,一天到晚敲代码。小扣门扉久不开,主人在家敲代码。人面不知何处去,原来伊在敲代码。孤舟蓑笠翁,独自敲代码。风萧萧兮易水寒,壮士要去敲代码。松下问童子,言师敲代码。白发三千丈,BUG改不完。座中BUG谁最多,江州司马青衫湿。两个BUG鸣翠柳,一行代码上西天。天长地久有时尽,BUG绵绵无绝期。看君代码双泪垂,悔不相逢没BUG时。力拔 阅读全文
posted @ 2013-01-09 15:56 泪啸 阅读(486) 评论(0) 推荐(0) 编辑
摘要: 通过分辨率来简单判断iphone5,当然也可以通过获取设备类型来判断//宏定义#define iPhone5 ([UIScreen instancesRespondToSelector:@selector(currentMode)] ? CGSizeEqualToSize(CGSizeMake(640,1136), [[UIScreen mainScreen] currentMode].size) : NO)使用:if(iPhone5){NSLog(@"iphone5");}else{} 阅读全文
posted @ 2012-12-25 14:07 泪啸 阅读(263) 评论(0) 推荐(0) 编辑
摘要: iOS 6的rotation改变了很多。先来看看官方的描述http://www.bgr.com/2012/08/06/ios-6-beta-4-change-log-now-available/知识点:*UIViewController的shouldAutorotateToInterfaceOrientation方法被deprecated。在ios6里,是使用supportedInterfaceOrientations and shouldAutorotate 2个方法来代替shouldAutorotateToInterfaceOrientation。注意:为了向后兼容iOS 4 and 5, 阅读全文
posted @ 2012-12-19 11:00 泪啸 阅读(365) 评论(0) 推荐(0) 编辑
摘要: 一.NSRunLoop在Cocoa中,每个线程(NSThread)对象中内部都有一个run loop(NSRunLoop)对象用来循环处理输入事件,处理的事件包括两类,一是来自Input sources的异步事件,一是来自Timer sources的同步事件;run Loop在处理输入事件时会产生通知,可以通过Core Foundation向线程中添加run-loop observers来监听特定事件,以在监听的事件发生时做附加的处理工作。每个run loop可运行在不同的模式下,一个run loop mode是一个集合,其中包含其监听的若干输入事件源,定时器,以及在事件发生时需要通知的run 阅读全文
posted @ 2012-11-16 16:08 泪啸 阅读(438) 评论(0) 推荐(0) 编辑
摘要: 异常信息:Terminating app due to uncaught exception ‘NSInvalidUnarchiveOperationException’, reason: ‘Could not instantiate class named NSLayoutConstraint‘具体场景:Xcode 4.5 选择iPhone、iPad 5.0/5.1 Simulator(模拟器)解决办法:需要关闭storyboard或xib界面文件的Use Auto Layout 选项,这是因为Auto Layout特性是iOS 6 新增加的,在之前的 5.0/5.1 Simulator模拟 阅读全文
posted @ 2012-10-26 17:10 泪啸 阅读(319) 评论(0) 推荐(0) 编辑
摘要: 在双击home后强制退出,导致保存失败。其实苹果有一个UIApplicationWillResignActiveNotification通知:看代码吧: //首先声明app UIApplication * app= [UIApplication sharedApplication]; //接下来四行是新的功能,能检查设备是否支持后台,老系统和一代的backgroundSupported = NO;支持的自然就是YES啦 UIDevice* device = [UIDevice currentDevice]; BOOL backgroundS... 阅读全文
posted @ 2012-10-25 15:58 泪啸 阅读(298) 评论(0) 推荐(0) 编辑
摘要: 出处:http://www.roostersoftstudios.com/So iOS6 has launched and many who have existing app in production which have the ability to autorotate will need to upgrade to iOS6 eventually and if they are like me they may run into issues when converting converting over to the new SDK.What has changediOS asks 阅读全文
posted @ 2012-10-19 11:00 泪啸 阅读(375) 评论(0) 推荐(0) 编辑
摘要: 在ios6.0中shouldAutorotateToInterfaceOrientation:几乎不在起作用了,ios使用shouldAutorotate来控制旋转效果。我测试ios6.0真正起作用的旋转有三种:1.采用info.plist的UISupportedInterfaceOrientations来控制方向2.是直接在UIWindow中加视图,这种方法可以脱离info.plist的控制,shouldAutorotate来自定义方向。3.使用rootViewController添加shouldAutorotate方法,但是受info.plist的限制。以上的方法都限制于顶层视图控制,如果 阅读全文
posted @ 2012-10-19 10:57 泪啸 阅读(1490) 评论(0) 推荐(0) 编辑
摘要: - (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation //已经相当弱化- (NSUInteger)application:(UIApplication *)application supportedInterfaceOrientationsForWindow:(UIWindow *)window//新增Api,与info.plist设备支持旋转方向神似(区别在于default.png)且注意与UIInterfaceOrientation不同的是这的NSUIntege 阅读全文
posted @ 2012-10-16 10:09 泪啸 阅读(839) 评论(0) 推荐(1) 编辑
摘要: 出处:http://www.cocoachina.com/bbs/read.php?tid=114736截取本区域(self.view):UIGraphicsBeginImageContext(CGSizeMake(self.view.frame.size.width, self.view.frame.size.height));[self.view.layer renderInContext:UIGraphicsGetCurrentContext()];UIImage *viewImage = UIGraphicsGetImageFromCurrentImageContext();UIGra 阅读全文
posted @ 2012-10-14 22:35 泪啸 阅读(1301) 评论(0) 推荐(0) 编辑
摘要: 1. Maps替换Google Map为苹果自行研发3D地图2. Social Network集成新浪微博,Facebook , Twitter等社交网络帐号管理。 < Social.framework >3. Pass Kit提供通行证SDK,可以此为基础开发电子通行证甚至实体物理票务。4. Game Center可调用GKChallenge函数发起游戏挑战;authenticateHandler保存服务端验证信息;支持超时设置;GKAchievement可同时提交多个成就信息。5. ReminderEvent Kit framework提供可定制提醒服务。6. In-App P 阅读全文
posted @ 2012-10-11 16:30 泪啸 阅读(315) 评论(0) 推荐(0) 编辑
摘要: 一、In App Purchase概览Store Kit代表App和App Store之间进行通信。程序将从App Store接收那些你想要提供的产品的信息,并将它们显示出来供用户购买。当用户需要购买某件产品时,程序调用StoreKit来收集购买信息。Store Kit的API只是为程序添加In App Purchase功能的一小部分。你需要决定如何去记录那些你想要提交的产品,如何在程序中将商店功能展现给用户,还要考虑如何将用户购买的产品提交。本章的剩余部分会展示整个流程。Products产品可以是任意一项你想要出售的特性。产品在iTunes Connect中被组织,这和你添加一个新的App是 阅读全文
posted @ 2012-10-09 09:45 泪啸 阅读(680) 评论(0) 推荐(0) 编辑
摘要: /*Erica Sadun, http://ericasadun.comiPhone Developer’s Cookbook, 3.0 EditionBSD License, Use at your own risk*/// Thanks to Emanuele Vulcano, Kevin Ballard/Eridius, Ryandjohnson, Matt Brown, etc.#include <sys/socket.h>// Per msqr#include <sys/sysctl.h>#include <net/if.h>#include &l 阅读全文
posted @ 2012-10-09 09:26 泪啸 阅读(696) 评论(0) 推荐(0) 编辑
摘要: 步骤:1. 在iTunes Connect中启用Game Center。2. 配置程序的Bundle identifier3. 导入Game Kit Framework4. 导入头文件<GameKit/GameKit.h>5. 检测当前设备是否支持Game Center6. 对于不支持Game Center的设备,对Game Kit Framework的引用应改为‘弱引用’(weak link)。7. 程序启动后,认证用户。一、iTunes Connect的配置iTunes Connect Developer Guidehttps://itunesconnect.apple.com 阅读全文
posted @ 2012-10-09 09:22 泪啸 阅读(775) 评论(0) 推荐(0) 编辑