<?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; Apple</title>
	<atom:link href="http://www.developers-life.com/category/apple/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>Uninstall/Resetting Xcode</title>
		<link>http://www.developers-life.com/uninstallresetting-xcode.html</link>
		<comments>http://www.developers-life.com/uninstallresetting-xcode.html#comments</comments>
		<pubDate>Sun, 05 Sep 2010 16:29:15 +0000</pubDate>
		<dc:creator>Vladimir Boychentsov</dc:creator>
				<category><![CDATA[Apple]]></category>
		<category><![CDATA[Mac OS X]]></category>
		<category><![CDATA[iOS]]></category>
		<category><![CDATA[SDK]]></category>
		<category><![CDATA[xCode]]></category>

		<guid isPermaLink="false">http://www.developers-life.com/?p=1061</guid>
		<description><![CDATA[To reset Xcode to its factory settings for the logged-in user, run these commands in Terminal:
> defaults delete com.apple.Xcode
> rm -rf ~/Library/Application\ Support/Xcode
At one point in the process he opted to remove the Xcode developer tools and start the configuration from the beginning. Which leads to the tip: should you ever find the need to [...]]]></description>
			<content:encoded><![CDATA[<p>To reset Xcode to its factory settings for the logged-in user, run these commands in Terminal:</p>
<p>> defaults delete com.apple.Xcode<br />
> rm -rf ~/Library/Application\ Support/Xcode</p>
<p>At one point in the process he opted to remove the Xcode developer tools and start the configuration from the beginning. Which leads to the tip: should you ever find the need to remove Xcode, run the following from within a terminal window to make it happen:</p>
<p>> sudo <Xcode>/Library/uninstall-devtools &#8211;mode=all<br />
<Xcode> is the directory where the tools are installed. For typical installations the full path is /Developer/Library/uninstall-devtools</p>
]]></content:encoded>
			<wfw:commentRss>http://www.developers-life.com/uninstallresetting-xcode.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<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>UML диаграммы в Xcode</title>
		<link>http://www.developers-life.com/create-uml-models-in-xcode.html</link>
		<comments>http://www.developers-life.com/create-uml-models-in-xcode.html#comments</comments>
		<pubDate>Sat, 12 Jun 2010 15:03:36 +0000</pubDate>
		<dc:creator>Vladimir Boychentsov</dc:creator>
				<category><![CDATA[Apple]]></category>
		<category><![CDATA[OOP]]></category>
		<category><![CDATA[others]]></category>
		<category><![CDATA[objective-c]]></category>
		<category><![CDATA[UML]]></category>
		<category><![CDATA[xCode]]></category>
		<category><![CDATA[Кодинг]]></category>

		<guid isPermaLink="false">http://www.developers-life.com/?p=1031</guid>
		<description><![CDATA[На написание данного поста меня с подвигла недавняя задача! Мне нужно было для записки и слайдов дипломного проекта предоставить UML диаграммы. Сначала по гуглил и сразу попал на страницу одной софтины, которая называется MacTranslator, забегая на перед, т.к. многие могут просто не дочитать, НЕ РЕКОМЕНДУЮ ее покапать, хотя вряд ли ее кто и купит из [...]]]></description>
			<content:encoded><![CDATA[<p>На написание данного поста меня с подвигла недавняя задача! Мне нужно было для записки и слайдов дипломного проекта предоставить UML диаграммы. Сначала по гуглил и сразу попал на страницу одной софтины, которая называется MacTranslator, забегая на перед, т.к. многие могут просто не дочитать, НЕ РЕКОМЕНДУЮ ее покапать, хотя вряд ли ее кто и купит из читателей и простых серферов веба, т.к. софтина стоит 465$, если не ошибаюсь :)</p>
<p>Небольшое отступление:<em><br />
<span style="color: #808080;">С Xcode средой разработки я знаком уже почти 2 года, и с версиями ниже 3-ей не работал. Многое уже освоил, но занимаюсь изучением возможностей данной среды далее. Считаю, что много интересного я еще не знаю! </span></em></p>
<p>Далее я нашел много интересного программного обеспечения, но ни один из продуктов мне не пришелся по вкусу и функционалу, всего 2 продукта поддерживали Objective-C, что весьма печально. В итоге я начал рисовать вручную и когда зашел в Xcode меня осенило, что я зря провел время на поиски! На сегодняшний день Xcode может все сделать за вас! Как давно есть этот функционал я не задавался вопросом, но по моим предположениям и по скриншотам, могу предположить что довольна таки давно, примерно с 2006 года точно! Судя по <a href="http://developer.apple.com/macosx/xcode2.html" target="_blank">данному документу</a>!</p>
<p>Немного еще поискав по <a href="http://developer.apple.com/mac/search/search.php" target="_blank">девелоперской</a> части сайта , наткнулся на <a href="http://developer.apple.com/mac/library/documentation/DeveloperTools/Conceptual/XCodeDesignTools/Introduction/Introduction.html#//apple_ref/doc/uid/TP40006858-SW1" target="_blank">Introduction to Xcode Design Tools for Class Modeling</a></p>
<p>Кратко о том как это делается, на одном из семплов от Apple, к примеру &#8220;QuartzDemo&#8221;:</p>
<p>1. Добавляем новый фаил &#8220;Class Model&#8221;<br />
<a href="http://www.developers-life.com/wp-content/uploads/2010/06/Screen-shot-2010-06-12-at-5.42.52-PM.png" target="_blank"><img class="alignnone size-medium wp-image-1032" title="Добавление файла в Xcode для отображения UML из исходного кода Objective-C, UML from Objective-C source code" src="http://www.developers-life.com/wp-content/uploads/2010/06/Screen-shot-2010-06-12-at-5.42.52-PM-300x227.png" alt="Добавление файла в Xcode для отображения UML из исходного кода Objective-C, UML from Objective-C source code" width="300" height="227" /></a></p>
<p><span id="more-1031"></span>2. Добавляем в него файлы и нажимаем &#8220;Finish&#8221;<br />
<a href="http://www.developers-life.com/wp-content/uploads/2010/06/Screen-shot-2010-06-12-at-5.43.36-PM.png" target="_blank"><img class="alignnone size-medium wp-image-1033" title="Create Class Model" src="http://www.developers-life.com/wp-content/uploads/2010/06/Screen-shot-2010-06-12-at-5.43.36-PM-300x227.png" alt="Create Class Model" width="300" height="227" /></a></p>
<p>3. В итоге мы увидим UML диаграммы, но они будут немного не наглядно выстраены, это легко поправимо, результат:</p>
<p><a href="http://www.developers-life.com/wp-content/uploads/2010/06/Screen-shot-2010-06-12-at-5.47.26-PM.png" target="_blank"><img class="alignnone size-medium wp-image-1034" title="UML Xcode" src="http://www.developers-life.com/wp-content/uploads/2010/06/Screen-shot-2010-06-12-at-5.47.26-PM-300x192.png" alt="UML Xcode" width="300" height="192" /></a><br />
<a href="http://www.developers-life.com/wp-content/uploads/2010/06/Screen-shot-2010-06-12-at-5.47.41-PM.png" target="_blank"><img class="alignnone size-medium wp-image-1035" title="UML Xcode" src="http://www.developers-life.com/wp-content/uploads/2010/06/Screen-shot-2010-06-12-at-5.47.41-PM-300x192.png" alt="UML Xcode" width="300" height="192" /></a></p>
<p>В каждом блоке можно развернуть Properties и Operations! Из каждого элемента можно легко перейти к участку кода!</p>
<p>Рекомендую использовать для наглядности. Очень помогает когда возвращаешся к старому проекту. Плюсов очень много.</p>
<p>Хочу сказать, что все оказалось очень просто и довольна таки красиво, вот к примеру мои UML диаграммы на стадии разработки одного из моих проектов, текст специально мелкий, чтоб не возможно было прочитать :)</p>
<p><img class="alignnone size-medium wp-image-1036" src="http://www.developers-life.com/wp-content/uploads/2010/06/Screen-shot-2010-06-12-at-5.17.27-PM-300x179.png" alt="" width="300" height="179" /></p>
]]></content:encoded>
			<wfw:commentRss>http://www.developers-life.com/create-uml-models-in-xcode.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>купил iPad :)</title>
		<link>http://www.developers-life.com/%d0%ba%d1%83%d0%bf%d0%b8%d0%bb-ipad.html</link>
		<comments>http://www.developers-life.com/%d0%ba%d1%83%d0%bf%d0%b8%d0%bb-ipad.html#comments</comments>
		<pubDate>Sun, 06 Jun 2010 15:26:14 +0000</pubDate>
		<dc:creator>Vladimir Boychentsov</dc:creator>
				<category><![CDATA[Apple]]></category>
		<category><![CDATA[iPad]]></category>
		<category><![CDATA[Magic Mouse]]></category>

		<guid isPermaLink="false">http://www.developers-life.com/%d0%ba%d1%83%d0%bf%d0%b8%d0%bb-ipad.html</guid>
		<description><![CDATA[Как вы уже поняли речь пойдет про iPad :) Девайс удобный и очень впечетляющий, но все же напоминает большой айпод тач. Огорчает отсутствие камеры. В целом ничего особенного, беру его в руки в основном когда нужно работать или почитать письма и посерфить немного.
На последней фотографии видно как отлично можно использовать устройство для презентаций. Этот пост [...]]]></description>
			<content:encoded><![CDATA[<p>Как вы уже поняли речь пойдет про iPad :) Девайс удобный и очень впечетляющий, но все же напоминает большой айпод тач. Огорчает отсутствие камеры. В целом ничего особенного, беру его в руки в основном когда нужно работать или почитать письма и посерфить немного.</p>
<p>На последней фотографии видно как отлично можно использовать устройство для презентаций. Этот пост я писал с iPad, не очень удобно, думаю будет удобнее если подсоединить клавиатуру.</p>
<p><a href="http://www.developers-life.com/wp-content/uploads/2010/06/l_2048_1536_17911E9C-4411-46CD-89C0-0987DC2D5BEC.jpeg"><img class="alignnone size-full" src="http://www.developers-life.com/wp-content/uploads/2010/06/l_2048_1536_17911E9C-4411-46CD-89C0-0987DC2D5BEC.jpeg" alt="" width="384" height="288" /></a></p>
<p><span id="more-995"></span></p>
<p><a href="http://www.developers-life.com/wp-content/uploads/2010/06/p_2048_1536_61B6BAAD-C496-4E65-8601-CF090F24C6F5.jpeg"><img class="alignnone size-full" src="http://www.developers-life.com/wp-content/uploads/2010/06/p_2048_1536_61B6BAAD-C496-4E65-8601-CF090F24C6F5.jpeg" alt="" width="336" height="448" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.developers-life.com/%d0%ba%d1%83%d0%bf%d0%b8%d0%bb-ipad.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Программа для создания панорам из нескольких снимков</title>
		<link>http://www.developers-life.com/%d0%bf%d1%80%d0%be%d0%b3%d1%80%d0%b0%d0%bc%d0%bc%d0%b0-%d0%b4%d0%bb%d1%8f-%d1%81%d0%be%d0%b7%d0%b4%d0%b0%d0%bd%d0%b8%d1%8f-%d0%bf%d0%b0%d0%bd%d0%be%d1%80%d0%b0%d0%bc-%d0%b8%d0%b7-%d0%bd%d0%b5%d1%81.html</link>
		<comments>http://www.developers-life.com/%d0%bf%d1%80%d0%be%d0%b3%d1%80%d0%b0%d0%bc%d0%bc%d0%b0-%d0%b4%d0%bb%d1%8f-%d1%81%d0%be%d0%b7%d0%b4%d0%b0%d0%bd%d0%b8%d1%8f-%d0%bf%d0%b0%d0%bd%d0%be%d1%80%d0%b0%d0%bc-%d0%b8%d0%b7-%d0%bd%d0%b5%d1%81.html#comments</comments>
		<pubDate>Tue, 01 Jun 2010 17:49:51 +0000</pubDate>
		<dc:creator>Vladimir Boychentsov</dc:creator>
				<category><![CDATA[Mac OS X]]></category>

		<guid isPermaLink="false">http://www.developers-life.com/?p=990</guid>
		<description><![CDATA[Удобная, простая, функциональная, и абсолютно бесплатная программа для создания панорамных фото 
]]></description>
			<content:encoded><![CDATA[<p><a href="http://goo.gl/KbwL">Удобная, простая, функциональная, и абсолютно бесплатная программа для создания панорамных фото </a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.developers-life.com/%d0%bf%d1%80%d0%be%d0%b3%d1%80%d0%b0%d0%bc%d0%bc%d0%b0-%d0%b4%d0%bb%d1%8f-%d1%81%d0%be%d0%b7%d0%b4%d0%b0%d0%bd%d0%b8%d1%8f-%d0%bf%d0%b0%d0%bd%d0%be%d1%80%d0%b0%d0%bc-%d0%b8%d0%b7-%d0%bd%d0%b5%d1%81.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>
	</channel>
</rss>
