Friday, January 28, 2011

Wednesday, January 26, 2011

Process 1018 Exceeded 500 Log Message Per Second Limit

Just found this new error code from iPhone console log:
Tue Jan 25 15:52:19 unknown App Name[1018] <Error>: *** process 1018 exceeded 500 log message per second limit  -  remaining messages this second discarded ***

Monday, January 24, 2011

How to Do Autologin to Facebook Using FBConnect

Trying to integrate Facebook connection into a non-disclosured iPhone application, suffering with lack of documentation. Wonder why everything has to be done the hard way... for example auto-login was missing from demo.

Grab FBConnect sources from FBConnect Github repository, fix the demo to work for you (instrunction how to do that were long, but excellent) - and then add these modifications in DemoAppViewController.m:

Friday, January 21, 2011

What is Inside UIImagePickerControllerMediaMetadata

Been debugging UIImagePickerController too many times, so it's time for some tips. The most easy way to see what's in there somewhere. Also including a sample output.

Thursday, January 20, 2011

Warning: Unable to read symbols for /Developer/Platforms/iPhoneOS.platform

Got mysterious warnings, while trying to debug an application in iPhone device. Used to work, but suddenly not any more! The only difference I can think of is that I'm using Facebook iOS SDK for the first time.

Tuesday, January 18, 2011

How to Control Which iPhone Simulator Starts

Been debugging application, verified several fixes were ok in simulator. Installed application on real device, just to find out bugs were still there!

What's going on?

Sunday, January 16, 2011

Comparing iPhone and iPad Simulator Fonts

After I checked new Fonts in iPhone 4.2.1 it was just a question of time until I would start wondering iPhone vs iPad fonts.

Here's a quick and small chart about iPhone & iPad fonts in simulator. Would do comparison between real devices, but don't have enough of those. Does anyone ever :)

How to Check if iOS Supports Class, Method or Keyword

iOS is getting fragmented. More devices to support with major iPhone hardware differences (0-2 cameras, no telephony - 3G - CDMA), screen resolutions (original, double, iPad) and especially more older operating system versions out in the wild.

To reach as many users as possible you have to check whether something exists before you try to use it. Customizing code based on iOS version number is possible, but there are other ways to do it.

Thursday, January 13, 2011

How to Shorten iTunes Links

Updating my CV, wanted to add a link to a released application inside AppStore. Since I had to search how to do it (again), I now write it down here:
  1. Go to your product in AppStore
  2. Find the popup menu and select "Copy Link"
  3. http://itunes.apple.com/fi/app/zattr/id376987618?mt=8
  4. Remove the host name "apple" from URL
  5. Remove AppStore country code, "fi" in this case
  6. Remove everything after your application name
  7. http://itunes.com/app/zattr
  8. Copy & paste into your CV
All done now, looking good!

Tuesday, January 11, 2011

What to Do When Other Company Threatens You at AppStore

Company Lima Sky is rumoured to be threatening small authors who use word "doodle" in their application.

Does Lima Sky have a case? Maybe. Based on rumours (*) I've seen, they do not. Might be I'm missing some vital information, which would reverse my opinion. However this is related to recent news about Apple removing VLC from AppStore (news via TUAW) due same kind of events.

Wednesday, January 5, 2011

How to Debug NSURLConnection HTTP Headers

When you are connected to a server somewhere in internet and something doesn't seem to be quite right, what would you do?

That's right, check HTTP headers from server response:

Tuesday, January 4, 2011

How to Update CFBundleVersion Before Building Application

Used to update application version number in appDelegate.m during startup. The problem was that user has to run the application at least once to update version number in system Settings application.

Before that moment version number was either missing or wrong, depending on what the default value was. Not good.