Videos tagged with Cocoa
Why and how to do unit testing for Cocoa (Mac) applications using OCUnit, which comes with Xcode. I'm not an iPhone developer, so please don't ask me about testing for iPhone applications. Instead, see this blog post by my friend Colin Barrett: http://iamthewalr.us/blog/2008/11/10/ocmock-and-the-iphone/ This video is based on a presentation I gave at the December 2008 meeting of CocoaHeads in L...
ChocTop – packaging and deployment of Cocoa applications
ChocTop packages and deploys any Cocoa application in a custom DMG, with generated Sparkle XML support. This is a tutuorial on how to use ChocTop. It takes 30 minutes to watch the tutorial but only 5 minutes to use ChocTop.
RubyConf 2008: OS X Application Development with HotCocoa
HotCocoa is a thin, idiomatic Ruby layer that sits above Cocoa and other frameworks. HotCocoa will be included with MacRuby when it ships in future versions of OS X and is currently included in the MacRuby distributions. Cocoa classes have extremely verbose method and constant names. A substantial amount of code is written to just instantiate and configure instances of these classes. Interface ...
Developing iPhone Applications using Java
Apple's iPhone has resulted in significant interest from users and developers alike. Apple's SDK for the iPhone is based on Objective-C as the development language as well as Cocoa for the GUI. Unfortunately Apple's license agreement for the iPhone SDK prohibits the porting of the Java virtual machine to the iPhone. In this presentation we introduce an Open Source Java-to-Objective-C cross-comp...
RubyConf 2008: MacRuby: Ruby for your Mac
Everyone wants to develop Cocoa in Ruby. It can create awesome Mac apps. But you need to develop in Objective-C. Which is not so pretty. However, they both share some of the same concepts and ideas. RubyCocoa exists, but it's a bridge. So conversion is happening and that is slow and resource intensive. And each runtime has a different garbage collector! MacRuby interprets Ruby on the Objective-...
Adium: Multi-protocol Chat for the Mac
Adium is now a widely-known multi-protocol chat program for the Mac, but this was not always so. Beginning as a single developer's pet project to learn Cocoa, Adium has evolved considerably through its 6 year history. This talk will discuss the best features of Adium, the major milestones in Adium's development, and where it looks to be going. Speaker: Matt Handley Matt Handley is a PhD candida...
Core Animation Episode 6: Adding Reflections and 3D Transformations
In this final episode, we’ll finish up the Cover Flow application by adding reflections to each of the photos and apply 3D transformations to the side photos. You’ll learn how to: add images and their masks to a reflection layer use Quartz drawing functions to create gradients for reflection masks rework the layout manager to properly handle 3D transformations apply 3D transformatio...
Core Animation Episode 5: Integrating with iPhoto
We’ll replace our hard-coded photos with photos pulled from iPhoto albums using a pop-up list to select the album. You’ll learn how to: integrate with iPhoto using the Scripting Bridge framework interface with applications that are AppleScript-enabled use the sdef and sdp tools to generate header files bind a controller to a pop-up list to select photo albums using Interface Builder
Core Animation Episode 4: Creating Perspective Transformations
In this episode we learn about 3D transformations to give our images perspective. We rotate the images from the previous images in 3D space and start to talk about all the effects we’ll use to get the Cover Flow look. This episode fleshes out the example so it’s better suited to providing the richness of a Cover Flow UI. We also get to see several debugging techniques (prompted by a...
Core Animation Episode 3: Using a Custom Layout Manager
In this episode we will continue to build out our example application by using layout managers to arrange multiple images. We will initially use the built-in constraints based layout manager. Constraints will be explained and used to flesh out the example. After seeing the various features of the built-in layout manager, we will build a custom layout manager.