May 22, 2013

Prototype In Xcode Using Storyboard

Meng To, a self-taught UI/UX designer:

In this tutorial, I will focus on the Storyboard feature, a powerful tool in Xcode that allows you to build an App without a single line of code. You will be able to create a functional prototype in a matter of hours.

If you need a running start with Storyboard, I recommend you take a look.

iOS Crash Reporting: Part 2 of 2

Cesare Rocchi, from the Ray Wenderlich iOS Tutorial Team, continues with Part 2 in his series on working with crash reports.

In this post Cesare takes a close look at five crash reporting tools: Crashlytics, Crittercism, Bugsense, TestFlight and HockeyApp.

May 21, 2013

Miami Beach Develops First-Of-Its-Kind API

SD Times Newswire:

Miami Beach is the first destination in the country to invest at this level in an API to foster development of Miami Beach-based mobile apps and other future technologies. The API allows app developers to take advantage of, and mine, existing (and real-time) Miami Beach data to create applications that focus on shopping, dining, arts, entertainment, nightlife, sports, music, transportation and other areas.

The API platform will support third-party mobile application development for iOS (Apple), Android and Blackberry devices by allowing programmers access to data directly from Miami Beach.

Interesting idea.

iOS Open Source: Circular Menu For Content Sharing

Camden Fullmer:

CFShareCircle is a better way for app developers to let users share the content to many different services. It is a simple UIView that adds drag and share capabilities to a developers application.

CFShare as coded in the demo project:

You can download CFShare from github.

From C++ to Objective-C

A few years old, still a good read.

Pierre Chatelier on C++ to Objective-C:

At first, the Objective-C language seems to be an obstacle rather than a boost for Cocoa programming : it was so different that I couldn’t get into it. It took me some time to appreciate its challenges, and understand the many helpful concepts it supplies.

According to me, C# is, despite a bunch of advanced concepts, far less interesting than Objective-C, because it gives hard access to simple Objective-C features, and the Cocoa API quality is miles ahead of .NET. This personal opinion is not the subject of the present document.

Performance Of Concurrent Core Data Stacks

Florian Kugler provides a thorough analysis comparing the performance of three variations of Core Data Stack setups.

Xcoder Tool To Simplify Scripting & Automating iOS Builds

Written in ruby, Xcoder wraps the various build tools (Xcodebuild, keychain, etc) to automate the build process of iOS and Mac applications.

Cleaning Up Bad Code Via Dependency Graphs

Nicolas Seriot shares:

As developers, we all love clean code, but the fact is that most of the time we’re dealing with bad code. It may be recent or legacy code, written by ourselves or by other developers. We can recognize bad code because code smells. In other words, some heuristics raise questions about code quality. Among thoses we can name dead code…and tight coupling.

Nicolas goes on to explain how it is that one can achieve loose coupling, first by understanding the existing coupling, which is where his github project comes into play.

Here’s how it works:

I wrote objc_dep.py, a Python script which extracts imports from Objective-C source code. The output can then be displayed in GraphViz or OmniGraffle. You can then see an oriented graph of dependencies between classes.

And a finished graph:

May 20, 2013

Programming Magic With ReactiveCocoa

Ash Furrow on ReactiveCocoa:

When I was in university, every time I sat down to program I felt a rush of excitement and a sense of exploration. I would always learn something new, and things always felt new to me.

Somewhere along the way, programming lost its magic.

however…

…ReactiveCocoa feels like magic because it is magic: a collection of clever tricks on top of the Objective-C runtime that gives programmers the freedom to program declaratively.

Worth a look if you need a shot of adrenaline.

Default Image Sizes for iPhone & iPad

A good reference for iPhone and iPad for default launch image sizes.

Marco Arment On The One-Person Product – Tumblr

Marco Arment on Tumblr:

In 2006, I moved to New York and started working for David Karp doing web development for various media companies. That fall, in a brief gap before starting a new client, David said that we were going to make a prototype of an idea he’d had for a while. He had already bought the domain: tumblr.com, because it was an easy platform for publishing tumblelogs.

And we all know where this ended…congratulations.

iOS Crash Reporting: Part 1 of 2

Cesare Rocchi, a member of the Ray Wenderlich iOS Tutorial Team does a deep dive into symbolication (from crash report to offending source code), how to walk a user through the process of finding a crash log and describes the workings of iTunes to retrieve crash reports for an applications in the App Store.

There is also coverage of Crashlytics, Crittercism, Bugsense, TestFlight and HockeyApp, all third-party tools to assist with managing crash reports.

Keep an eye out for Part 2:

In the second part of this article, I will show how to get started with each of these services, integrate it with your app, and give you a tour of the various crash logs and other features.

Objective-C To JavaScript Bridge

Nigel Brooke of Steamclock regarding Apples Objective-C to Javascript bridge:

This new API supports straightforward embedding of the JavaScriptCore interpreter into native Objective-C projects, including reading and writing variables and object members with appropriate type coercion, calling methods on JavaScript objects, and directly binding Objective-C objects into JavaScript.

There is an update to this post near the bottom

Francisco Tolmasky pointed out on Hacker News that this API is not entirely new, but is an evolution of some existing parts of WebKit.framework: WebScripting and WebScriptObject.

Sponsor: Cocoa Controls

Cocoa Controls is a repository of custom controls for both iOS and Mac OS X. Developers can peruse all controls available by date, platform or license type.

The Cocoa Controls blog features the most popular controls of the week as well as a Weekly Roundup of what’s new.

You won’t find a more complete collection of iOS and Mac controls anywhere.

Thank you Cocoa Controls for sponsoring iOSDeveloperTips.com this week.

Unit Testing UIAlertView and UIActionSheet

Think unit tests and UI code don’t mix?

Jon Reid on the topic:

People assume you can’t write unit tests for user interface code. That just ain’t so. I’ve already shown you how to do UIViewController TDD. Can we do the same for UIAlertView and UIActionSheet? Sure!

Jon also includes a github project:

The example project includes two versions of the tests: one in plain OCUnit, and one using OCHamcrest. OCHamcrest is not required — but compare the test code (especially checking the otherButtonTitles NSArray) and you’ll see why I prefer it.