Posts Tagged 'iPhone'

Programming for iOS 7

One thing about being off wandering while everybody else is getting up to speed on a new iOS, hey they’ve got all their writeups ready for you to read when you get back. And my my, there are quite a lot this time around!

TL;DR – Head over to chez Wenderlich and pick up iOS 7 by Tutorials. This series has been a great one-stop for not overlooking anything worth attention since iOS5, and this latest 823 page magnum opus keeps up that tradition. (Or, if you feel like freeloading, check out the free samples: UIKit Dynamics Tutorial, What’s New in Objective-C and Foundation, Text Kit Tutorial, How to Update Your App for iOS 7.)

Still here with lots of time to read? Well, good. You’ll need it!

First up, these guys are getting better every issue — most attempts along these lines peter out well before issue #5 — and October’s issue is an iOS 7 collection:

A very nice-looking series, on day 19 right now, is Introducing iOS7 Day-by-Day: all sorts of more obscure nifty tidbits from QR codes to SafariServices.

And if you’re looking for design tips, there’s plenty in that UI Design for iOS 7 collection we started back when that was new.

Other miscellaneous collections and tidbits worth checking out:

Your Essential iOS 7 Developer’s Guide

iOS 7 Source Code Examples Covering UI Kit Dynamics And More

UIMotionEffects for Dummies

Creating a Custom Flip View Controller Transition and An Interactive Tab Bar Controller Transition

Library Providing A UIColor Category For Easy Access To iOS 7 Colors

Lifting the lid on the iOS 7 UIPicker

A simple way to detect at runtime if we’re running in UIKit legacy mode or the new “flat” variant

And in case you missed it in our ARM64 collection, plan your device testing matrix with

Updated iOS Device Summary with iPhone 5S and iPhone 5C


Tutorial: Using iOS 7 UIKit Dynamics To Make A Pong Game (Animations, Collisions, Physics)

Tutorial: Getting Started With iOS 7′s Text Kit Framework

Handy Library Providing Easy Access To Colors And Gradients Used In iOS 7 Apps And Icons

Animated progress view with CAGradientLayer

Developing for the M7

What’s new with iOS 7 rounded rectangles

Easily Overlooked New Features in iOS 7

Synthesized Speech From Text

iOS 7 UIDynamic Source Code Examples Demonstrating Gravity, Collisions, Snapping And More

Easily Creating Dynamic Transitions On iOS With UIDynamics

Continue Reading →

Translation Tragedy

Oh noes! Remember that localization tool Linguan that we reviewed a while back with the delicately restrained conclusion of

buy it NOW. NOW! NOW! NOW!

Well, not enough of you listened to us, it seems:

It is with a heavy heart that today we’re announcing that we are looking for a buyer interested in acquiring our Mac localization tool Linguan … When sales didn’t make us rich as expected it turned out that there wasn’t enough income to allow for ongoing improvements…

As it stands right now Linguan produces annual sales of around 10000 Euros. This is also the minimum asking price we are hoping for. For anything less BytePoet’s CEO stated that he they wouldn’t agree to sell for but rather keep it as a reference project for their own use.

If we had a little more cash and time sitting around, we’d take them up on that. Seems there must be some translation company out there that’s foresighted enough to see the value in having a fully-toolchain-integrated submission service for Xcode developers, and would be willing to underwrite development or give you a referral percentage or something like that. But you’d also imagine Messr. Drobnik & co. wouldn’t have missed exploring that option, wouldn’t you. Well, if anyone out there is looking for a career in building development tools, we thoroughly recommend this as your first acquisition, it is unquestionably the best tool available to help you organize for an immensely valuable service!

Speaking of translation companies, once you have gotten your translation needed strings sorted out, what do you all use for a translation service? The project we’re working on now does 12 (yes, twelve) languages with Tethras who are a pretty common choice and we haven’t heard any complaints. But here’s some others who profess iOS-specific competence:


Babble-on, who have a great localization tutorial. And like the Glossary here too.

DYS Translations

ICanLocalize, also have a decent tutorial




Smooth Localize



Not overly iOS-focused options that we’ve noted positive feedback on somewhere or other:



Glyph Language Services

Other roundups:

The Developer Economics App Localization list

The Apptamin Localization list

Apple’s Third Party Localization Vendors list (also note the mothership resources list)

Or, if you want to crowdsource your translating, check out


Did we miss your favourite here? Or, more importantly, any listed here that you would warn against? Let us know!


iOS Localization Tutorial: Localize Your Apps to Support Multiple Languages

Localization of Xcode iOS Apps, Part 1 and Part 2 and Part 3 and Part 4

jeroentrappers / LocalizationPOC: “Localization proof of concept for iOS. Let’s you change the language on the fly.”

Lin: A Localization Manager for Xcode 5

TraductoPro Releases a New More Convenient Way to Submit to the App Store

Continue Reading →

ARM64: The Next Generation

So, the last few weeks we’ve been off wandering the wilds of ex-Soviet Eastern Europe and the North Atlantic up Greenland way; did we miss anything?


Well, let’s start catching up, shall we then? The new 64-bit chip is a good place, no doubt. First off, see what the mothership has to say

About 64-Bit Cocoa Touch Apps

ARM64 Function Calling Conventions

Note especially “You cannot build a 64-bit project if it targets an iOS version earlier than iOS 7″. So far. There are rumours a future Xcode will support iOS 6 with the 32-bit slice.

[UPDATE: Notes from the Xcode-user list on lipoing together slices yourself, if you were thinking that would be clever:

"As far as lipo is concerned, there is nothing wrong with such a binary, and in the case of a static library that will be later linked into an application, you’re fine as long as the app’s deployment target is properly restricted. That is, if you build such a library by lipo-ing the individual slices together, as long as the app itself has a deployment target of 7.0, you’ll be fine. There are components in iOS pre-version 7 that were not prepared to see binaries containing 64-bit code, particularly when such binaries are downloaded from the app store (which is why things may appear to work locally for you, but would not work if that code ended up on the app store). Until the changes that Chris mentioned have been made, you will not be able to have an app that both supports iOS 5 or 6 and contains 64-bit code..."

"...I can’t really go into specifics, but rest assured that there is a solution forthcoming."]

And if you hadn’t already been making a practice of using NSInteger and CGFloat religiously in any System-interfacing code … well, it’s time to start!

As always, Mike Ash has the definitive get up to speed guide on far more exhaustively lower level information than you’re ever likely to need:

Friday Q&A 2013-09-27: ARM64 and You

If you’re really into the bit banging enough to want to read the full ARMv8 architecture manual … here you go.

But if you just want to see some real world numbers, check out The Move to 64-bit in The iPhone 5s Review over at AnandTech, exhaustively excellent as always.

If you’re not clear yet on the difference between ARCHS and VALID_ARCHS in Xcode, read

iOS 7, XCode 5 Project Build Settings for Architectures and Arm64 support

For those who provide a static library and want to support iOS 5 through now with just one, read

Static Libs With Support to iOS 5 and Arm64

And finally, for a handy-dandy chart of iOS 5+ devices sorted by chip and OS version and screen size, check out

iOS Device Summary

Handy for planning your test device upgrade strategy!

Continue Reading →

iTunes Affiliate Changes

In case you never got around to slogging through the approval process for Linkshare link kickbacks, you can cross that off your todo list now: there’s a new affiliate scheme in town!

As a valuable member of the iTunes, App Store, iBooks Store and Mac App Store affiliate program, we want to alert you to some important program changes. We are no longer using the Linkshare or DGM networks, so if you are an affiliate in these programs, you need to migrate to the new program.

Performance Horizon Group (PHG) will support our new affiliate program. To continue earning commissions without interruption, you must set up a new affiliate account with PHG and update all existing Linkshare and DGM affiliate links before October 1st, 2013.

We have improved and expanded our program to create a more global platform with enhanced reporting capabilities. The new program terms include a higher 7% commission on eligible sales within a 24-hour purchase window. You can use the same new affiliate tracking token for US, Canada, Mexico, Australia, New Zealand, Russia, Japan and more. Tradedoubler links are not impacted by this change.


Here’s the FAQ explaining the new links, and the affiliate resources page, but you can skip those and just read this nicely done overview:

iTunes Affiliate Linking

Locate the product you want to link to in iTunes and copy its link. This should look something like

Locate your affiliate token. This is in the upper-right corner of your PHG overview screen. It should look something like 10l4B9.

To create an affiliate earning link simply append &at=token to the link. If your iTunes link doesn’t already include a ? then append ?at=token.

(Optional) If you want to track the performance of this link specifically you can then add a campaign token to the link. This is basically just a string that is meaningful to you which will be associated with all purchases resulting from this link. For example, you could add a blog tag to all your blog links to see how they perform. To append a campaign token simply add &ct=campaign_token to the link. The exact text you use is entirely up to you. It just needs to URL-safe and no longer than 45 characters.

You now have a fully formed affiliate link.

Simpler, more international, better paying, what’s not to like?

Oh … that’s right … all those links out there in apps out the wild that are going to be broken until the unlikely event that we ever get around to updating them. Bah. Too bad we’re not as clever as Michael Tsai here:

New iTunes Affiliate Program

I never liked the LinkShare URLs, and I’m not really a fan of the iTunes ones, either. So I’ve been using an Apache .htaccess file to create friendlier links. For example:

RedirectPermanent /store/mac-app-store/eaglefiler

This redirects through LinkShare to the Mac App Store. Fortunately, this means that there’s a central place to update all the links. I also use this approach to create true permalinks in my apps for certain sites that often break their page URLs.

Yes, doing something like that would certainly have been a clever and forward-looking idea. Ah well, barn doors and horses. We’ll be ready for the next affiliate change!


Parameters of iTunes, App Store and Mac App Store links

Growth Hacking with the iTunes Affiliate Program

Continue Reading →

App Website Theme: AppifyWP Pro

So you might recall us mentioning last year this WordPress theme AppifyWP that was a pretty sweet and simple site for your app, and a free landing page too; well, it bears mention again, as they have a new Pro version that lets you easily list out multiple apps. Like, really easily:

Multiple Apps

What makes AppifyWP Pro really glow is a custom post type for your Apps that makes adding your apps as easy as adding a blog post. Each app admin screen is chock full of special settings catered for app developers. A few of those settings include app icon, devices, app screenshots, orientation, App Store links, general appearance, and much much more.

Multiple Platforms

Each app can support up to 9 platforms, with the ability to add a slideshow or video for each platform. Currently AppifyWP Pro has special templates for iPhone, iPad, Android Phone, Android Tablet, Windows Phone, Windows Tablet, Blackberry Phone, PC Screen, and Macbook Air Screen…

Retina Ready

All images used in AppifyWP Pro are retina ready so that your site is crystal clear on high dpi screens. Even images you upload are processed for retina screens as well.

Device Detection

AppifyWP Pro detects what devices people use to browse your site, and if your apps support their device, AppifyWP Pro will display the proper platform to them by default.

Coming Soon Mode

Each platform of an app has a coming soon mode you can enable to hide your app store links and show a custom coming soon message…

There’s other nifty stuff too, but that’s enough to make the point that if you’ve got an ever expanding app stable you want to web support as low overhead as you can possibly manage and still look halfway professional — why this looks like obviously your best option out there by far, head on over and check it out!

(And if you know some alternative that makes this not obviously your best option out there by far? Hey, let us know too!)

Continue Reading →

Video Conferencing: ShowKit

This looks like something well worth looking into if you need some collaboration features in your app quickly: ShowKit!

Screen Shot 2013-08-04 at 8.05.49 AM.jpeg

ShowKit is a mobile SDK that enables iOS developers to add in-app Audio/Video Conferencing, Screen Sharing, and Remote Control between mobile devices to their native apps. We recently introduced our SDK to market and are looking for beta testers. If interested, you can access our beta by typing in promo code “SKIT87″ here.

As a reward for entering our beta you’ll get your first 50,000 Minutes of call time free (normal starting rate is 25,000 minutes of free calls once our beta is over).

Don’t have time to check it out ourselves right now, but that’s a pretty unique set of drop in features and it’s very nicely documented and the pricing seems reasonable, so if you’ve got a use for on device conferencing/VNC type stuff, we wholeheartedly encourage you to sign up with that “SKIT87″ code and let us know what you think!

Continue Reading →

UIKit cocos2d Style

Here’s a couple interesting libraries for the cocos2d programmer that the good folk over at found:

Cocos2D Inspired UIKit Library Allowing You To Easily Render Tilemaps And Movable Sprites

I’ve mentioned the Tiled tool for making game tilemaps with the TMX tile format, and the Texture Packer tool for creating spritesheets which are commonly used with the Cocos2D game engine.

Here’s a library from Moshe Berman providing a simple graphics engine for tile based games allowing you to render TMX maps, and sprites along with other handy features such as virtual controls and game state management…

Library Providing Cocos2D CCAction Style Animation Sequences With UIKit Elements

Here’s a library submitted by Nicholas Tau that provides Cocos2D style animations called UIKitAimationPro.

This means that you can easily create complex animation sequences with UIKit elements, also with nice blocks based callbacks.

As Nicholas states in the read me: “It helps you create a sequence of animations like the way in cocos2d. (also like Sprite Kit even without iOS7)”…

That’s certainly one approach to unifying your iOS 6/iOS 7 interface!

Continue Reading →

Programming iOS with JavaScript

So while we’re all twiddling our thumbs waiting for The Great Dev Center Outage of 2013 to end so we can get back to work, how about we find some useful yet completely non-Apple technology to brush up on while we wait? Yes, yes, “useful” and “non-Apple” make it sound like we’re doing a humour piece today, but no! here’s something you just might have overlooked that gives usefulness to what may be a new skill to brush up, brush off or just plain start on learning, and that is: JavaScript!

‘Course, we’ve had ways of communicating with UIWebView for forever, and there’s a veritable plethora of platforms for hybrid apps, but you may have missed a more deeply integrated method that we posted about a while back:

… JavaScriptCore is a part of the open source WebKit project. Instead of using the private library that comes with iOS, you theoretically could compile your own version of this library and bundle it together with your App. Which is exactly what I did…

… Even better would be if Apple would make JavaScriptCore public, and even turn on the Nitro JIT for everyone. I suppose I should file a bug on that…

Looks like that bug got filed! In case you don’t follow WebKit commits, read Apple’s new Objective-C to Javascript Bridge:

A few month back, Apple quietly slipped a very nice Objective-C to Javascript bridge into WebKit. Since the first commit while we were busy celebrating New Year’s Eve, it has been fairly actively developed and improved. 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.

It seems likely that this API is going to become public in Mac OS X 10.9 (where JavaScriptCore is already a public framework), and it might be a hint of an eventual public API on iOS. Either way, a new option for building hybrid JavaScript apps is here…

And not too long later, why look what shows up in public:

JavaScript and iOS 7 – The bridge to happiness

I am really excited about something that I haven’t seen mentioned much, and that is a new bridge between the worlds of JavaScript and the runtime of iOS and OS X:

“Introducing a new Objective-C API to JavaScriptCore. iOS developers can now integrate scripting into their apps without having to bundle custom language interpreters. This API builds on top of the existing C API to JavaScriptCore available on Mac, and makes programming with JavaScript much easier and less error-prone.”

And another:

iOS 7 Development: Everything You Need To Know To Get Started

JavaScriptCore – Allows for wrapping of standard JavaScript objects into Objective-C (the code used for iOS apps). Should allow for porting of apps between different mobile operating system platforms.

So, seems like a good idea to brush up on JavaScript, yes…


… but let’s try to be selective about it, shall we? So, Dear Readers; what’s your best resources for getting up to speed quickly while we keep refreshing the dev portal every few minutes? Got a couple here,

Basic JavaScript for the impatient programmer (h/t

DevDocs (h/t @rwenderlich)

Let us know what works for you!


8 Best JavaScript Frameworks For Mobile Application Developers

Ionic is reputed to be an impressive-looking hybrid framework.

Apple’s iOS7 Native JavaScript Bridge

siuying / JavaScriptCoreOpalAdditions: “Use Ruby in your Objective-C apps.”

JavaScriptBridge for iOS

JavaScriptCore by Example

JavaScript Bug Traps and Bridging iOS WebViews

Continue Reading →

Roundup: A/B Testing

So we were asked recently “What’s your experience with A/B testing on iOS?” After quashing our instinctive retort of “Hah! They’ll be ice skating in hell the day there’s enough time and budget to ship ONE version of anything properly, never mind TWO!” we, well, weren’t left with much of anything. Ring any bells there, dear fellow contractors? Yeah, thought so. So let’s go looking for what tools are out there for that sort of thing, shall we?

In case you haven’t encountered the concept before, A/B testing (aka split testing aka bucket testing aka optimization testing) is essentially randomized focus group surveying; do two (or more, in which case it’s called MVT, multivariate testing) versions of your ad campaign or your landing page or your checkout screen or whatever, metric up whatever your success criteria are, and serve up the different versions to different users and see which version metrics out better. Rinse and repeat.

In the web world, this is a widely used practice and there’s no shortage of tools to help you out with it, from to Adobe® Test&Target™ to Amazon A/B Testing Service to Optimizely to SiteSpect to Visual Website Optimizer and oodles of others. (And as an interesting aside, check out How to Increase Your Mobile App Sales With A/B Testing and Increase iPhone App Downloads by A/B Testing App Names for tips on addressing A/B testing for all your App Store materiel — name, icon, description, and screenshots — by way of selectively advertised landing pages. Neat idea, that.)

In the iOS app world, not so much; until researching this we’d only ever heard of the idea being used extensively in the context of Zynga’s development practices. But a quick Google immediately turned up a flurry of results for

Screen Shot 2013-07-09 at 1.48.41 PM.jpeg

Clutch’s native mobile A/B testing tool helps you to choose the best way to present information to your users. It works by showing users different variations of your app, and then measures the effectiveness of each variation. Until now, app developers have been forced to build their own tools to do this kind of testing. With Clutch’s A/B testing tool, you get an easy yet powerful platform to start running these tests in minutes…

Well, there we go then! Or … not so much. is winding down – for more information about the future of and how you can smoothly transition your apps, please see our announcement.

They did open source it so if you want to host your own custom A/B framework server , why there it is at clutchio/clutch along with all the other pieces of the puzzle. But many of us are probably looking for a hosted solution I expect; so let’s keep looking. And, rather to our surprise, there is a veritable plethora of them out there:

Apptimize: $50/monh up to 1M installs

Screen Shot 2013-07-09 at 4.31.38 PM.jpeg free open beta

Screen Shot 2013-07-09 at 4.36.45 PM.jpeg

Artisan Mobile: $1000/month up to 25K users

Screen Shot 2013-07-09 at 4.40.28 PM.jpeg $18/month up to 10K samples

Screen Shot 2013-07-09 at 4.45.38 PM.jpeg

Leanplum: apply for beta

Screen Shot 2013-07-09 at 4.48.07 PM.jpeg

Optimimo: $49/month up to 10K users

Screen Shot 2013-07-09 at 4.53.09 PM.jpeg

Pathmapp: $19/month to 2K users

Screen Shot 2013-07-09 at 4.55.12 PM.jpeg

Swrve: by request, apparently

Screen Shot 2013-07-09 at 4.59.06 PM.jpeg

And that appears to be an exhaustive list of hosted services … this week. If none of those look your thing and you want to roll your own with your different flavour of analytical choice or whatever, besides the above mentioned clutchio full stack collection there’s a variety of other projects on github to get you started too:


An iOS Library to support A/B Testing remotely defined values in Apps and reporting back to a server. Includes native controls for A/B Testing UIButton text and background image. Includes generic ABTestCase for testing any NSString value…


This is an Objective-C wrapper for the Conductrics service, which provides an API for bandit-style optimization, dynamic targeting, and A/B testing.


Switchboard – easy and super light weight A/B testing for your mobile iPhone or android app. This mobile A/B testing framework allows you with minimal servers to run large amounts of mobile users.


SkyLab is a backend-agnostic framework for multivariate and A/B testing … integrates easily into any existing statistics web service. Depending on your particular needs, this may include posting to an endpoint in test blocks, or perhaps setting an HTTP header for a shared API client…


Remote configuration and A/B Testing framework for iOS. Documentation available online.

And … nope, run out of links finally. That was particularly autodidactical of a post, we’d had no idea this A/B thing was such a hotbed of development frenzy. As always, if we managed to overlook something Dear Readers, let us know in the comments!


Bestly: A/B Testing for Native Mobile Apps

9 Mobile A/B Testing Tools – Optimize Apps Without Submitting an Update

TestNest – A-B test app meta-data before the App Store release

I Spent All Summer Running A/B Tests, and What I Learned Made Me Question the Whole Idea

Continue Reading →

Tip: Xcode 5 Launch Crash

So you installed the latest Xcode 5 DP hotness and … it crashes hard every launch?

The trick here is, it looks at the same folder your out Xcode 4 install does for plugins:

~/Library/Application\ Support/Developer/Shared/Xcode/Plug-ins

… and as a rule They Just Won’t Get On with the shiny new ARC-ified Xcode. So what you want to do is delete or rename that folder, and you’ll be good! Well, good as you can be without Alcatraz and all the other goodies you’ve pimped out Xcode 4 with, but progress is never painless, right?

Continue Reading →
Page 7 of 97 «...56789...»