Archive for the 'common news' Category

22 JuniOS 4.0 released, what’s that?

It’s a very expected update.

There are so much new features and possibilities that I couldn’t decide what to taste first and decided to continue everyday work. Later watching forums comments I see that the first thing everyone wants to do is to update an app by supporting 4.0, but surely it have to run on previous version also, 3.0-3.1. The right way is to open project settings and set:

  • Base SDK – iPhone Device 4.0
  • iPhone OS Deployment Target – iPhone OS 3.0

After recompiling it’ll turn to background properly, but still work on 3.0+ versions.

The second thing is the multitasking, of course.

There are two new UIApplicationDelegate’s methods for that. One when application was turned in to the background by pressing Home Button and one when turned out by pressing an icon on the spring board. As an example of background in/out workaround I provide using of Google Analytics, which is actually needed to be stopped and started:

- (void)applicationDidEnterBackground:(UIApplication *)application{
[[GANTracker sharedTracker] stopTracker];} -
(void)applicationWillEnterForeground:(UIApplication *)application{
[[GANTracker sharedTracker] startTrackerWithAccountID:@”xx-xxxxxxxxxxx ;)
dispatchPeriod:20             delegate:nil]; [[GANTracker sharedTracker]
trackPageview:@”/” withError:nil];

// you could animate splash screen there}

If you’ve not read about what background is for then try this and this. It was discussed earlier the release.
Apple developer documentation for background execution.

The last I couldn’t get if it’s necessary to show splash screen when an app is coming back to foreground. It’s blinking for a moment each time :( Since having an animated Default.png I just copy animating piece of code to “applicationWillEnterForeground” and it’s become better. But it’s not a common solution. See what Apple says about the Default.png in HIG (updated 2010-06-03):

To enhance the user’s experience at application launch, you must provide at least one launch image. A launch image looks very similar to the first screen your application displays. iPhone OS displays this image instantly when the user starts your application. As soon as it’s ready for use, your application displays its first screen, replacing the launch placeholder image.

Supply a launch image to improve user experience; avoid using it as an opportunity to provide:

An “application entry experience,” such as a splash screen 

An About window 

Branding elements, unless they are a static part of your application’s first screen

Because users are likely to switch among applications frequently, you should make every effort to cut launch time to a minimum, and you should design a launch image that downplays the experience rather than drawing attention to it.

Design a launch image that is identical to the first screen of the application, except for: 

Text. The launch image is static, so any text you display in it will not be localized.

UI elements that might change. Avoid including elements that might look different when the application finishes launching, so that users don’t experience a flash between the launch image and the first application screen.

Obviously there is no suggested solution yet. The problem is about foregrounding app may appear from any view, it’s not first main view as it’s used to be. So it seems better to use some branded image as a splash screen instead part of a UI. Or don’t use splash at all. It could also be a solution if we can set to ignore a splash when app is launched from background. Anyway not a big deal.

Other 

The other things I mentioned at this time is the iOS simulator was updated. Now it has all three devices: iPad, iPhone, iPhone 4. The last has a camera simulator, but it does not work as you could suggest, it’s just a gap. iPhone simulators have “iAd tester” and “Game Center” for a sandbox. Pretty cool.

One more option is TV Out. It’ll be useful for our great apps presentations. It probably could help to record app demos with a better quality.

Have a nice learning.

Remember Apple provides free videos from WWDC 2010 this year. I’m sure everybody will find useful stuff for your self.

UPD:
I think we should remember a timedate of ‘applicationDidEnterBackground’ for better analytics tracking. And when ‘applicationWillEnterForeground’ try to decide if it’s clear run or run from background. I use 120 seconds time difference and two url names for tracking like that:

- (void) startGoogleAnalytics{ [[GANTracker sharedTracker]
 startTrackerWithAccountID:@"XX-xxxxxxx-xx"             
dispatchPeriod:20             delegate:nil];  if (lastBackground)
{  if ([[NSDate date] timeIntervalSinceDate:lastBackground] > 120)
[[GANTracker sharedTracker] trackPageview:@"/" withError:nil];
else   [[GANTracker sharedTracker] trackPageview:@"/foreground" withError:nil];
[lastBackground release], lastBackground = nil; } else  
[[GANTracker sharedTracker] trackPageview:@"/" withError:nil];}

13 JunHello, iOS developer generation

Additionaly to all other awesome features and updates we have a normal occupation name now. Our words have being heard and we have one predefined sufix instead of iPhone/iPodTouch/iPad/… . Now I think about new subdomain ios-dev-tips.alterplay.com as a synonym to the current.

My congrats, iOS developers!



To make a post more informative there are some news from WWDC 2010 I remember the most from the Keynote Video:

  • iPhone4 with a brandnew design and many other features. It has a gyroscope, that’s why it’s possible to make VERY accurate 3-axis space positioning. I’ve noticed it as a first, because historically my first crazy idea needed this piece of hardware. Two years ago I thought about the stuff like Wii can do now. That one was similar to real ping-pong. May be I’ll return to them somewhen.
  • iAds. There is a very many apps which is good enough to not use a AdMob like, but which can’t be paid because of some reasons, e.g. market specifics. Since I own one I want to test iAds ASAP with the Forismatic app. I’m sure it’s necessary to integrate it carefully and bit by bit.
  • iBooks for the iPhone. I wasn’t wait it, but it has a great design and MUST LEARN for all developers as a GUI solution. I’ve moked up several GUI ideas at the same time. Not sure it’ll inspire everybody, but worth to try.
  • 3 main refuse reasons: an app does not function as a developer describes, private APIs and an app simply crashes. It sounds sadly :(
  • 1500+ new APIs, it’s awesome number and gona be hard to update knowledge for free
  • 100 UI features, e.g. contact groups, app groups, wallpapers, FaceTime, fully black/white back/front of the iPhone4 and so on.
  • statistics, statistics, stat… (snoring)
Many things were expected and most of them look cool and/or perspectively. 
There is an youtube version of the keynote:

And a cut one for those who currently doesn’t have a free time: 

21 MayNews on Forismatic

There is an English version released. It’s a great news, I think. From now not only russian users can use my favorite application. Hello, world!

Please download russian wallpapers from the official forismatic blog.

And the last one, but not less important is that we’re participating in the first iPhone development contest in the Eastern Europe: http://www.iappcontest.com/apps/2010/05/forismatic-by-.html

It’d be very appreciated to make a vote on Forismatic.

13 JanForismatic is #1 on the Russian App Store

Forismatic (US link) is my free client for forismatic.com – a base of Russian famous quotes. The forismatic’s motto is ”the most inspiring quotes of mankind” and all they really inspire.

Today it’s on the first place on the Russian App Store. Congratulations, guys! It’s awesome position!

25 DecWhy Open Feint 2.4 rocks

One more good news this week. Open Feint gives us “A Special Holiday Present to You: Version 2.4 and the new Players Website!”

The most expected feature were:

  • A simplified UI focused on ease of use, it had a hard navigation and dark colors before
  • Brand new cross-promotional tools. I didn’t look what does mean, but cross promotional is very important thing
  • Geo-location Leaderboards. FINALLY! We had this feature 5 months ago before decide to switch to OF. Users love to know others play not far





I could wait no more minute to try Geolocation Leaderboards and embed new version in current Road Slot 1.4 beta.



That how it looks on the simulator:

It shows just me now because it’s not published version.Anyway it’s quite interesting, see what it will transform into over time.

UPD:
Played a little with new version we found several small bugs and it’s thrown several times. The easy bug is this code does work but not silently:

[OFHighScoreService setHighScore:currentScore        forLeaderboard:leaderboard        silently:YES          onSuccess:OFDelegate(nil, nil)          onFailure:OFDelegate(nil, nil)];

Small research and the problem is solved. Look this method in “OFHighScoreService.mm”

+ (void) setHighScore:(int64_t)score withDisplayText:(NSString*)displayText forLeaderboard:(NSString*)leaderboardId silently:(BOOL)silently onSuccess:(const OFDelegate&)onSuccess onFailure:(const OFDelegate&)onFailure{ [OFHighScoreService setHighScore:score withDisplayText:displayText withCustomData:nil forLeaderboard:leaderboardId silently:NO onSuccess:onSuccess onFailure:onFailure];} // >>>>> + (void) setHighScore:(int64_t)score withDisplayText:(NSString*)displayText forLeaderboard:(NSString*)leaderboardId silently:(BOOL)silently onSuccess:(const OFDelegate&)onSuccess onFailure:(const OFDelegate&)onFailure{ [OFHighScoreService setHighScore:score withDisplayText:displayText withCustomData:nil forLeaderboard:leaderboardId silently:silently onSuccess:onSuccess onFailure:onFailure];}

The second is updated right way.

24 DecTwo news: bad and good

Bad news is that iTunes Connect site is closed for holidays and will reopen on December 28. It’d be a good one, unless I want to change some art and submit an update of GPS Speed. It’s downloaded more than a thousand times a day. It’s quite amusing because the app is not unique and has another ten competitors in the top. Time will show.

And in general I currenlty don’t need to rest, petient work is a best work often.

The second news is that I’ve looked updated sample package of iPhone 3.0 Cookbook by Erica Sadun. It’s amazing. There are so much good samples that I think about stop to post code snippets on the blog. Erica Sadun made exhaustive answer to many answers. It could be used not only by begginers, but expirienced user can find short and interesting solutions there.

Please use that, I insist: http://github.com/erica/iphone-3.0-cookbook-