<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Notes of a Developer &#187; iPhone</title>
	<atom:link href="http://www.developers-life.com/tag/iphone/feed" rel="self" type="application/rss+xml" />
	<link>http://www.developers-life.com</link>
	<description>Develop on Objective-C, UIKit, C, OpenGL for  iPhone, iPad, Mac OS X</description>
	<lastBuildDate>Sun, 05 Sep 2010 16:29:15 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Local Notification Sample Code (OS 4.0 only)</title>
		<link>http://www.developers-life.com/local-notification-sample-code-os-4-0-only.html</link>
		<comments>http://www.developers-life.com/local-notification-sample-code-os-4-0-only.html#comments</comments>
		<pubDate>Sun, 13 Jun 2010 21:34:46 +0000</pubDate>
		<dc:creator>Vladimir Boychentsov</dc:creator>
				<category><![CDATA[iPhone]]></category>
		<category><![CDATA[4.0]]></category>
		<category><![CDATA[OS]]></category>
		<category><![CDATA[xCode]]></category>
		<category><![CDATA[Кодинг]]></category>

		<guid isPermaLink="false">http://www.developers-life.com/?p=1051</guid>
		<description><![CDATA[  Resource site 
Start a new Window-based Application Project called LocalPush
Add an instance variable bgTask in LocalPushAppDelegate
Download Sample + 2 books &#8220;iPhoneMemoryManagementFinalVersion&#8221; and &#8220;ES 2.0 Programming Guide&#8221;
@interface LocalPushAppDelegate : NSObject &#123;
&#160; &#160; UIWindow *window;
&#160; &#160; UIBackgroundTaskIdentifier bgTask;
&#125;


It will fire up a Local Notification to remind you one min before the event which is 2 [...]]]></description>
			<content:encoded><![CDATA[<p><noindex> <a href="http://iphonesdkdev.blogspot.com/2010/04/local-push-notification-sample-code-os.html" target="blank"> Resource site</a> </noindex></p>
<p>Start a new Window-based Application Project called LocalPush</p>
<p>Add an instance variable bgTask in LocalPushAppDelegate</p>
<p><a href="http://depositfiles.com/files/tl1knbiq0" style="color:red;">Download Sample</a> + 2 books &#8220;iPhoneMemoryManagementFinalVersion&#8221; and &#8220;ES 2.0 Programming Guide&#8221;</p>
<div class="codecolorer-container objc"><div class="objc codecolorer"><ol><li class="li1"><div class="de1"><span class="kw1">@interface</span> LocalPushAppDelegate <span class="sy0">:</span> <span class="kw5">NSObject</span> <span class="br0">&#123;</span></div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; UIWindow <span class="sy0">*</span>window;</div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; UIBackgroundTaskIdentifier bgTask;</div></li>
<li class="li1"><div class="de1"><span class="br0">&#125;</span></div></li>
</ol></div></div>
<p><a href="http://www.developers-life.com/wp-content/uploads/2010/06/Screen-shot-2010-06-20-at-1.06.08-AM.png" target="_blank"><img class="alignnone size-medium wp-image-1056" title="message from background, iphone OS 4.0" src="http://www.developers-life.com/wp-content/uploads/2010/06/Screen-shot-2010-06-20-at-1.06.08-AM-161x300.png" alt="message from background, iphone OS 4.0" width="161" height="300" /></a></p>
<p>It will fire up a Local Notification to remind you one min before the event which is 2 minutes due from now<br />
<span id="more-1051"></span></p>
<div class="codecolorer-container objc" style="height:1400px;"><div class="objc codecolorer"><ol><li class="li1"><div class="de1"><span class="co2">//</span></div></li>
<li class="li1"><div class="de1"><span class="co2">// LocalPushAppDelegate.m</span></div></li>
<li class="li1"><div class="de1"><span class="co2">// LocalPush</span></div></li>
<li class="li1"><div class="de1"><span class="co2">//</span></div></li>
<li class="li1"><div class="de1">&nbsp;</div></li>
<li class="li1"><div class="de1"><span class="kw1">@interface</span> ToDoItem <span class="sy0">:</span> <span class="kw5">NSObject</span> <span class="br0">&#123;</span></div></li>
<li class="li1"><div class="de1">NSInteger year;</div></li>
<li class="li1"><div class="de1">NSInteger month;</div></li>
<li class="li1"><div class="de1">NSInteger day;</div></li>
<li class="li1"><div class="de1">NSInteger hour;</div></li>
<li class="li1"><div class="de1">NSInteger minute;</div></li>
<li class="li1"><div class="de1">NSInteger second;</div></li>
<li class="li1"><div class="de1"><span class="kw5">NSString</span> <span class="sy0">*</span>eventName;</div></li>
<li class="li1"><div class="de1"><span class="br0">&#125;</span></div></li>
<li class="li1"><div class="de1">&nbsp;</div></li>
<li class="li1"><div class="de1"><span class="kw1">@property</span> <span class="br0">&#40;</span>nonatomic, readwrite<span class="br0">&#41;</span> NSInteger year;</div></li>
<li class="li1"><div class="de1"><span class="kw1">@property</span> <span class="br0">&#40;</span>nonatomic, readwrite<span class="br0">&#41;</span> NSInteger month;</div></li>
<li class="li1"><div class="de1"><span class="kw1">@property</span> <span class="br0">&#40;</span>nonatomic, readwrite<span class="br0">&#41;</span> NSInteger day;</div></li>
<li class="li1"><div class="de1"><span class="kw1">@property</span> <span class="br0">&#40;</span>nonatomic, readwrite<span class="br0">&#41;</span> NSInteger hour;</div></li>
<li class="li1"><div class="de1"><span class="kw1">@property</span> <span class="br0">&#40;</span>nonatomic, readwrite<span class="br0">&#41;</span> NSInteger minute;</div></li>
<li class="li1"><div class="de1"><span class="kw1">@property</span> <span class="br0">&#40;</span>nonatomic, readwrite<span class="br0">&#41;</span> NSInteger second;</div></li>
<li class="li1"><div class="de1"><span class="kw1">@property</span> <span class="br0">&#40;</span>nonatomic, copy<span class="br0">&#41;</span> <span class="kw5">NSString</span> <span class="sy0">*</span>eventName;</div></li>
<li class="li1"><div class="de1">&nbsp;</div></li>
<li class="li1"><div class="de1"><span class="kw1">@end</span></div></li>
<li class="li1"><div class="de1">&nbsp;</div></li>
<li class="li1"><div class="de1"><span class="kw1">@implementation</span> ToDoItem</div></li>
<li class="li1"><div class="de1"><span class="kw1">@synthesize</span> year, month, day, hour, minute, second, eventName;</div></li>
<li class="li1"><div class="de1"><span class="kw1">@end</span></div></li>
<li class="li1"><div class="de1">&nbsp;</div></li>
<li class="li1"><div class="de1">&nbsp;</div></li>
<li class="li1"><div class="de1">&nbsp;</div></li>
<li class="li1"><div class="de1">&nbsp;</div></li>
<li class="li1"><div class="de1"><span class="co1">#import &quot;LocalPushAppDelegate.h&quot;</span></div></li>
<li class="li1"><div class="de1">&nbsp;</div></li>
<li class="li1"><div class="de1"><span class="kw1">@implementation</span> LocalPushAppDelegate</div></li>
<li class="li1"><div class="de1">&nbsp;</div></li>
<li class="li1"><div class="de1"><span class="kw1">@synthesize</span> window;</div></li>
<li class="li1"><div class="de1">&nbsp;</div></li>
<li class="li1"><div class="de1"><span class="co1">#define ToDoItemKey @&quot;EVENTKEY1&quot;</span></div></li>
<li class="li1"><div class="de1"><span class="co1">#define MessageTitleKey @&quot;MSGKEY1&quot;</span></div></li>
<li class="li1"><div class="de1">&nbsp;</div></li>
<li class="li1"><div class="de1">&nbsp;</div></li>
<li class="li1"><div class="de1"><span class="sy0">-</span> <span class="br0">&#40;</span><span class="kw4">BOOL</span><span class="br0">&#41;</span>application<span class="sy0">:</span><span class="br0">&#40;</span>UIApplication <span class="sy0">*</span><span class="br0">&#41;</span>application didFinishLaunchingWithOptions<span class="sy0">:</span><span class="br0">&#40;</span><span class="kw5">NSDictionary</span> <span class="sy0">*</span><span class="br0">&#41;</span>launchOptions <span class="br0">&#123;</span></div></li>
<li class="li1"><div class="de1">NSLog<span class="br0">&#40;</span><span class="co3">@</span><span class="st0">&quot;application: didFinishLaunchingWithOptions:&quot;</span><span class="br0">&#41;</span>;</div></li>
<li class="li1"><div class="de1"><span class="co2">// Override point for customization after application launch</span></div></li>
<li class="li1"><div class="de1">&nbsp;</div></li>
<li class="li1"><div class="de1">UILocalNotification <span class="sy0">*</span>localNotif <span class="sy0">=</span> <span class="br0">&#91;</span>launchOptions</div></li>
<li class="li1"><div class="de1">objectForKey<span class="sy0">:</span>UIApplicationLaunchOptionsLocalNotificationKey<span class="br0">&#93;</span>;</div></li>
<li class="li1"><div class="de1">&nbsp;</div></li>
<li class="li1"><div class="de1"><span class="kw1">if</span> <span class="br0">&#40;</span>localNotif<span class="br0">&#41;</span> <span class="br0">&#123;</span></div></li>
<li class="li1"><div class="de1"><span class="kw5">NSString</span> <span class="sy0">*</span>itemName <span class="sy0">=</span> <span class="br0">&#91;</span>localNotif.userInfo objectForKey<span class="sy0">:</span>ToDoItemKey<span class="br0">&#93;</span>;</div></li>
<li class="li1"><div class="de1"><span class="co2">// [viewController displayItem:itemName]; // custom method</span></div></li>
<li class="li1"><div class="de1">application.applicationIconBadgeNumber <span class="sy0">=</span> localNotif.applicationIconBadgeNumber<span class="sy0">-</span><span class="nu0">1</span>;</div></li>
<li class="li1"><div class="de1">NSLog<span class="br0">&#40;</span><span class="co3">@</span><span class="st0">&quot;has localNotif %@&quot;</span>,itemName<span class="br0">&#41;</span>;</div></li>
<li class="li1"><div class="de1"><span class="br0">&#125;</span></div></li>
<li class="li1"><div class="de1"><span class="kw1">else</span> <span class="br0">&#123;</span></div></li>
<li class="li1"><div class="de1"><span class="br0">&#91;</span><span class="br0">&#91;</span>UIApplication sharedApplication<span class="br0">&#93;</span> cancelAllLocalNotifications<span class="br0">&#93;</span>;</div></li>
<li class="li1"><div class="de1"><span class="kw5">NSDate</span> <span class="sy0">*</span>now <span class="sy0">=</span> <span class="br0">&#91;</span><span class="kw5">NSDate</span> date<span class="br0">&#93;</span>;</div></li>
<li class="li1"><div class="de1">NSLog<span class="br0">&#40;</span><span class="co3">@</span><span class="st0">&quot;now is %@&quot;</span>,now<span class="br0">&#41;</span>;</div></li>
<li class="li1"><div class="de1"><span class="kw5">NSDate</span> <span class="sy0">*</span>scheduled <span class="sy0">=</span> <span class="br0">&#91;</span>now dateByAddingTimeInterval<span class="sy0">:</span><span class="nu0">120</span><span class="br0">&#93;</span> ; <span class="co2">//get x minute after</span></div></li>
<li class="li1"><div class="de1"><span class="kw5">NSCalendar</span> <span class="sy0">*</span>calendar <span class="sy0">=</span> <span class="br0">&#91;</span><span class="kw5">NSCalendar</span> currentCalendar<span class="br0">&#93;</span>;</div></li>
<li class="li1"><div class="de1">&nbsp;</div></li>
<li class="li1"><div class="de1"><span class="kw4">unsigned</span> <span class="kw4">int</span> unitFlags <span class="sy0">=</span> NSYearCalendarUnit|NSMonthCalendarUnit|NSDayCalendarUnit|NSHourCalendarUnit|NSMinuteCalendarUnit;</div></li>
<li class="li1"><div class="de1"><span class="kw5">NSDateComponents</span> <span class="sy0">*</span>comp <span class="sy0">=</span> <span class="br0">&#91;</span>calendar components<span class="sy0">:</span>unitFlags fromDate<span class="sy0">:</span>scheduled<span class="br0">&#93;</span>;</div></li>
<li class="li1"><div class="de1">&nbsp;</div></li>
<li class="li1"><div class="de1">NSLog<span class="br0">&#40;</span><span class="co3">@</span><span class="st0">&quot;scheduled is %@&quot;</span>,scheduled<span class="br0">&#41;</span>;</div></li>
<li class="li1"><div class="de1">&nbsp;</div></li>
<li class="li1"><div class="de1">ToDoItem <span class="sy0">*</span>todoitem <span class="sy0">=</span> <span class="br0">&#91;</span><span class="br0">&#91;</span>ToDoItem alloc<span class="br0">&#93;</span> init<span class="br0">&#93;</span>;</div></li>
<li class="li1"><div class="de1">&nbsp;</div></li>
<li class="li1"><div class="de1">todoitem.day <span class="sy0">=</span> <span class="br0">&#91;</span>comp day<span class="br0">&#93;</span>;</div></li>
<li class="li1"><div class="de1">todoitem.month <span class="sy0">=</span> <span class="br0">&#91;</span>comp month<span class="br0">&#93;</span>;</div></li>
<li class="li1"><div class="de1">todoitem.year <span class="sy0">=</span> <span class="br0">&#91;</span>comp year<span class="br0">&#93;</span>;</div></li>
<li class="li1"><div class="de1">todoitem.hour <span class="sy0">=</span> <span class="br0">&#91;</span>comp hour<span class="br0">&#93;</span>;</div></li>
<li class="li1"><div class="de1">todoitem.minute <span class="sy0">=</span> <span class="br0">&#91;</span>comp minute<span class="br0">&#93;</span>;</div></li>
<li class="li1"><div class="de1">todoitem.eventName <span class="sy0">=</span> <span class="co3">@</span><span class="st0">&quot;Testing Event&quot;</span>;</div></li>
<li class="li1"><div class="de1">&nbsp;</div></li>
<li class="li1"><div class="de1"><span class="br0">&#91;</span>self scheduleNotificationWithItem<span class="sy0">:</span>todoitem interval<span class="sy0">:</span><span class="nu0">1</span><span class="br0">&#93;</span>;</div></li>
<li class="li1"><div class="de1">NSLog<span class="br0">&#40;</span><span class="co3">@</span><span class="st0">&quot;scheduleNotificationWithItem&quot;</span><span class="br0">&#41;</span>;</div></li>
<li class="li1"><div class="de1"><span class="br0">&#125;</span></div></li>
<li class="li1"><div class="de1"><span class="br0">&#91;</span>window makeKeyAndVisible<span class="br0">&#93;</span>;</div></li>
<li class="li1"><div class="de1"><span class="kw1">return</span> <span class="kw2">YES</span>;</div></li>
<li class="li1"><div class="de1"><span class="br0">&#125;</span></div></li>
<li class="li1"><div class="de1">&nbsp;</div></li>
<li class="li1"><div class="de1"><span class="sy0">-</span> <span class="br0">&#40;</span><span class="kw4">void</span><span class="br0">&#41;</span>application<span class="sy0">:</span><span class="br0">&#40;</span>UIApplication <span class="sy0">*</span><span class="br0">&#41;</span>application didReceiveLocalNotification<span class="sy0">:</span><span class="br0">&#40;</span>UILocalNotification <span class="sy0">*</span><span class="br0">&#41;</span>notif <span class="br0">&#123;</span></div></li>
<li class="li1"><div class="de1">NSLog<span class="br0">&#40;</span><span class="co3">@</span><span class="st0">&quot;application: didReceiveLocalNotification:&quot;</span><span class="br0">&#41;</span>;</div></li>
<li class="li1"><div class="de1"><span class="kw5">NSString</span> <span class="sy0">*</span>itemName <span class="sy0">=</span> <span class="br0">&#91;</span>notif.userInfo objectForKey<span class="sy0">:</span>ToDoItemKey<span class="br0">&#93;</span>;</div></li>
<li class="li1"><div class="de1"><span class="kw5">NSString</span> <span class="sy0">*</span>messageTitle <span class="sy0">=</span> <span class="br0">&#91;</span>notif.userInfo objectForKey<span class="sy0">:</span>MessageTitleKey<span class="br0">&#93;</span>;</div></li>
<li class="li1"><div class="de1"><span class="co2">// [viewController displayItem:itemName]; // custom method</span></div></li>
<li class="li1"><div class="de1"><span class="br0">&#91;</span>self _showAlert<span class="sy0">:</span>itemName withTitle<span class="sy0">:</span>messageTitle<span class="br0">&#93;</span>;</div></li>
<li class="li1"><div class="de1">NSLog<span class="br0">&#40;</span><span class="co3">@</span><span class="st0">&quot;Receive Local Notification while the app is still running...&quot;</span><span class="br0">&#41;</span>;</div></li>
<li class="li1"><div class="de1">NSLog<span class="br0">&#40;</span><span class="co3">@</span><span class="st0">&quot;current notification is %@&quot;</span>,notif<span class="br0">&#41;</span>;</div></li>
<li class="li1"><div class="de1">application.applicationIconBadgeNumber <span class="sy0">=</span> notif.applicationIconBadgeNumber<span class="sy0">-</span><span class="nu0">1</span>;</div></li>
<li class="li1"><div class="de1">&nbsp;</div></li>
<li class="li1"><div class="de1"><span class="br0">&#125;</span></div></li>
<li class="li1"><div class="de1">&nbsp;</div></li>
<li class="li1"><div class="de1"><span class="sy0">-</span> <span class="br0">&#40;</span><span class="kw4">void</span><span class="br0">&#41;</span> _showAlert<span class="sy0">:</span><span class="br0">&#40;</span><span class="kw5">NSString</span><span class="sy0">*</span><span class="br0">&#41;</span>pushmessage withTitle<span class="sy0">:</span><span class="br0">&#40;</span><span class="kw5">NSString</span><span class="sy0">*</span><span class="br0">&#41;</span>title</div></li>
<li class="li1"><div class="de1"><span class="br0">&#123;</span></div></li>
<li class="li1"><div class="de1">&nbsp;</div></li>
<li class="li1"><div class="de1">UIAlertView<span class="sy0">*</span> alertView <span class="sy0">=</span> <span class="br0">&#91;</span><span class="br0">&#91;</span>UIAlertView alloc<span class="br0">&#93;</span> initWithTitle<span class="sy0">:</span>title message<span class="sy0">:</span>pushmessage delegate<span class="sy0">:</span>self cancelButtonTitle<span class="sy0">:</span><span class="co3">@</span><span class="st0">&quot;OK&quot;</span> otherButtonTitles<span class="sy0">:</span><span class="kw2">nil</span><span class="br0">&#93;</span>;</div></li>
<li class="li1"><div class="de1"><span class="br0">&#91;</span>alertView show<span class="br0">&#93;</span>;</div></li>
<li class="li1"><div class="de1"><span class="kw1">if</span> <span class="br0">&#40;</span>alertView<span class="br0">&#41;</span> <span class="br0">&#123;</span></div></li>
<li class="li1"><div class="de1"><span class="br0">&#91;</span>alertView release<span class="br0">&#93;</span>;</div></li>
<li class="li1"><div class="de1"><span class="br0">&#125;</span></div></li>
<li class="li1"><div class="de1"><span class="br0">&#125;</span></div></li>
<li class="li1"><div class="de1">&nbsp;</div></li>
<li class="li1"><div class="de1">&nbsp;</div></li>
<li class="li1"><div class="de1"><span class="sy0">-</span> <span class="br0">&#40;</span><span class="kw4">void</span><span class="br0">&#41;</span>scheduleNotificationWithItem<span class="sy0">:</span><span class="br0">&#40;</span>ToDoItem <span class="sy0">*</span><span class="br0">&#41;</span>item interval<span class="sy0">:</span><span class="br0">&#40;</span><span class="kw4">int</span><span class="br0">&#41;</span>minutesBefore <span class="br0">&#123;</span></div></li>
<li class="li1"><div class="de1"><span class="kw5">NSCalendar</span> <span class="sy0">*</span>calendar <span class="sy0">=</span> <span class="br0">&#91;</span><span class="kw5">NSCalendar</span> autoupdatingCurrentCalendar<span class="br0">&#93;</span>;</div></li>
<li class="li1"><div class="de1"><span class="kw5">NSDateComponents</span> <span class="sy0">*</span>dateComps <span class="sy0">=</span> <span class="br0">&#91;</span><span class="br0">&#91;</span><span class="kw5">NSDateComponents</span> alloc<span class="br0">&#93;</span> init<span class="br0">&#93;</span>;</div></li>
<li class="li1"><div class="de1"><span class="br0">&#91;</span>dateComps setDay<span class="sy0">:</span>item.day<span class="br0">&#93;</span>;</div></li>
<li class="li1"><div class="de1"><span class="br0">&#91;</span>dateComps setMonth<span class="sy0">:</span>item.month<span class="br0">&#93;</span>;</div></li>
<li class="li1"><div class="de1"><span class="br0">&#91;</span>dateComps setYear<span class="sy0">:</span>item.year<span class="br0">&#93;</span>;</div></li>
<li class="li1"><div class="de1"><span class="br0">&#91;</span>dateComps setHour<span class="sy0">:</span>item.hour<span class="br0">&#93;</span>;</div></li>
<li class="li1"><div class="de1"><span class="br0">&#91;</span>dateComps setMinute<span class="sy0">:</span>item.minute<span class="br0">&#93;</span>;</div></li>
<li class="li1"><div class="de1"><span class="kw5">NSDate</span> <span class="sy0">*</span>itemDate <span class="sy0">=</span> <span class="br0">&#91;</span>calendar dateFromComponents<span class="sy0">:</span>dateComps<span class="br0">&#93;</span>;</div></li>
<li class="li1"><div class="de1"><span class="br0">&#91;</span>dateComps release<span class="br0">&#93;</span>;</div></li>
<li class="li1"><div class="de1">&nbsp;</div></li>
<li class="li1"><div class="de1">&nbsp;</div></li>
<li class="li1"><div class="de1">UILocalNotification <span class="sy0">*</span>localNotif <span class="sy0">=</span> <span class="br0">&#91;</span><span class="br0">&#91;</span>UILocalNotification alloc<span class="br0">&#93;</span> init<span class="br0">&#93;</span>;</div></li>
<li class="li1"><div class="de1"><span class="kw1">if</span> <span class="br0">&#40;</span>localNotif <span class="sy0">==</span> <span class="kw2">nil</span><span class="br0">&#41;</span></div></li>
<li class="li1"><div class="de1"><span class="kw1">return</span>;</div></li>
<li class="li1"><div class="de1">localNotif.fireDate <span class="sy0">=</span> <span class="br0">&#91;</span>itemDate dateByAddingTimeInterval<span class="sy0">:-</span><span class="br0">&#40;</span>minutesBefore<span class="sy0">*</span><span class="nu0">60</span><span class="br0">&#41;</span><span class="br0">&#93;</span>;</div></li>
<li class="li1"><div class="de1">NSLog<span class="br0">&#40;</span><span class="co3">@</span><span class="st0">&quot;fireDate is %@&quot;</span>,localNotif.fireDate<span class="br0">&#41;</span>;</div></li>
<li class="li1"><div class="de1">localNotif.timeZone <span class="sy0">=</span> <span class="br0">&#91;</span><span class="kw5">NSTimeZone</span> defaultTimeZone<span class="br0">&#93;</span>;</div></li>
<li class="li1"><div class="de1">&nbsp;</div></li>
<li class="li1"><div class="de1">localNotif.alertBody <span class="sy0">=</span> <span class="br0">&#91;</span><span class="kw5">NSString</span> stringWithFormat<span class="sy0">:</span>NSLocalizedString<span class="br0">&#40;</span><span class="co3">@</span><span class="st0">&quot;%@ in %i minutes.&quot;</span>, <span class="kw2">nil</span><span class="br0">&#41;</span>,</div></li>
<li class="li1"><div class="de1">item.eventName, minutesBefore<span class="br0">&#93;</span>;</div></li>
<li class="li1"><div class="de1">localNotif.alertAction <span class="sy0">=</span> NSLocalizedString<span class="br0">&#40;</span><span class="co3">@</span><span class="st0">&quot;View Details&quot;</span>, <span class="kw2">nil</span><span class="br0">&#41;</span>;</div></li>
<li class="li1"><div class="de1">&nbsp;</div></li>
<li class="li1"><div class="de1">localNotif.soundName <span class="sy0">=</span> UILocalNotificationDefaultSoundName;</div></li>
<li class="li1"><div class="de1">localNotif.applicationIconBadgeNumber <span class="sy0">=</span> <span class="nu0">1</span>;</div></li>
<li class="li1"><div class="de1"><span class="co2">// NSDictionary *infoDict = [NSDictionary dictionaryWithObject:item.eventName forKey:ToDoItemKey];</span></div></li>
<li class="li1"><div class="de1"><span class="kw5">NSDictionary</span> <span class="sy0">*</span>infoDict <span class="sy0">=</span> <span class="br0">&#91;</span><span class="kw5">NSDictionary</span> dictionaryWithObjectsAndKeys<span class="sy0">:</span>item.eventName,ToDoItemKey, <span class="co3">@</span><span class="st0">&quot;Local Push received while running&quot;</span>, MessageTitleKey, <span class="kw2">nil</span><span class="br0">&#93;</span>;</div></li>
<li class="li1"><div class="de1">localNotif.userInfo <span class="sy0">=</span> infoDict;</div></li>
<li class="li1"><div class="de1">&nbsp;</div></li>
<li class="li1"><div class="de1"><span class="br0">&#91;</span><span class="br0">&#91;</span>UIApplication sharedApplication<span class="br0">&#93;</span> scheduleLocalNotification<span class="sy0">:</span>localNotif<span class="br0">&#93;</span>;</div></li>
<li class="li1"><div class="de1">NSLog<span class="br0">&#40;</span><span class="co3">@</span><span class="st0">&quot;scheduledLocalNotifications are %@&quot;</span>, <span class="br0">&#91;</span><span class="br0">&#91;</span>UIApplication sharedApplication<span class="br0">&#93;</span> scheduledLocalNotifications<span class="br0">&#93;</span><span class="br0">&#41;</span>;</div></li>
<li class="li1"><div class="de1"><span class="br0">&#91;</span>localNotif release<span class="br0">&#93;</span>;</div></li>
<li class="li1"><div class="de1"><span class="br0">&#125;</span></div></li>
<li class="li1"><div class="de1">&nbsp;</div></li>
<li class="li1"><div class="de1"><span class="sy0">-</span> <span class="br0">&#40;</span><span class="kw5">NSString</span> <span class="sy0">*</span><span class="br0">&#41;</span> checkForIncomingChat <span class="br0">&#123;</span></div></li>
<li class="li1"><div class="de1"><span class="kw1">return</span> <span class="co3">@</span><span class="st0">&quot;javacom&quot;</span>;</div></li>
<li class="li1"><div class="de1"><span class="br0">&#125;</span>;</div></li>
<li class="li1"><div class="de1">&nbsp;</div></li>
<li class="li1"><div class="de1"><span class="sy0">-</span> <span class="br0">&#40;</span><span class="kw4">void</span><span class="br0">&#41;</span>applicationDidEnterBackground<span class="sy0">:</span><span class="br0">&#40;</span>UIApplication <span class="sy0">*</span><span class="br0">&#41;</span>application <span class="br0">&#123;</span></div></li>
<li class="li1"><div class="de1">NSLog<span class="br0">&#40;</span><span class="co3">@</span><span class="st0">&quot;Application entered background state.&quot;</span><span class="br0">&#41;</span>;</div></li>
<li class="li1"><div class="de1"><span class="co2">// UIBackgroundTaskIdentifier bgTask is instance variable</span></div></li>
<li class="li1"><div class="de1">NSAssert<span class="br0">&#40;</span>self<span class="sy0">-</span>&gt;bgTask <span class="sy0">==</span> UIBackgroundTaskInvalid, <span class="kw2">nil</span><span class="br0">&#41;</span>;</div></li>
<li class="li1"><div class="de1">&nbsp;</div></li>
<li class="li1"><div class="de1">bgTask <span class="sy0">=</span> <span class="br0">&#91;</span>application beginBackgroundTaskWithExpirationHandler<span class="sy0">:</span> <span class="sy0">^</span><span class="br0">&#123;</span></div></li>
<li class="li1"><div class="de1">dispatch_async<span class="br0">&#40;</span>dispatch_get_main_queue<span class="br0">&#40;</span><span class="br0">&#41;</span>, <span class="sy0">^</span><span class="br0">&#123;</span></div></li>
<li class="li1"><div class="de1"><span class="br0">&#91;</span>application endBackgroundTask<span class="sy0">:</span>self<span class="sy0">-</span>&gt;bgTask<span class="br0">&#93;</span>;</div></li>
<li class="li1"><div class="de1">self<span class="sy0">-</span>&gt;bgTask <span class="sy0">=</span> UIBackgroundTaskInvalid;</div></li>
<li class="li1"><div class="de1"><span class="br0">&#125;</span><span class="br0">&#41;</span>;</div></li>
<li class="li1"><div class="de1"><span class="br0">&#125;</span><span class="br0">&#93;</span>;</div></li>
<li class="li1"><div class="de1">&nbsp;</div></li>
<li class="li1"><div class="de1">dispatch_async<span class="br0">&#40;</span>dispatch_get_main_queue<span class="br0">&#40;</span><span class="br0">&#41;</span>, <span class="sy0">^</span><span class="br0">&#123;</span></div></li>
<li class="li1"><div class="de1"><span class="kw1">while</span> <span class="br0">&#40;</span><span class="br0">&#91;</span>application backgroundTimeRemaining<span class="br0">&#93;</span> &gt; <span class="nu0">1.0</span><span class="br0">&#41;</span> <span class="br0">&#123;</span></div></li>
<li class="li1"><div class="de1"><span class="kw5">NSString</span> <span class="sy0">*</span>friend <span class="sy0">=</span> <span class="br0">&#91;</span>self checkForIncomingChat<span class="br0">&#93;</span>;</div></li>
<li class="li1"><div class="de1"><span class="kw1">if</span> <span class="br0">&#40;</span>friend<span class="br0">&#41;</span> <span class="br0">&#123;</span></div></li>
<li class="li1"><div class="de1">UILocalNotification <span class="sy0">*</span>localNotif <span class="sy0">=</span> <span class="br0">&#91;</span><span class="br0">&#91;</span>UILocalNotification alloc<span class="br0">&#93;</span> init<span class="br0">&#93;</span>;</div></li>
<li class="li1"><div class="de1"><span class="kw1">if</span> <span class="br0">&#40;</span>localNotif<span class="br0">&#41;</span> <span class="br0">&#123;</span></div></li>
<li class="li1"><div class="de1">localNotif.alertBody <span class="sy0">=</span> <span class="br0">&#91;</span><span class="kw5">NSString</span> stringWithFormat<span class="sy0">:</span></div></li>
<li class="li1"><div class="de1">NSLocalizedString<span class="br0">&#40;</span><span class="co3">@</span><span class="st0">&quot;%@ has a message for you.&quot;</span>, <span class="kw2">nil</span><span class="br0">&#41;</span>, friend<span class="br0">&#93;</span>;</div></li>
<li class="li1"><div class="de1">localNotif.alertAction <span class="sy0">=</span> NSLocalizedString<span class="br0">&#40;</span><span class="co3">@</span><span class="st0">&quot;Read Msg&quot;</span>, <span class="kw2">nil</span><span class="br0">&#41;</span>;</div></li>
<li class="li1"><div class="de1">localNotif.soundName <span class="sy0">=</span> <span class="co3">@</span><span class="st0">&quot;alarmsound.caf&quot;</span>;</div></li>
<li class="li1"><div class="de1">localNotif.applicationIconBadgeNumber <span class="sy0">=</span> <span class="nu0">1</span>;</div></li>
<li class="li1"><div class="de1"><span class="kw5">NSDictionary</span> <span class="sy0">*</span>infoDict <span class="sy0">=</span> <span class="br0">&#91;</span><span class="kw5">NSDictionary</span> dictionaryWithObjectsAndKeys<span class="sy0">:</span><span class="co3">@</span><span class="st0">&quot;Your Background Task works&quot;</span>,ToDoItemKey, <span class="co3">@</span><span class="st0">&quot;Message from javacom&quot;</span>, MessageTitleKey, <span class="kw2">nil</span><span class="br0">&#93;</span>;</div></li>
<li class="li1"><div class="de1">localNotif.userInfo <span class="sy0">=</span> infoDict;</div></li>
<li class="li1"><div class="de1"><span class="br0">&#91;</span>application presentLocalNotificationNow<span class="sy0">:</span>localNotif<span class="br0">&#93;</span>;</div></li>
<li class="li1"><div class="de1"><span class="br0">&#91;</span>localNotif release<span class="br0">&#93;</span>;</div></li>
<li class="li1"><div class="de1">friend <span class="sy0">=</span> <span class="kw2">nil</span>;</div></li>
<li class="li1"><div class="de1"><span class="kw2">break</span>;</div></li>
<li class="li1"><div class="de1"><span class="br0">&#125;</span></div></li>
<li class="li1"><div class="de1"><span class="br0">&#125;</span></div></li>
<li class="li1"><div class="de1"><span class="br0">&#125;</span></div></li>
<li class="li1"><div class="de1"><span class="br0">&#91;</span>application endBackgroundTask<span class="sy0">:</span>self<span class="sy0">-</span>&gt;bgTask<span class="br0">&#93;</span>;</div></li>
<li class="li1"><div class="de1">self<span class="sy0">-</span>&gt;bgTask <span class="sy0">=</span> UIBackgroundTaskInvalid;</div></li>
<li class="li1"><div class="de1"><span class="br0">&#125;</span><span class="br0">&#41;</span>;</div></li>
<li class="li1"><div class="de1"><span class="br0">&#125;</span></div></li>
<li class="li1"><div class="de1">&nbsp;</div></li>
<li class="li1"><div class="de1">&nbsp;</div></li>
<li class="li1"><div class="de1"><span class="sy0">-</span> <span class="br0">&#40;</span><span class="kw4">void</span><span class="br0">&#41;</span>dealloc <span class="br0">&#123;</span></div></li>
<li class="li1"><div class="de1"><span class="br0">&#91;</span>window release<span class="br0">&#93;</span>;</div></li>
<li class="li1"><div class="de1"><span class="br0">&#91;</span>super dealloc<span class="br0">&#93;</span>;</div></li>
<li class="li1"><div class="de1"><span class="br0">&#125;</span></div></li>
<li class="li1"><div class="de1"><span class="kw1">@end</span></div></li>
</ol></div></div>
]]></content:encoded>
			<wfw:commentRss>http://www.developers-life.com/local-notification-sample-code-os-4-0-only.html/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Эксперемент</title>
		<link>http://www.developers-life.com/an-experiment.html</link>
		<comments>http://www.developers-life.com/an-experiment.html#comments</comments>
		<pubDate>Sun, 13 Jun 2010 18:54:48 +0000</pubDate>
		<dc:creator>Vladimir Boychentsov</dc:creator>
				<category><![CDATA[iPad]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[Jailbreak]]></category>
		<category><![CDATA[OS]]></category>
		<category><![CDATA[Private]]></category>
		<category><![CDATA[xCode]]></category>
		<category><![CDATA[Кодинг]]></category>

		<guid isPermaLink="false">http://www.developers-life.com/?p=1045</guid>
		<description><![CDATA[     Написал простенькую программку ради эксперимента. С помощью программы можно ходит по корневому разделу системы, без Jailbreak. Если кто-то имеет опыт как создать фаил в директории не принадлежащей программе,  без взлома устройства, и поделится! Буду очень признателен!

И собственно сам код
]]></description>
			<content:encoded><![CDATA[<p>     Написал простенькую программку ради эксперимента. С помощью программы можно ходит по корневому разделу системы, без Jailbreak. Если кто-то имеет опыт как создать фаил в директории не принадлежащей программе,  без взлома устройства, и поделится! Буду очень признателен!</p>
<p><a href="http://www.developers-life.com/wp-content/uploads/2010/06/photo.PNG" target="_blank"><img class="alignnone size-medium wp-image-1046" title="photo" src="http://www.developers-life.com/wp-content/uploads/2010/06/photo-225x300.PNG" alt="photo" width="158" height="210" /></a></p>
<p>И собственно <a href="http://depositfiles.com/files/t9uviw3z0" target="_blank">сам код</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.developers-life.com/an-experiment.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>UIImage and Memory</title>
		<link>http://www.developers-life.com/uiimage-and-memory.html</link>
		<comments>http://www.developers-life.com/uiimage-and-memory.html#comments</comments>
		<pubDate>Thu, 10 Jun 2010 11:43:22 +0000</pubDate>
		<dc:creator>Vladimir Boychentsov</dc:creator>
				<category><![CDATA[OOP]]></category>
		<category><![CDATA[iPad]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[Memory]]></category>
		<category><![CDATA[objective-c]]></category>
		<category><![CDATA[UIImage]]></category>
		<category><![CDATA[UIKit]]></category>
		<category><![CDATA[Ukraine]]></category>
		<category><![CDATA[work]]></category>
		<category><![CDATA[Кодинг]]></category>

		<guid isPermaLink="false">http://www.developers-life.com/?p=1023</guid>
		<description><![CDATA[+[UIImage imageNamed:]
• Reads the ﬁle, uncompresses it, caches result
• Cached copy of data is kept even if the UIImage is deallocated
• Low memory condition causes cache to be purged.
• No direct control over when cache is purged.
• Use for small frequently drawn images.
+[UIImage imageWithContentsOfFile:]
• Just reads enough of ﬁle to determine if it can open [...]]]></description>
			<content:encoded><![CDATA[<p>+[UIImage imageNamed:]<br />
• Reads the ﬁle, uncompresses it, caches result<br />
• Cached copy of data is kept even if the UIImage is deallocated<br />
• Low memory condition causes cache to be purged.<br />
• No direct control over when cache is purged.<br />
• Use for small frequently drawn images.</p>
<p>+[UIImage imageWithContentsOfFile:]<br />
• Just reads enough of ﬁle to determine if it can open the ﬁle.<br />
• Reads and uncompresses the ﬁle each time it draws. Uses uncompressed size worth of memory only temporarily.<br />
• Assigning a UIImage created this way to a UIImageView or as the contents of a CALayer also causes it to read and uncompress the ﬁle. The UIImageView or CALayer keep the expanded version.<br />
<span id="more-1023"></span><br />
Memory Usage (in MB) 8.6 MB image used with UIImageView</p>
<table border="0" style="filter:none;font-size:12pt; border: 1px solid;">
<tr>
<td></td>
<td >imageNamed</td>
<td >imageWithContentsofFile</td>
</tr>
<tr>
<td >Initial</td>
<td>2.46</td>
<td>2.46</td>
</tr>
<tr>
<td>Load UIImage</td>
<td>11.12</td>
<td>2.51</td>
</tr>
<tr>
<td>Assign to UIImageView</td>
<td>11.09</td>
<td>11.09</td>
</tr>
<tr>
<td>Remove from UIImageView</td>
<td>11.12</td>
<td>2.51</td>
</tr>
</table>
<p>Memory Usage (in MB) 8.6 MB image used with UIView subclass (stored in instance variable and drawn with drawinRect: )</p>
<table border="0" style="filter:none; border: 1px solid;">
<tbody>
<tr>
<td></td>
<td>imageNamed</td>
<td>imageWithContentsofFile</td>
</tr>
<tr>
<td>Initial</td>
<td>2.73</td>
<td>2.73</td>
</tr>
<tr>
<td>Load UIImage</td>
<td>11.38</td>
<td>2.78</td>
</tr>
<tr>
<td>Assign to UIImageView</td>
<td>11.81</td>
<td>3.20</td>
</tr>
<tr>
<td>Remove from UIImageView</td>
<td>11.84</td>
<td>3.04</td>
</tr>
</tbody>
</table>
<p>Спасибо за некоторые пояснения Андрею Копаневу :)</p>
<p><a href="https://docs.google.com/fileview?id=0B2KSahvz-4DXOTFhM2Y5MzQtODkyZC00N2ExLWE0MWQtNjI2N2NiYTBkNzZh&amp;hl=ru">И вот этому документу</a> &#8211; Robert Clair</p>
]]></content:encoded>
			<wfw:commentRss>http://www.developers-life.com/uiimage-and-memory.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>iPhone 3D Samples from &#8220;iPhone 3D Programming&#8221; book</title>
		<link>http://www.developers-life.com/iphone-3d-samples.html</link>
		<comments>http://www.developers-life.com/iphone-3d-samples.html#comments</comments>
		<pubDate>Wed, 09 Jun 2010 13:35:34 +0000</pubDate>
		<dc:creator>Vladimir Boychentsov</dc:creator>
				<category><![CDATA[Apple]]></category>
		<category><![CDATA[OOP]]></category>
		<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[iPad]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[Book]]></category>
		<category><![CDATA[C]]></category>
		<category><![CDATA[ES 2.0]]></category>
		<category><![CDATA[OpenGL]]></category>
		<category><![CDATA[Кодинг]]></category>

		<guid isPermaLink="false">http://www.developers-life.com/?p=1010</guid>
		<description><![CDATA[iPhone 3D Samples from &#8220;iPhone 3D Programming Developing Graphical Applications with OpenGL ES&#8221; book.
Thanks Frank and Doris Rideout and O&#8217;REILLY
31 iPhone 3D Samples OpenGL ES 1.1 and 2.0

All links direct to http://examples.oreilly.com/
All Samples
HelloArrow


HelloCone

TouchCone

ModelViewer.SimpleWireframe

ModelViewer.VertexLighting

ModelViewer.PixelLighting

ModelViewer.ToonLighting

ModelViewer.FancyWireframe

ModelViewer.ObjViewer

ModelViewer.Textured

TextureFilters

TextureFormats

CameraTexture

TextureAlpha

Trefoil.Stencil

Trefoil.FakeStencil

Trefoil.Antialiasing

Trefoil.Jitter

AaLines

Holodeck.Clouds

Holodeck.Camera

Klein.Fps

Haiku

DistanceField

SpriteSheet

SpringyStars

Klein.Bumpy

Klein.Cubemap

CrudeBloom

GaussianBloom

VertexSkinning


]]></description>
			<content:encoded><![CDATA[<p>iPhone 3D Samples from &#8220;iPhone 3D Programming Developing Graphical Applications with OpenGL ES&#8221; book.<br />
Thanks Frank and Doris Rideout and O&#8217;REILLY</p>
<p>31 iPhone 3D Samples OpenGL ES 1.1 and 2.0</p>
<p><noindex><br />
All links direct to http://examples.oreilly.com/</p>
<p><a href="http://depositfiles.com/files/8cy4ofx7u" target="blank">All Samples</a></p>
<h2>HelloArrow<a href="http://examples.oreilly.com/9780596804831/HelloArrow" target="blank"><br />
<img src="http://examples.oreilly.com/9780596804831/HelloArrow/Screenshot.png" alt="" /></a></h2>
<p><span id="more-1010"></span></p>
<h2>HelloCone<a href="http://examples.oreilly.com/9780596804831/HelloCone" target="blank"></p>
<p><img src="http://examples.oreilly.com/9780596804831/HelloCone/Screenshot.png" alt="" /></a></h2>
<h2 id="TouchCone">TouchCone<a href="http://examples.oreilly.com/9780596804831/TouchCone" target="blank"><br />
<img src="http://examples.oreilly.com/9780596804831/TouchCone/Screenshot.png" alt="" /></a></h2>
<h2 id="ModelViewer.SimpleWireframe">ModelViewer.SimpleWireframe<a href="http://examples.oreilly.com/9780596804831/ModelViewer.SimpleWireframe" target="blank"><br />
<img src="http://examples.oreilly.com/9780596804831/ModelViewer.SimpleWireframe/Screenshot.png" alt="" /></a></h2>
<h2 id="ModelViewer.VertexLighting">ModelViewer.VertexLighting<a href="http://examples.oreilly.com/9780596804831/ModelViewer.VertexLighting" target="blank"><br />
<img src="http://examples.oreilly.com/9780596804831/ModelViewer.VertexLighting/Screenshot.png" alt="" /></a></h2>
<h2 id="ModelViewer.PixelLighting">ModelViewer.PixelLighting<a href="http://examples.oreilly.com/9780596804831/ModelViewer.PixelLighting" target="blank"><br />
<img src="http://examples.oreilly.com/9780596804831/ModelViewer.PixelLighting/Screenshot.png" alt="" /></a></h2>
<h2 id="ModelViewer.ToonLighting">ModelViewer.ToonLighting<a href="http://examples.oreilly.com/9780596804831/ModelViewer.ToonLighting" target="blank"><br />
<img src="http://examples.oreilly.com/9780596804831/ModelViewer.ToonLighting/Screenshot.png" alt="" /></a></h2>
<h2 id="ModelViewer.FancyWireframe">ModelViewer.FancyWireframe<a href="http://examples.oreilly.com/9780596804831/ModelViewer.FancyWireframe" target="blank"><br />
<img src="http://examples.oreilly.com/9780596804831/ModelViewer.FancyWireframe/Screenshot.png" alt="" /></a></h2>
<h2>ModelViewer.ObjViewer<a href="http://examples.oreilly.com/9780596804831/ModelViewer.ObjViewer" target="blank"><br />
<img src="http://examples.oreilly.com/9780596804831/ModelViewer.ObjViewer/Screenshot.png" alt="" /></a></h2>
<h2 id="ModelViewer.Textured">ModelViewer.Textured<a href="http://examples.oreilly.com/9780596804831/ModelViewer.Textured" target="blank"><br />
<img src="http://examples.oreilly.com/9780596804831/ModelViewer.Textured/Screenshot.png" alt="" /></a></h2>
<h2 id="TextureFilters">TextureFilters<a href="http://examples.oreilly.com/9780596804831/TextureFilters" target="blank"><br />
<img src="http://examples.oreilly.com/9780596804831/TextureFilters/Screenshot.png" alt="" /></a></h2>
<h2 id="TextureFormats">TextureFormats<a href="http://examples.oreilly.com/9780596804831/TextureFormats" target="blank"><br />
<img src="http://examples.oreilly.com/9780596804831/TextureFormats/Screenshot.png" alt="" /></a></h2>
<h2 id="CameraTexture">CameraTexture<a href="http://examples.oreilly.com/9780596804831/CameraTexture" target="blank"><br />
<img src="http://examples.oreilly.com/9780596804831/CameraTexture/Screenshot.png" alt="" /></a></h2>
<h2 id="TextureAlpha">TextureAlpha<a href="http://examples.oreilly.com/9780596804831/TextureAlpha" target="blank"><br />
<img src="http://examples.oreilly.com/9780596804831/TextureAlpha/Screenshot.png" alt="" /></a></h2>
<h2 id="Trefoil.Stencil">Trefoil.Stencil<a href="http://examples.oreilly.com/9780596804831/Trefoil.Stencil" target="blank"><br />
<img src="http://examples.oreilly.com/9780596804831/Trefoil.Stencil/Screenshot.png" alt="" /></a></h2>
<h2 id="Trefoil.FakeStencil">Trefoil.FakeStencil<a href="http://examples.oreilly.com/9780596804831/Trefoil.FakeStencil" target="blank"><br />
<img src="http://examples.oreilly.com/9780596804831/Trefoil.FakeStencil/Screenshot.png" alt="" /></a></h2>
<h2 id="Trefoil.Antialiasing">Trefoil.Antialiasing<a href="http://examples.oreilly.com/9780596804831/Trefoil.Antialiasing" target="blank"><br />
<img src="http://examples.oreilly.com/9780596804831/Trefoil.Antialiasing/Screenshot.png" alt="" /></a></h2>
<h2 id="Trefoil.Jitter">Trefoil.Jitter<a href="http://examples.oreilly.com/9780596804831/Trefoil.Jitter" target="blank"><br />
<img src="http://examples.oreilly.com/9780596804831/Trefoil.Jitter/Screenshot.png" alt="" /></a></h2>
<h2 id="AaLines">AaLines<a href="http://examples.oreilly.com/9780596804831/AaLines" target="blank"><br />
<img src="http://examples.oreilly.com/9780596804831/AaLines/Screenshot.png" alt="" /></a></h2>
<h2 id="Holodeck.Clouds">Holodeck.Clouds<a href="http://examples.oreilly.com/9780596804831/Holodeck.Clouds" target="blank"><br />
<img style="width: 240px;" src="http://examples.oreilly.com/9780596804831/Holodeck.Clouds/Screenshot.png" alt="" /></a></h2>
<h2 id="Holodeck.Camera">Holodeck.Camera<a href="http://examples.oreilly.com/9780596804831/Holodeck.Camera" target="blank"><br />
<img style="width: 240px;" src="http://examples.oreilly.com/9780596804831/Holodeck.Camera/Screenshot.png" alt="" /></a></h2>
<h2 id="Klein.Fps">Klein.Fps<a href="http://examples.oreilly.com/9780596804831/Klein.Fps" target="blank"><br />
<img src="http://examples.oreilly.com/9780596804831/Klein.Fps/Screenshot.png" alt="" /></a></h2>
<h2 id="Haiku">Haiku<a href="http://examples.oreilly.com/9780596804831/Haiku" target="blank"><br />
<img style="width: 240px;" src="http://examples.oreilly.com/9780596804831/Haiku/Screenshot.png" alt="" /></a></h2>
<h2 id="DistanceField">DistanceField<a href="http://examples.oreilly.com/9780596804831/DistanceField" target="blank"><br />
<img src="http://examples.oreilly.com/9780596804831/DistanceField/Screenshot.png" alt="" /></a></h2>
<h2 id="SpriteSheet">SpriteSheet<a href="http://examples.oreilly.com/9780596804831/SpriteSheet" target="blank"><br />
<img src="http://examples.oreilly.com/9780596804831/SpriteSheet/Screenshot.png" alt="" /></a></h2>
<h2 id="SpringyStars">SpringyStars<a href="http://examples.oreilly.com/9780596804831/SpringyStars" target="blank"><br />
<img src="http://examples.oreilly.com/9780596804831/SpringyStars/Screenshot.png" alt="" /></a></h2>
<h2 id="Klein.Bumpy">Klein.Bumpy<a href="http://examples.oreilly.com/9780596804831/Klein.Bumpy" target="blank"><br />
<img src="http://examples.oreilly.com/9780596804831/Klein.Bumpy/Screenshot.png" alt="" /></a></h2>
<h2 id="Klein.Cubemap">Klein.Cubemap<a href="http://examples.oreilly.com/9780596804831/Klein.Cubemap" target="blank"><br />
<img src="http://examples.oreilly.com/9780596804831/Klein.Cubemap/Screenshot.png" alt="" /></a></h2>
<h2 id="CrudeBloom">CrudeBloom<a href="http://examples.oreilly.com/9780596804831/CrudeBloom" target="blank"><br />
<img src="http://examples.oreilly.com/9780596804831/CrudeBloom/Screenshot.png" alt="" /></a></h2>
<h2 id="GaussianBloom">GaussianBloom<a href="http://examples.oreilly.com/9780596804831/GaussianBloom" target="blank"><br />
<img src="http://examples.oreilly.com/9780596804831/GaussianBloom/Screenshot.png" alt="" /></a></h2>
<h2 id="VertexSkinning">VertexSkinning<a href="http://examples.oreilly.com/9780596804831/VertexSkinning" target="blank"><br />
<img src="http://examples.oreilly.com/9780596804831/VertexSkinning/Screenshot.png" alt="" /></a></h2>
<p></noindex></p>
]]></content:encoded>
			<wfw:commentRss>http://www.developers-life.com/iphone-3d-samples.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Good book!</title>
		<link>http://www.developers-life.com/good-book.html</link>
		<comments>http://www.developers-life.com/good-book.html#comments</comments>
		<pubDate>Tue, 08 Jun 2010 21:04:05 +0000</pubDate>
		<dc:creator>Vladimir Boychentsov</dc:creator>
				<category><![CDATA[Apple]]></category>
		<category><![CDATA[Mac OS X]]></category>
		<category><![CDATA[OOP]]></category>
		<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[iPad]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[Book]]></category>
		<category><![CDATA[objective-c]]></category>
		<category><![CDATA[OpenGL]]></category>
		<category><![CDATA[Кодинг]]></category>

		<guid isPermaLink="false">http://www.developers-life.com/?p=999</guid>
		<description><![CDATA[Do you have a great idea for a graphics-intensive iPhone or iPad application, but don&#8217;t know how to bring it to life? This book offers the perfect solution: a crash course on the OpenGL graphics library with an overview of iPhone 3D development. Whether you&#8217;re an experienced OpenGL developer looking to build iPhone apps for [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft" src="http://covers.oreilly.com/images/9780596804831/cat.gif" alt="" width="180" height="236" />Do you have a great idea for a graphics-intensive iPhone or iPad application, but don&#8217;t know how to bring it to life? This book offers the perfect solution: a crash course on the OpenGL graphics library with an overview of iPhone 3D development. Whether you&#8217;re an experienced OpenGL developer looking to build iPhone apps for the first time, or an iPhone developer wanting to learn sophisticated graphics, iPhone 3D Programming addresses both in one concise, easy-to-use guide.</p>
<p>What does it take to build an iPhone app with stunning 3D graphics? This book will show you how to apply OpenGL graphics programming techniques to any device running the iPhone OS &#8212; including the iPad and iPod Touch &#8212; with no iPhone development or 3D graphics experience required. iPhone 3D Programming provides clear step-by-step instructions, as well as lots of practical advice, for using the iPhone SDK and OpenGL.<br />
<span id="more-999"></span><br />
You&#8217;ll build several graphics programs &#8212; progressing from simple to more complex examples &#8212; that focus on lighting, textures, blending, augmented reality, optimization for performance and speed, and much more. All you need to get started is a solid understanding of C++ and a great idea for an app.</p>
<p>    * Learn fundamental graphics concepts, including transformation matrices, quaternions, and more<br />
    * Get set up for iPhone development with the Xcode environment<br />
    * Become familiar with versions 1.1 and 2.0 of the OpenGL ES API, and learn to use vertex buffer objects, lighting, texturing, and shaders<br />
    * Use the iPhone&#8217;s touch screen, compass, and accelerometer to build interactivity into graphics applications<br />
    * Build iPhone graphics applications such as a 3D wireframe viewer, a simple augmented reality application, a spring system simulation, and more</p>
<p>This book received valuable community input through O&#8217;Reilly&#8217;s Open Feedback Publishing System (OFPS). Learn more at </p>
<p><noindex><a href="http://oreilly.com/catalog/9780596804831" target="blank">Buy Book</a></p>
<p><a href="http://iphone-3d-programming.labs.oreilly.com/" target="blank">Free for online read</a></p>
<p></noindex></p>
]]></content:encoded>
			<wfw:commentRss>http://www.developers-life.com/good-book.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Make gradient on iPhone/iPad</title>
		<link>http://www.developers-life.com/make-gradient-on-iphoneipad.html</link>
		<comments>http://www.developers-life.com/make-gradient-on-iphoneipad.html#comments</comments>
		<pubDate>Sun, 30 May 2010 18:57:09 +0000</pubDate>
		<dc:creator>Vladimir Boychentsov</dc:creator>
				<category><![CDATA[Apple]]></category>
		<category><![CDATA[Mac OS X]]></category>
		<category><![CDATA[iPad]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[Gradient]]></category>
		<category><![CDATA[objective-c]]></category>
		<category><![CDATA[UI]]></category>
		<category><![CDATA[UIKit]]></category>
		<category><![CDATA[UITabBar]]></category>

		<guid isPermaLink="false">http://www.developers-life.com/?p=983</guid>
		<description><![CDATA[It&#8217;s easy! As of iPhone SDK 3.0, custom gradients can be implemented very easily,  without subclassing or images, by using the new CAGradientLayer
add framework
#import &#60; QuartzCore/QuartzCore.h&#62;

so, example:


or
UIView *myTabView = &#91;&#91;UIView alloc&#93; initWithFrame:frame&#93;;
&#160; &#160; CAGradientLayer *gradient = &#91;CAGradientLayer layer&#93;;
&#160; &#160; gradient.frame = myTabView.bounds;
&#160; &#160; gradient.colors = &#91;NSArray arrayWithObjects:
&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; [...]]]></description>
			<content:encoded><![CDATA[<p>It&#8217;s easy! As of iPhone SDK 3.0, custom gradients can be implemented very easily,  without subclassing or images, by using the new CAGradientLayer</p>
<p>add framework</p>
<div class="codecolorer-container objc" style="height:35px;"><div class="objc codecolorer"><ol><li class="li1"><div class="de1"><span class="co1">#import &lt; QuartzCore/QuartzCore.h&gt;</span></div></li>
</ol></div></div>
<p>so, example:</p>
<p><a href="http://gyazo.com/7c6b82b7e31568c52a4b267e4f91c78b.png" target="_blank"><img class="alignnone" title="make custom gradient on iPhone, iPad" src="http://gyazo.com/7c6b82b7e31568c52a4b267e4f91c78b.png" alt="" width="448" height="160" /></a><br />
<span id="more-983"></span><br />
or</p>
<div class="codecolorer-container objc"><div class="objc codecolorer"><ol><li class="li1"><div class="de1">UIView <span class="sy0">*</span>myTabView <span class="sy0">=</span> <span class="br0">&#91;</span><span class="br0">&#91;</span>UIView alloc<span class="br0">&#93;</span> initWithFrame<span class="sy0">:</span>frame<span class="br0">&#93;</span>;</div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; CAGradientLayer <span class="sy0">*</span>gradient <span class="sy0">=</span> <span class="br0">&#91;</span>CAGradientLayer layer<span class="br0">&#93;</span>;</div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; gradient.frame <span class="sy0">=</span> myTabView.bounds;</div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; gradient.colors <span class="sy0">=</span> <span class="br0">&#91;</span><span class="kw5">NSArray</span> arrayWithObjects<span class="sy0">:</span></div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class="br0">&#40;</span><span class="kw4">id</span><span class="br0">&#41;</span><span class="br0">&#91;</span><span class="br0">&#91;</span>UIColor colorWithRed<span class="sy0">:</span><span class="nu0">0.1</span> green<span class="sy0">:</span><span class="nu0">0.1</span> blue<span class="sy0">:</span><span class="nu0">0.1</span> alpha<span class="sy0">:</span><span class="nu0">0.8</span> <span class="br0">&#93;</span> CGColor<span class="br0">&#93;</span></div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;, <span class="br0">&#40;</span><span class="kw4">id</span><span class="br0">&#41;</span><span class="br0">&#91;</span><span class="br0">&#91;</span>UIColor colorWithRed<span class="sy0">:</span><span class="nu0">0.1</span> green<span class="sy0">:</span><span class="nu0">0.1</span> blue<span class="sy0">:</span><span class="nu0">0.1</span> alpha<span class="sy0">:</span><span class="nu0">0.8</span> <span class="br0">&#93;</span> CGColor<span class="br0">&#93;</span></div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;, <span class="br0">&#40;</span><span class="kw4">id</span><span class="br0">&#41;</span><span class="br0">&#91;</span><span class="br0">&#91;</span>UIColor colorWithRed<span class="sy0">:</span><span class="nu0">0.1</span> green<span class="sy0">:</span><span class="nu0">0.1</span> blue<span class="sy0">:</span><span class="nu0">0.1</span> alpha<span class="sy0">:</span><span class="nu0">0.8</span> <span class="br0">&#93;</span> CGColor<span class="br0">&#93;</span></div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;, <span class="br0">&#40;</span><span class="kw4">id</span><span class="br0">&#41;</span><span class="br0">&#91;</span><span class="br0">&#91;</span>UIColor blackColor<span class="br0">&#93;</span> CGColor<span class="br0">&#93;</span></div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;, <span class="br0">&#40;</span><span class="kw4">id</span><span class="br0">&#41;</span><span class="br0">&#91;</span><span class="br0">&#91;</span>UIColor blackColor<span class="br0">&#93;</span> CGColor<span class="br0">&#93;</span>, <span class="kw2">nil</span><span class="br0">&#93;</span>;</div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; <span class="br0">&#91;</span>myTabView.layer insertSublayer<span class="sy0">:</span>gradient atIndex<span class="sy0">:</span><span class="nu0">0</span><span class="br0">&#93;</span>;</div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; <span class="br0">&#91;</span><span class="br0">&#91;</span>self.tabBarController tabBar<span class="br0">&#93;</span> insertSubview<span class="sy0">:</span>myTabView &nbsp;atIndex<span class="sy0">:</span><span class="nu0">0</span><span class="br0">&#93;</span>;</div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; <span class="br0">&#91;</span>myTabView &nbsp;release<span class="br0">&#93;</span>;</div></li>
</ol></div></div>
<p>Result:<br />
<img class="alignnone" title="custom gradient in tabbar" src="http://gyazo.com/06c6dc8a8b574ecb3c2879c3d5226fc5.png" alt="" width="348" height="223" /></p>
<p>or, nice example with use Core Graphics to draw the gradient</p>
<div class="codecolorer-container objc"><div class="objc codecolorer"><ol><li class="li1"><div class="de1"><span class="sy0">-</span> <span class="br0">&#40;</span><span class="kw4">void</span><span class="br0">&#41;</span>drawRect<span class="sy0">:</span><span class="br0">&#40;</span>CGRect<span class="br0">&#41;</span>rect </div></li>
<li class="li1"><div class="de1"><span class="br0">&#123;</span></div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; CGContextRef currentContext <span class="sy0">=</span> UIGraphicsGetCurrentContext<span class="br0">&#40;</span><span class="br0">&#41;</span>;</div></li>
<li class="li1"><div class="de1">&nbsp;</div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; CGGradientRef glossGradient;</div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; CGColorSpaceRef rgbColorspace;</div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; <span class="kw4">size_t</span> num_locations <span class="sy0">=</span> <span class="nu0">2</span>;</div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; CGFloat locations<span class="br0">&#91;</span><span class="nu0">2</span><span class="br0">&#93;</span> <span class="sy0">=</span> <span class="br0">&#123;</span> <span class="nu0">0.0</span>, <span class="nu0">1.0</span> <span class="br0">&#125;</span>;</div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; CGFloat components<span class="br0">&#91;</span><span class="nu0">8</span><span class="br0">&#93;</span> <span class="sy0">=</span> <span class="br0">&#123;</span> <span class="nu0">1.0</span>, <span class="nu0">1.0</span>, <span class="nu0">1.0</span>, <span class="nu0">0.35</span>, &nbsp;<span class="co2">// Start color</span></div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class="nu0">1.0</span>, <span class="nu0">1.0</span>, <span class="nu0">1.0</span>, <span class="nu0">0.06</span> <span class="br0">&#125;</span>; <span class="co2">// End color</span></div></li>
<li class="li1"><div class="de1">&nbsp;</div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; rgbColorspace <span class="sy0">=</span> CGColorSpaceCreateDeviceRGB<span class="br0">&#40;</span><span class="br0">&#41;</span>;</div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; glossGradient <span class="sy0">=</span> CGGradientCreateWithColorComponents<span class="br0">&#40;</span>rgbColorspace, components, locations, num_locations<span class="br0">&#41;</span>;</div></li>
<li class="li1"><div class="de1">&nbsp;</div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; CGRect currentBounds <span class="sy0">=</span> self.bounds;</div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; CGPoint topCenter <span class="sy0">=</span> CGPointMake<span class="br0">&#40;</span>CGRectGetMidX<span class="br0">&#40;</span>currentBounds<span class="br0">&#41;</span>, 0.0f<span class="br0">&#41;</span>;</div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; CGPoint midCenter <span class="sy0">=</span> CGPointMake<span class="br0">&#40;</span>CGRectGetMidX<span class="br0">&#40;</span>currentBounds<span class="br0">&#41;</span>, CGRectGetMidY<span class="br0">&#40;</span>currentBounds<span class="br0">&#41;</span><span class="br0">&#41;</span>;</div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; CGContextDrawLinearGradient<span class="br0">&#40;</span>currentContext, glossGradient, topCenter, midCenter, <span class="nu0">0</span><span class="br0">&#41;</span>;</div></li>
<li class="li1"><div class="de1">&nbsp;</div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; CGGradientRelease<span class="br0">&#40;</span>glossGradient<span class="br0">&#41;</span>;</div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; CGColorSpaceRelease<span class="br0">&#40;</span>rgbColorspace<span class="br0">&#41;</span>; </div></li>
<li class="li1"><div class="de1"><span class="br0">&#125;</span></div></li>
</ol></div></div>
<p><a href="http://developer.apple.com/iphone/library/documentation/GraphicsImaging/Conceptual/drawingwithquartz2d/dq_shadings/dq_shadings.html#//apple_ref/doc/uid/TP30001066-CH207-TPXREF101" target="_blank">Many documentations</a></p>
<p><noindex><br />
<a target="_blank" href="http://stackoverflow.com/questions/422066/gradients-on-uiview-and-uilabels-on-iphone">resource</a></noindex></p>
]]></content:encoded>
			<wfw:commentRss>http://www.developers-life.com/make-gradient-on-iphoneipad.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Enable Emoji on iPhone OS 4.0 without jailbreak</title>
		<link>http://www.developers-life.com/enable-emoji-on-iphone-os-4-0-without-jailbreak.html</link>
		<comments>http://www.developers-life.com/enable-emoji-on-iphone-os-4-0-without-jailbreak.html#comments</comments>
		<pubDate>Tue, 25 May 2010 16:32:48 +0000</pubDate>
		<dc:creator>Vladimir Boychentsov</dc:creator>
				<category><![CDATA[iPhone]]></category>
		<category><![CDATA[App]]></category>
		<category><![CDATA[Emoji]]></category>

		<guid isPermaLink="false">http://www.developers-life.com/?p=968</guid>
		<description><![CDATA[1. Set up app Water Lou
2. Enter the secret code is 91929394.59
3. reboot
4. go to settings-&#62;general-&#62;keyboard-&#62;add keyboard
 
For displaing emoji icons in firefox you can use Grease Monkey.
Thanks waterworld.com.hk!



]]></description>
			<content:encoded><![CDATA[<p>1. Set up app <a href="http://itunes.apple.com/us/app/spell-number-get-emoji-smiley/id284858425?mt=8">Water Lou</a></p>
<p>2. Enter the secret code is 91929394.59</p>
<p>3. reboot</p>
<p>4. go to settings-&gt;general-&gt;keyboard-&gt;add keyboard</p>
<p><img class="alignnone" title="emoji in keyboard list on iPhone OS 4" src="http://gyazo.com/a1694ba374f595cb6046c1fcb5a91b0b.png" alt="" width="179" height="269" /> <img class="alignnone" title="emoji is added" src="http://gyazo.com/ed4bc030202926e07935dc98550671e0.png" alt="" width="179" height="269" /></p>
<p>For displaing emoji icons in firefox you can use <a href="http://photar.net/emoji/" target="_blank">Grease Monkey</a>.</p>
<p>Thanks waterworld.com.hk!</p>
<div style="opacity: 0; display: none; padding: 10px; background-color: #ffffff; position: fixed; right: 0px; top: 0px;"><img title="Replacing Emoji..." src="data:image/gif;base64,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" alt="Replacing Emoji..." /></div>
<div style="opacity: 0; display: none; padding: 10px; background-color: #ffffff; position: fixed; right: 0px; top: 0px;"><img title="Replacing Emoji..." src="data:image/gif;base64,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" alt="Replacing Emoji..." /></div>
<div style="opacity: 0; display: none; padding: 10px; background-color: #ffffff; position: fixed; right: 0px; top: 0px;"><img title="Replacing Emoji..." src="data:image/gif;base64,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" alt="Replacing Emoji..." /></div>
]]></content:encoded>
			<wfw:commentRss>http://www.developers-life.com/enable-emoji-on-iphone-os-4-0-without-jailbreak.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>В свободное время</title>
		<link>http://www.developers-life.com/free-time-for-vkontakter.html</link>
		<comments>http://www.developers-life.com/free-time-for-vkontakter.html#comments</comments>
		<pubDate>Sun, 02 May 2010 14:22:12 +0000</pubDate>
		<dc:creator>Vladimir Boychentsov</dc:creator>
				<category><![CDATA[Apple]]></category>
		<category><![CDATA[Mac OS X]]></category>
		<category><![CDATA[OOP]]></category>
		<category><![CDATA[Cocoa]]></category>
		<category><![CDATA[Free Time]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[objective-c]]></category>
		<category><![CDATA[Vkontakte]]></category>
		<category><![CDATA[xCode]]></category>
		<category><![CDATA[Кодинг]]></category>

		<guid isPermaLink="false">http://www.developers-life.com/?p=956</guid>
		<description><![CDATA[
В свободное время решил поработать немного над созданием простого  клиента для социальной сети &#8220;Вконтакте&#8221;. Хочу поделиться маленьким результатом. Это пока скромная версия, которая  может вывести список, отправить сообщение, изменить статус и еще  несколько мелочей&#8230;
Я не руководился тем нужно это или нет, просто было  интересно поработать с новым API от &#8220;Вконтакте&#8221;.
Спасибо за [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://gyazo.com/d30b6d825cffe79eaa2a89508e37481c.png"><img class="alignleft" title="Vkontakter" src="http://gyazo.com/d30b6d825cffe79eaa2a89508e37481c.png" alt="Vkontakter" width="226" height="509" /></a></p>
<p>В свободное время решил поработать немного над созданием простого  клиента для социальной сети &#8220;Вконтакте&#8221;. Хочу поделиться маленьким результатом. Это пока скромная версия, которая  может вывести список, отправить сообщение, изменить статус и еще  несколько мелочей&#8230;</p>
<p>Я не руководился тем нужно это или нет, просто было  интересно поработать с новым API от &#8220;Вконтакте&#8221;.</p>
<p>Спасибо за внимания,  если получится что-то хорошее, то возможно появится и для общего  пользования.</p>
<p>P.S.: Хочу заметить, что этот проект больше для повышения опыта разработки и не поддается критике :)</p>
]]></content:encoded>
			<wfw:commentRss>http://www.developers-life.com/free-time-for-vkontakter.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Simple XML Parser based on NSXMLParser +converter</title>
		<link>http://www.developers-life.com/simple-xml-parser-based-on-nsxmlparser-converter.html</link>
		<comments>http://www.developers-life.com/simple-xml-parser-based-on-nsxmlparser-converter.html#comments</comments>
		<pubDate>Wed, 21 Apr 2010 11:45:16 +0000</pubDate>
		<dc:creator>Vladimir Boychentsov</dc:creator>
				<category><![CDATA[Apple]]></category>
		<category><![CDATA[Mac OS X]]></category>
		<category><![CDATA[iPad]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[objective-c]]></category>
		<category><![CDATA[OOP]]></category>
		<category><![CDATA[work]]></category>
		<category><![CDATA[XML]]></category>

		<guid isPermaLink="false">http://www.developers-life.com/?p=944</guid>
		<description><![CDATA[Simple XML Parser based on NSXMLParser +converter to XML file
How To Setup:
insert next code to file &#8220;name of you project&#8221;_Prefix.pch
#import &#34;XMLNode.h&#34;
&#160; &#160; #import &#34;XMLParser.h&#34;
&#160; &#160; #import &#34;XMLConvert.h&#34;

Create and launching XMLParser.
You will get parsed data ( with XMLNode data type ) in callbackParser: method
NSURL *URLToFile = &#91;NSURL fileURLWithPath:&#91;&#91;NSBundle mainBundle&#93; pathForResource:@&#34;source&#34; ofType:@&#34;xml&#34;&#93;&#93;;
&#160; &#160; 
&#160; &#160; XMLParser *parser [...]]]></description>
			<content:encoded><![CDATA[<p>Simple XML Parser based on NSXMLParser +converter to XML file</p>
<p>How To Setup:<br />
insert next code to file &#8220;name of you project&#8221;_Prefix.pch</p>
<div class="codecolorer-container objc"><div class="objc codecolorer"><ol><li class="li1"><div class="de1"><span class="co1">#import &quot;XMLNode.h&quot;</span></div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; <span class="co1">#import &quot;XMLParser.h&quot;</span></div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; <span class="co1">#import &quot;XMLConvert.h&quot;</span></div></li>
</ol></div></div>
<p>Create and launching XMLParser.<br />
You will get parsed data ( with XMLNode data type ) in <em>callbackParser:</em> method</p>
<div class="codecolorer-container objc"><div class="objc codecolorer"><ol><li class="li1"><div class="de1"><span class="kw5">NSURL</span> <span class="sy0">*</span>URLToFile <span class="sy0">=</span> <span class="br0">&#91;</span><span class="kw5">NSURL</span> fileURLWithPath<span class="sy0">:</span><span class="br0">&#91;</span><span class="br0">&#91;</span><span class="kw5">NSBundle</span> mainBundle<span class="br0">&#93;</span> pathForResource<span class="sy0">:</span><span class="co3">@</span><span class="st0">&quot;source&quot;</span> ofType<span class="sy0">:</span><span class="co3">@</span><span class="st0">&quot;xml&quot;</span><span class="br0">&#93;</span><span class="br0">&#93;</span>;</div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; </div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; XMLParser <span class="sy0">*</span>parser <span class="sy0">=</span> <span class="br0">&#91;</span><span class="br0">&#91;</span>XMLParser alloc<span class="br0">&#93;</span> init<span class="br0">&#93;</span>;</div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; <span class="br0">&#91;</span>parser setDelegate<span class="sy0">:</span>self withAction<span class="sy0">:</span><span class="kw1">@selector</span><span class="br0">&#40;</span>callbackParser<span class="sy0">:</span><span class="br0">&#41;</span><span class="br0">&#93;</span>;</div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; <span class="br0">&#91;</span>parser parseXMLFile<span class="sy0">:</span>URLToFile<span class="br0">&#93;</span>;</div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; <span class="br0">&#91;</span>parser release<span class="br0">&#93;</span>;</div></li>
</ol></div></div>
<p>Converting results of parsing to XML file:</p>
<div class="codecolorer-container objc" style="height:35px;"><div class="objc codecolorer"><ol><li class="li1"><div class="de1"><span class="kw5">NSString</span> <span class="sy0">*</span>content <span class="sy0">=</span> <span class="br0">&#91;</span>XMLConvert convertXMLNode<span class="sy0">:</span>root<span class="br0">&#93;</span>;</div></li>
</ol></div></div>
<p>And additional define methods for working with XMLNode&#8217;s:<br />
<em>XMLaddAttribute(node, object, key), XMLgetAttribute(node, key), XMLsetParent(node, parent), XMLaddChild(parent, child), XMLgetChild(parent, child), XMLremoveChild(parent, child), XMLgetChildWithAttribute(parent, childname, object, key)</em></p>
<p><a href="http://www.developers-life.com/wp-content/plugins/download_counter/redirect.php?id=9" target="_blank"><img src="http://www.developers-life.com/wp-content/plugins/download_counter/redirect.php?pid=9" border="0" alt="" height="0" width="0" />Source</a><br />
Good luck!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.developers-life.com/simple-xml-parser-based-on-nsxmlparser-converter.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Screenshots of new iPhone OS 4.0 beta</title>
		<link>http://www.developers-life.com/screenshots-of-new-iphone-os-4-0-beta.html</link>
		<comments>http://www.developers-life.com/screenshots-of-new-iphone-os-4-0-beta.html#comments</comments>
		<pubDate>Fri, 09 Apr 2010 19:22:15 +0000</pubDate>
		<dc:creator>Vladimir Boychentsov</dc:creator>
				<category><![CDATA[Apple]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[iPhone OS 4.0]]></category>
		<category><![CDATA[Screenshots]]></category>

		<guid isPermaLink="false">http://www.developers-life.com/?p=933</guid>
		<description><![CDATA[Home screen, more beautiful with background and folders!


Multitasking! :) It&#8217;s amazing!

My &#8220;Internet&#8221; folder for online application

My folder for games

Cube slide show animation in default Photos application

Zoom in/Out in default Camera application

Selecting many photos for sharing :)

Sharing photo with original size or small!

Spelling in default Mail application, and new style of main screen app

Counting symbols

Activity icon [...]]]></description>
			<content:encoded><![CDATA[<p>Home screen, more beautiful with background and folders!<br />
<a href="http://gyazo.com/e68ac0c5da056b92dab0e2f8cce84e16.png" target="_blank"><img class="alignnone" title="iphone os 4 home screen" src="http://gyazo.com/e68ac0c5da056b92dab0e2f8cce84e16.png" alt="" width="320" height="480" /></a></p>
<p><span id="more-933"></span></p>
<p><span id="result_box"><span style="background-color: #ffffff;" title="Многозадачность">Multitasking</span></span>! :) It&#8217;s amazing!<a href="http://gyazo.com/b83e100da1c2527929886c928d8da969.png" target="_blank"><br />
<img class="alignnone" src="http://gyazo.com/b83e100da1c2527929886c928d8da969.png" alt="" width="320" height="480" /></a></p>
<p>My &#8220;Internet&#8221; folder for online application<br />
<a href="http://gyazo.com/cafe6151749cdfafda345721de316faf.png" target="_blank"><img class="alignnone" title="folder in iphone OS 4" src="http://gyazo.com/cafe6151749cdfafda345721de316faf.png" alt="" width="320" height="480" /></a></p>
<p>My folder for games<br />
<a href="http://gyazo.com/cbb77f501c09c782c51708d40be6e064.png" target="_blank"><img class="alignnone" src="http://gyazo.com/cbb77f501c09c782c51708d40be6e064.png" alt="" width="320" height="480" /></a></p>
<p>Cube slide show animation in default Photos application<br />
<a href="http://gyazo.com/5557c81124f8a280f2d44f9e00a744bd.png" target="_blank"><img class="alignnone" title="Cube slide show animation in Photo application" src="http://gyazo.com/5557c81124f8a280f2d44f9e00a744bd.png" alt="" width="320" height="480" /></a></p>
<p>Zoom in/Out in default Camera application<br />
<a href="http://gyazo.com/335b2d389386fb658f09f168fc3c4d73.png" target="_blank"><img class="alignnone" title="Zoom in/Out in default Camera application" src="http://gyazo.com/335b2d389386fb658f09f168fc3c4d73.png" alt="" width="320" height="480" /></a></p>
<p>Selecting many photos for sharing :)<br />
<a href="http://gyazo.com/ffb8e45f1e9c99e4e17de774b421e849.png" target="_blank"><img class="alignnone" title="Selecting many photos for sharing :)" src="http://gyazo.com/ffb8e45f1e9c99e4e17de774b421e849.png" alt="" width="320" height="480" /></a></p>
<p>Sharing photo with original size or small!<br />
<a href="http://gyazo.com/fdb6cf467fdb4bd877c39181fa9703ba.png" target="_blank"><img class="alignnone" title="Sharing photo with original size or small!" src="http://gyazo.com/fdb6cf467fdb4bd877c39181fa9703ba.png" alt="" width="320" height="480" /></a></p>
<p>Spelling in default Mail application, and new style of main screen app<br />
<a href="http://gyazo.com/4cc5d42a29da7e1bbdb7ffa6ab36940b.png" target="_blank"><img class="alignnone" title="Spelling in default Mail application, and new style of main screen app" src="http://gyazo.com/4cc5d42a29da7e1bbdb7ffa6ab36940b.png" alt="" width="480" height="320" /></a></p>
<p>Counting symbols<br />
<a href="http://gyazo.com/fff55ad3ac2feff5b7ef97458e887cd1.png" target="_blank"><img class="alignnone" title="Counting symbols" src="http://gyazo.com/fff55ad3ac2feff5b7ef97458e887cd1.png" alt="" width="320" height="480" /></a></p>
<p>Activity icon for applications with using your geo location<br />
<a href="http://gyazo.com/3befe7f384e07adc7c2ca891101a03fd.png" target="_blank"><img class="alignleft" title="Activity icon for applications with Compass" src="http://gyazo.com/3befe7f384e07adc7c2ca891101a03fd.png" alt="" width="288" height="432" /></a><img class="alignleft" src="http://www.iclarified.com/images/news/8759/30627/30627.png" alt="" width="301" height="450" /></p>
]]></content:encoded>
			<wfw:commentRss>http://www.developers-life.com/screenshots-of-new-iphone-os-4-0-beta.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
