Posts Tagged 'Programming'

WWDC Videos

Now this is a pleasant surprise indeed; WWDC 2010 videos are up already,

… and they’re free through iTunes …

… even if you didn’t attend.

That’s the first time that’s ever happened, we believe. So there you go everybody, it’s SHOWTIME!

h/t: @jeff_lamarche!

… and while we’re on the subject of development videos available through iTunes for free, you might also want to check out on iTunes U 35 hours of

Advanced iPhone Development course from Madison Area Technical College

Reputedly “The Core Animation session is great”.

Continue Reading →

cocos2d vs. iPhone 4

So you get this email first thing this morning about your latest game:

I am attaching updated images for <REDACTED> (images for iPhone 4 are added)

Oh, snap. So how much work will it be to get cocos2d, which of course this is written with, to be iPhone 4 savvy?

Well, not too darn much, as of … today! From the man himself:

You need to initialize the EAGLView manually. This is a new feature of v0.99.4-beta.


// Create an EAGLView with a RGB8 color buffer, and a depth buffer of 24-bits

EAGLView *glView = [EAGLView viewWithFrame:[window bounds]




// Then call the following methods

[glView <REDACTED>:2]; // a)

[director <REDACTED>:2]; // b)

Once SDK 4.0 is out of beta (no NDA), the “a)” won’t be needed since it will be called from the director.

Example of initializing the EAGLView manually.

(The “<REDACTED>” method name is fairly self-evident if you do, indeed, have the NDA-covered SDK.)

Excellent, excellent. And we got that response in eight minutes flat. No, seriously, eight minutes flat.

Just in case we haven’t mentioned this recently enough, if you’re using cocos2d, you really ought to support its development, as a decent open source graphics engine is pretty rare, and a decent open source graphics engine that’s constantly updated and supported with the speed of hummingbirds on meth, well that’s just completely unheard of. We bought both the Sapus Tongue source and the LevelSVG editor, and so should you!

Continue Reading →

Safari Extensions

So you’ve probably heard that now you can build Safari extensions (simple intro here), and Safari’s got its own Dev Center and certification process and all. Quite the effort they’re putting behind this, isn’t it? Almost as if they have bigger plans to come, or something. In the meantime, here’s a few links that are keeping track of the first attempts at extension building until the official gallery opens:

Safari Extensions (

Safari Extensions (


25 Safari Extensions You Can Install Now

And we’ll start making a list of extensions with officially provided source here too:

Johan Brook’s Helvetify

Jérôme Gravel-Niquet’s Beautifier

Alexander Chuprin’s Read-in-Google-Reader

Rob Wilkerson’s Add To Google Reader


Ching-Lan ‘digdog’ Huang’s Emoji

… and of course “.safariextz” files appear to be bog standard .zip so you can pretty much dig around them for anything you want, long as that doesn’t stress your ethics unduly.

If you have any other worthwhile sites or projects to add here, suggest away!


Great, as usual, Ars Technica article on developing Safari extensions!

Continue Reading →

RegexKitLite PANIC!

You remember way waaaaaay back when we mentioned that RegexKitLite looked like pretty awesome stuff for your iPhone app’s regular expression needs?

Well, we hope you didn’t actually listen to us, or you have a problem now, apparently:

Bad News, Everyone! — Professor Farnsworth

I’ve received nearly half a dozen reports that iOS4 applications using RegexKitLite are now being rejected when they are submitted for AppStore approval due to violating section 3.3.1.

I don’t wish to speculate publicly as to why at this point due to the fact that iOS 4 is still under NDA. Needless to say, if you application uses RegexKitLite, you should prepare for the fact that it will likely be rejected at this point.


The Sourceforge project page has some discussion of this as a potential issue (search for “The iPhone 4.0 SDK Agreement”) and available alternatives (search for “iPhone OS ≥ 3.2″, so if this is an issue for your about to be submitted app, we suggest you start there. Good luck with that!

Continue Reading →

Introduction to NEON

So if you have any need for hardcore DSP-type stuff in your iPhone app, and you don’t already know all about the ARM® NEON™ engine, here is the article for you:

Introduction to NEON on iPhone

A sometimes overlooked addition to the iPhone platform that debuted with the iPhone 3GS is the presence of an SIMD engine called NEON. Just like AltiVec for PowerPC and MMX/SSE for x86, this allows multiple computations to be performed at once on ARM, giving an important speedup to some algorithms, on condition that the developer specifically codes for it.

Given that, among the iPhone OS devices, only the iPhone 3GS and the third-gen iPod Touch featured NEON up until recently, it typically wasn’t worth the effort to work on a NEON optimization, given that it would benefit only these devices, unless the application could require running on one of them (e.g. because its purpose is to processes videos recorded by the iPhone 3GS). However, with the arrival of the iPad it makes much more sense to develop NEON optimizations. In this post I’ll try to give you a primer on NEON…

Good stuff, good stuff. Now, for most of us, no doubt the Accelerate framework publicly announced for OS 4.0 is going to cover most everything we’re going to have any probable use for, but hey, if you’re really hardcore … this is what you need!

Continue Reading →


If you’ve done any work with the Keychain, you’ve no doubt noticed that it’s not the most elegant of APIs. Here is EMKeychain to fix that for you:

EMKeychain is a Cocoa wrapper class for Keychain, which has unfortunately been frozen in carbonite. It’s much cleaner than interfacing with keychain yourself, is actively used in commercial-grade products, and is completely documented.

Haven’t tried it ourselves just yet, but hey it seems like nice work!

Continue Reading →

BDD Testing: Cedar

So let’s say you’re interested in Behaviour-Driven Development testing of your iPhone projects. But there isn’t anything to help out Objective-C like all the cool kids have, you say? Not so! Here is your introduction to Cedar:

BDD-style testing using Objective-C

… One of the things I found I miss most in testing Objective-C, Java, or C++, is the hierarchical structure for organizing tests that frameworks like RSpec or Jasmine provide. I find nested describes indispensable for managing orthogonal aspects of the classes under test, for handling preconditions, for eliminating redundant setup code, and for generally keeping my sanity. So, when I first heard about the addition of blocks in the GCC compiler for Objective-C the first application that came to mind was testing.

So, I wrote Cedar, a BDD-style framework for writing tests in Objective-C. The code is available here. Perhaps more importantly, Cedar is in its infancy so I’m interested in any suggestions and feedback. To that end, I created a public Tracker project for it here

and a followup post correcting people who thought it wouldn’t work for iPhone development:

BDD-style testing for iPhone projects

… I actually wrote Cedar specifically for testing iPhone OS projects we’re working on at Pivotal. To prove it, I’ve started a small public iPhone project that I’ve test-driven entirely with Cedar. You can get the project here (more on that in a bit); it should eventually allow you to log into Pivotal Tracker, see all the delivered stories in a given project, and accept or reject each one…

So that looks like that might be an interesting new development style to take up. Although, at this exact point in time, one might wait for that currently-NDA’d version of Xcode to be released before making any firm commitments…

h/t: iPhoneFlow!

Continue Reading →

cocos2d + Tiled

Well, looks like tutorial maestro Ray Wenderlich has another exhaustively detailed production for us, this time detailing the Tiled Map Editor along with cocos2d that we’d noticed before looked like an intriguing development environment, in

How To Make a Tile Based Game with Cocos2D

Collisions and Collectables: How To Make a Tile Based Game with Cocos2D Part 2

Good stuff, good stuff. For more relevant information, check out

cocos2d wiki — Tiled Maps

Tiled wiki

and if you haven’t already, check out all his other cocos2d tutorials while you’re over there:

How To Make A Simple iPhone Game with Cocos2D Tutorial

Rotating Turrets: How To Make A Simple iPhone Game with Cocos2D Part 2

Harder Monsters and More Levels: How To Make A Simple iPhone Game with Cocos2D Part 3

How To Create Buttons in Cocos2D: Simple, Radio, and Toggle

Intro to Box2D with Cocos2D Tutorial: Bouncing Balls

How To Create A Breakout Game with Box2D and Cocos2D Tutorial: Part 1/2

How To Create A Breakout Game with Box2D and Cocos2D Tutorial: Part 2/2

How To Use Box2D For Just Collision Detection with Cocos2D iPhone

Quite the collection, indeed!

Continue Reading →

UIScrollView Menu

Here’s a detailed howto on implementing a useful-looking UI widget extension:

Digital Post, my newspaper app for the iPad, uses a number of custom user interface elements to build out the full user experience. One of these custom components is a horizontal topic selector that you can swipe and also tap to select individual topics…


Not terribly complicated, but a nice implementation, featuring just how easy it is to use UITapGestureRecognizer.

Continue Reading →

Tip: UITabBar Tint

So you may have noticed that unlike most controls in UIKit, there’s no way to mess with the tint color of a UITabBar. But let’s say you really really want to make your UITabBar look different: well, from the people who brought you that nifty BarTint tool, here’s how to go about that:

CGSize tabBarSize = [tabBar frame].size;
tabBarFakeView = [[UIView alloc] initWithFrame:
CGRectMake(0,0,tabBarSize.width, tabBarSize.height)];
[tabBar insertSubview:tabBarFakeView atIndex:0];
[tabBarFakeView setBackgroundColor:[UIColor redColor]];

… and apparently the buttons will get drawn acceptably on top of whatever color/image/whatever you stick a view in there for. We’d be just a teensy little bit nervous that the SDK Police might consider this “undocumented API”, having encountered issues of that sort before, but hey, if somebody really really wants their UI to look just so, there you go!

Continue Reading →
Page 60 of 94 «...3040505859606162...»