As a christmas present to everyone, i’m opening my toolbox and open source my iOS App Template. JSON-Parsing, AutoUpdating, CrashReporter+Sender, Statistics, custom Logging, Localization… all those little things already set up, ready for you to make awesome stuff!

Running it is rather unspectacular, all you see is a shadowed UITableView. It’s the libraries that are awesome; and for many of you there’ll be some new things to discover. It’s really useful as a kickstart for new apps. Feel free to fork and make changes; just contact me for what you use it.

Whats in the box?

  • Localization for English/German pre-setup
  • Xcode agnostic gitignore setup
  • Completely setup autoupdating via Hockey, with custom Target for instant App-Distribution. All you need is to modify the ssh script in the BetaDistribute target and setup a server with the Hockey server parts: https://github.com/TheRealKerni/Hockey
  • Integrated Crash Reporter Server sender. Just activate in PSDefines and https://github.com/TheRealKerni/CrashReporterDemo
  • Adapted symbolicator for remove crash report symbolication
  • Integrated super fast and efficient YAJL JSON parser

    http://lloyd.github.com/yajl/

  • PSFoundation for all those little categories, reachability and co:

    https://github.com/steipete/PSFoundation

  • Flurry for app statistics. Just add your statistics key to kFlurryStatisticsKey

    http://www.flurry.com/

  • Custom logging (cocoa-lumberjack) with file logging and NSLogger integration See https://github.com/robbiehanson/CocoaLumberjack and https://github.com/fpillet/NSLogger
  • RegexKitLite

    http://regexkit.sourceforge.net/RegexKitLite/

  • asi-http-request for everything http-related; better alternative to NSURLConnection

    https://github.com/pokeb/asi-http-request

It’s on GitHub.

3MobileTV in the News

12 Dec
2010

My latest app (which is currently in review) was featured in an german news article. Man, this makes you proud!

A more in-depth blogpost with all some technical details will follow soon. And hell, I even have the gloves ;)

For my latest iOS application, a series of really, really strange crashes bugged me. Always crashing somewhere else (I use CrashReporterDemo to get the crashes) … and never when I was using the app, but with my testers. Stacktrace crashes seemed random, most times in Apple’s classes. And ALWAYS deep within malloc. Ahh! First pointer to the source. Somewhere, somehow there must be some memory corruption.

But wait! I’m using NSZombiesEnabled! Heck, I turned on every freakin’ debug aid i found!

Read the rest of this entry »

Just a small tip, if you’re using CrashReporterDemo to manage your bug reports
(Do it yourself! don’t rely on Apple! They’re far to slow, and it doesn’t work for AdHocs..)

So, with Hockey (you’re doing it wrong if you don’t use it), there’s the script that autouploads the adhoc files on the server. And of course they get archived.

But ha! There’s the catch! Instead of naming them like

com.youdomain.app.1.0.0, change it to AppName.com.youdomain.app.1.0.0

Why, you ask? Well, symbolicatecrash is some perl crap and trunicates the appname after a dot. It’ll find you files, but not the executable within (it will search for “com” in the first example)

You’ll get errors (if run with -vv) like “Did not find executable for dsym” and “Warning: Can’t find any unstripped binary that matches version of …”

So, change lines of
$bundleIdentifier $bundleVersion.app
to
$executableName.$bundleIdentifier.$bundleVersion.app

and you’re good to go.

Update: And don’t forget to NOT use the symbolicatecrash from Apple, instead use this one.

(This is a post about the austrian internet provider UPC, so don’t mind if you don’t speak austrian, it’s probably not interesting for you anyway)

Ab 1. Jänner gelten für Bestandskunden neue AGBs bei UPC. Wer nicht will, dass seine persönlichen Daten für Marketingzwecke, Bonitätsprüfungen und weitere Analysen bereitgestellt werden, sollte das dem Provider mitteilen.  (siehe ORF Artikel)

Update 1: Das ist keine Kündigung, es geht nur um Rechte, die sich UPC einverleibt, die sie nicht benötigen.

Update 2: Einer meiner Leser hat vorgeschlagen, dass man sich den Widerspruch bestätigen lassen soll, habe den Text dahingehend aktualisiert.

Widersprochen kann per Mail oder Fax, hier mit dem Text-Template:

Meine Kundennummer: xxxxxxxxxxxx

Datum: TT.MM.JJJJ

Sehr geehrte Damen und Herren,

hiermit widerrufe ich die Zustimmung zur Verwendung meiner Stammdaten, Verkehrsdaten und sonstiger personenbezogener Daten, welche in den Punkten 19.6, 19.7 und 19.8 Ihrer ab 1.1.2011 gültigen Allgemeinen Geschäftsbedingungen formuliert ist.
Dies erfolgt gemäß dem darin zugestandenen Widerrufsrecht.

Ich erwarte von UPC eine Bestätigung per E-Mail, in der Sie meinen Einspruch zur Kenntnis nehmen und ihm Folge leisten.

Mit freundlichen Grüßen,
xxxxxxxxxxxxx
top

Switch to our mobile site