blog.JNL

iPhone development

Optimizing apps for Apple’s Retina Display

by Jannis on Aug.04, 2010, under iPhone development

The iPhone 4 features a high resolution display called ‘Retina Display’ with a resolution of 640 by 960 pixels, resulting in a really high level of detail in comparison to the iPhone 3GS or older models.

Because of the higher resolution, the iPhone 4 requires some efforts from developers to optimize their apps for the iPhone 4. Standard UI controls are displayed perfectly by default, but graphics created by the developer have to be optimized by them, basically making them twice as big.

Unfortunately as of yet, lots of developers still need to do so. Many of the apps I have installed on my iPhone still have low-res graphics. This is too bad, because even now the iPhone 4 has this amazing display, these apps actually look (a lot) worse than on the 3GS.

Optimizing your apps

As I said above, optimizing the graphics basically means making them bigger. When designing your interface, do so on a 640 by 960 pixel canvas. When running your application in the iPhone Simulator, you can set the device on iPhone 4. This will give you a full-sized display on your Mac. If your application looks great this way, you’ve done a good job.

Some applications feature more graphical content than others, for example apps with lots of photos or videos. In some scenarios it might be desirable to provide different sized content depending on the iPhone model being used, because older models are less powerful and have less memory available for your application. If you experience performance issues with high-res iPhone 4 optimized content you might want to present low-res content to older models.

Displaying graphics depending on the device model can be done by duplicating image files and adding an ‘@2x’ suffix. So, when the normal image file is named ‘button.png’, the hi-res version should be ‘button@2x.png’. You don’t need any additional code for this. In Interface Builder or your code, assign the normal version (without the suffix) to an object. The same goes for the application icon. The resolution of the 2x icon should be 114 by 114 pixels. You will need to add a separate ‘Icon’ property in the Info.plist file for this icon.

If for some reason you do want to perform a check in your code, you can do so by checking the scale factor of the display. Older models will return a scale factor of 1.0, while the iPhone 4 will return 2.0. You can check this with:

float factor = [UIScreen mainScreen].scale;

Depending on the type of application you’re developing further optimizations can be made to utilize the new retina display the best you can. If you are a registered iPhone developer, I recommend watching the WWDC session 134 (‘Optimize your iPhone App for the Retina Display’) video, available on iTunes.

Video: WWDC Session 134 – Optimize your iPhone App for the Retina Display (requires iPhone developer program membership)

1 Comment more...

Dus jij wilt een iPhone app maken? (Part II)

by Jannis on Dec.07, 2009, under iPhone development

This article is part of a school assignment and therefore written in Dutch.

Het programmeren

Je hebt je applicatie nu ontworpen, dus is het tijd om te gaan programmeren. Apple biedt op zijn website een uitgebreide ‘Reference Library’ aan waarin alle frameworks uit de SDK gedocumenteerd staan. Wil je jouw applicatie (hopelijk) goedgekeurd krijgen is het van belang dat je enkel de gedocumenteerde frameworks gebruikt. Als je niet-officiële frameworks gebruikt zal je applicatie bij voorbaat al afgekeurd worden.

De bij de SDK meegeleverde Xcode software bevat standaard diverse tools om fouten in je code op te sporen of om te testen op welke punten je jouw applicatie nog kunt verbeteren. Gebruik deze tools. Je wilt niet dat je applicatie crashed als Apple deze aan het testen is, dus spoor problemen op en verbeter deze bij voorbaat al. Zo is de kans groter dat je applicatie een stuk sneller goedgekeurd zal worden.

Het testen

Als het programmeerwerk (zo goed als) afgerond is, is het tijd om te testen. Bij kleine applicaties is dit goed zelf te doen, maar bij grotere en meer complexe applicaties (denk bijvoorbeeld aan games) kan het geen kwaad hier meerdere personen voor in te schakelen. Op deze manier kun je jouw applicatie op verschillende iPhones testen, bij voorkeur verschillende varianten (Een applicatie als een game kan op de nieuwste iPhone 3GS bijvoorbeeld prima werken, maar op een originele iPhone 2G totaal onspeelbaar zijn). Problemen die je tijdens het testen tegenkomt kun je nu nog herstellen alvorens je jouw applicatie indient bij de App Store.

Het publiceren

De laatste stap is uiteraard het gepubliceerd krijgen van je applicatie. Dit is helaas ook het punt waar het ontwikkelen voor de iPhone stopt met gratis zijn. Om je applicatie in de App Store te krijgen moet je een betaalde iPhone developer worden. Dit kost je omgerekend €79 per jaar. Voor dit bedrag heb je toegang tot alle materialen op de Apple Developer website, de Developer Forums en iTunes Connect. Dat laatste heb je nodig om de applicatie in te sturen ter goedkeuring.

Als je via iTunes Connect je applicatie opstuurt naar Apple wordt deze door Apple reviewed. Dit kan soms een flinke tijd duren, maar als alles goed gaat krijg je vanzelf een mailtje met de mededeling dat je applicatie geplaatst is in de App Store.

Vanaf dat moment kan elke iPhone of iPod touch-eigenaar ter wereld (of in ieder geval in de landen waarin jij je applicatie aanbiedt) jouw nieuwe iPhone applicatie downloaden en gebruiken.

5 Comments more...

Dus jij wilt een iPhone app maken? (Part I)

by Jannis on Dec.07, 2009, under iPhone development

This article is part of a school assignment and therefore written in Dutch.

Het maken en publiceren van een iPhone applicatie is makkelijker dan het lijkt. Dit artikel gaat in het kort langs de stappen die je volgt bij het maken en publiceren van je applicatie.

Het beginnen

De eerste stap bij het maken van een iPhone applicatie is het downloaden van de iPhone SDK. Hiermee heb je toegang tot de frameworks die je nodig hebt om je applicatie te maken. Om de SDK te kunnen downloaden is een registratie noodzakelijk, deze is overigens geheel gratis.

Kennis van Objective-C of andere programmeertalen is handig voordat je aan de slag gaat, maar ook zonder kennis kun je ver komen. Apple biedt zelf een aantal ‘Getting Started’ videos aan, en ook op het internet zijn veel tutorials te vinden voor de startende (maar ook de gevorderde) iPhone ontwikkelaar. Een voorbeeld van een dergelijke site is de weblog iCodeBlog.

Het bedenken

Het kan zijn dat je bij voorbaat al een goed idee voor een applicatie hebt. Als je een idee hebt is het altijd handig eens door de App Store te bladeren om te kijken naar eventueel vergelijkbare apps. Het zou immers een verspilling van tijd zijn als je na het ontwikkelen van je applicatie erachter komt dat iemand anders je voor is geweest.

Als je nog geen idee hebt wat je wilt maken kan de App Store ook een hulpmiddel zijn, maar dan om juist ideeën op te doen. Bekijk eens wat applicaties en bedenk hoe jij daar een waardevolle toevoeging aan zou kunnen doen.

Het ontwerpen

Een van de belangrijkste dingen om te onthouden wanneer je jouw iPhone applicatie gaat ontwerpen is: Keep it simple. Een belangrijk kenmerk van succesvolle iPhone applicaties is het gebrek aan functionaliteit. Kies een doel voor je applicatie, en beperk je applicatie tot dat specifieke doel.

Voor het ontwerpen van de interface voor je applicatie kun je de Interface Builder gebruiken. Hiermee kun je door middel van drag & drop redelijk snel een interface in elkaar zetten, en in de iPhone Simulator uit proberen voordat je gaat programmeren.

Continue reading

6 Comments more...

Naming issues and iTunes Artwork

by Jannis on Jul.08, 2009, under iPhone development

This morning when I ran the latest Hit It! build on my iPhone I noted that the space I removed from the filename also had a negative effect on the display name. Meanwhile I learned that there is a special property in the Info.plist for the display name on the iPhone called ‘Bundle Display Name’. After re-adding the space here, the iPhone showed the correct app name.

Another thing I noted was the lack of an icon in the iTunes Applications-overview. Google helped me out and after adding a 512×512 icon under the name of ‘iTunesArtwork’ to the project’s root folder, this worked as well.

I just re-uploaded my binary with correct naming and artwork, now let’s see how long review takes.

1 Comment more...

Hit It! on it’s way!

by Jannis on Jul.05, 2009, under iPhone applications, iPhone development

My first iPhone app, a small game called Hit It! is finally in review. After a few days of cursing and browsing the web for solutions why my app couldn’t be uploaded, I finally figured out it’s was a fricking space in the App’s name.

Now there must be a way to allow spaces in an App’s name, I just haven’t figured out how yet. In the mean time, I decided to just get rid of the space to allow the app to be uploaded through iTunes Connect.

The current status is ‘In review’, so now it’s just waiting until it gets approved… or rejected…

Leave a Comment more...

Looking for something?

Use the form below to search the site:

Still not finding what you're looking for? Drop a comment on a post or contact us so we can take care of it!

Blogroll

A few highly recommended websites...

    Archives

    All entries, chronologically...