Monday, April 30, 2012

iPhone Localization Tips

iPhone Localization Tips

Most of the effort in localization involves changing words. You say "white;" Italians say "bianco." In localized apps like this one, Cocoa helps you pick the right word with a file called Localizable.strings. This file acts as a small database that maps keys to values. If you look up a string with the key White, it will return the value Bianco on phones that are configured to use Italian. If any other language is selected, "White" is returned.

Note

The default language is defined as English in the Info.plist file.
Actually, it's a lie to say there's one Localizable.strings file—multiple copies exist, one for each language. If you open the Flashlight Pro project in the Finder, you see English.lproj and Italian.lproj in the Resources→Localizations folder. These folders contain the files used in each language.
When NSLocalizedString() is used, you performed the lookup. Here's a example:
NSLocalizedString(@"White", nil)
Italians will be loading files from Italian.lproj, so this line in Localizable.strings will come up as a match:
"White" = "Bianco";
Other users will have loaded the same file from English.lproj, so this will be the match:
"White" = "White";
When you're doing localization, make sure that words don't creep into other parts of your application. A great example is images: If the source text for the graphic is buried in a Photoshop layer, you'll find that your graphic designer isn't a very good translator and that your translator isn't a very good artist. Keep the text separate and your life will be much easier.

Localization logistics

You have two major hurdles when doing localization: finding a native speaker to do the translation and testing the final product. As you look through the Italian words in Localizable.strings, it looks great. There are plenty of accents and cool-looking foreign words. There's just one problem: A native speaker did not do this localization.

Note

Your humble author spent several years living in Italy. This language perfect he has not, but good it is.
Don't use automated tools or get your second cousin's best friend who spent 6 months overseas to do the translation. A native speaker will be able to tell that it's wrong and you'll make a bad impression. For many users, a bad localization is harder to use than the original English.
Once you've done the translation, you encounter the second problem. Unless you're an amazing polyglot, there's no way you can know if the localization is correct. You need to find someone who speaks the language and to get him or her to test it for accuracy.
You should, however, verify that the localization is functionally correct. You want to make sure that all the words have matches during the lookup phase.
The easiest way to do this is by using the Settings application in the Simulator. Tap the settings icon, and then pick the first item in the list (General). In the next menu, tap the third item from the top (International). Then pick the first item in the list (Language) to see a list of all available language settings. (Knowing the relative position of all these buttons is important: You need to know which buttons to push in order to switch back to English!)
While you're changing your language settings, try setting Italian and running the Safety Light application. Seeing the localization in action will give you a better feel for how it all works.

Note

Why go through this hassle? About half of your revenue in iTunes will come from outside the United States. The more you cater to these users, the more you sell. No one ever promised that making money would be easy.

Layout breakage

Sometimes differences in language cause view layouts to change. For example, the button width for "Tap to close" in English is going to be very different than its literal counterpart in German: "Zum Schlie├čen antippen".
One approach your translator could take is to find a similar meaning that's shorter. For example, "Tap to close" could be shortened to the German word for close: "Schlie├čen". The width of both phrases is similar, making the visual design easier without sacrificing comprehension.

Note

Apple uses this technique with some of its system controls. For example, "Entriegeln" is displayed instead of "slide to unlock" when you press the Power button on the device.
Another approach to handling phrases with different lengths is to make views adapt to different sizes. The IFInfoView that drops down from the top of the screen is an example. It adjusts its height based upon the message you want to display. If it encounters a long phrase in German, it just displays multiple lines.
A final technique to aid in localization is to use symbols whenever possible. If you've ever traveled abroad, you know that it's much easier to encounter restroom doors with pictures of men and women rather than signs saying "Damen" and "Herren." Hope you guessed right!
This approach was taken with the settings view. The brightness and flasher speed use icons instead of words. No translation is required and users in all languages can understand the function of the sliders.

AboutView.xib

Despite all your efforts to just translate the words, sometimes localizations require a separate NIB file. For example, if you're doing a help screen for a game, you're going to have a lot of text that flows around images and controls. It's easier to change the layout for a whole screen than it is to adapt the text to a single layout.
The AboutView.xib file is an example. You'll see that the file appears in both the English.lproj and Italian.lproj folders. Cocoa loads the correct NIB based upon the user's language settings. You can change any part of the layout; just make sure that the actions and outlets are maintained. If the connection between a button and its action is broken, you have a bug that only users of that language will encounter.

 

Monday, April 16, 2012

IPL KT app for iPhone

IPL KT will let enthusiasts to share comments and observations post matches with experts,friends and colleagues.

Apart from these the basic features includes :

* List of Team members with their Picture
* Live and older highlights video stream added
* Live score updates­
* Stats updates
* Schedule of all matches
* Points table
* Share on Facebook / Twitter comments and observations post matches with experts,friends and colleagues.
* Results of all previous IPL cricket tournaments
* Latest IPL News and leader boards

Tuesday, April 10, 2012

Kandasasti app

Kandasasti app is intended for everyone.Read these kavasam while in commute,at the work place,at home,in the temple or when you are in a religious group.You no longer have to carry a book wherever you go.You are always a 'touch' away from this powerful mantra.With the availability of audio for Kandasasti kavasam,you can listen to the kavasam and read through the text at the same time for a better experience.We have added Murugan's different avatar images with this application.We have added more features like the PDF document of kavasam,Map to show the route,MP3 file & Ring tone File with this application to share with your friend & your relation circle.Main feature we added here to give the clear picture to how to move to the aarupadai veedu of lord murugan places with the full details with the offline map along with that we have given the google route search with this app to find the exact distance and place exactly.


Features:
✓ Local map to show the directions of 6sacred places of Lord Muruga
✓ Added Mp3 file to share & sync to iTunes and iOS devices to listen and read by help of lyrics
✓ Added the Ringtone File
✓ Added Kandasasti kavasam in PDF format
✓ Added the google map to locate the route along with the proper direction for clear trip

Wednesday, April 4, 2012

How to Rename Your Wireless Apple Mouse, Magic Mouse

As many of you should know, Apple has recently launched a new, Multi-Touch capable mouse - the Magic Mouse. The older mouse didn’t leave the scene as the new one arrived, although Apple is heavily promoting the new peripheral. The two mice have something in common - they’re Bluetooth-capable and work with Mac OS X wirelessly.

Wireless mice are great to use. You feel completely free to handle them any way you want. With Apple mice, the functionality goes above that of traditional mice. They’re even allowed to have their own name, like “John’s Mouse,” or “My Super-Cool Mouse.” But how do you give your mouse a name, or how do you change the name of an Apple wireless mouse, in case you’re the not the first person to use it? This short tutorial will let you in on that secret.

Upon setting up your wireless Apple mouse (whether it’s the former Mighty Mouse, or the new, exquisite Magic Mouse), Mac OS X pairs the device to the computer you’re going to use it with, and automatically assigns it a name. The name is assigned based on your computer’s name (root directory). However, if you want to change it, you can. Here's how.

(don't forget to click on the images for a larger view)

1. With your wireless mouse connected and working, launch System Preferences.

Review image


2. For one reason or another, Apple decided not to include the option to rename your paired devices at first glance. So, instead of choosing “Mouse,” choose “Bluetooth.” It should be on the third row down, between “Network and “Sharing.”

Review image

3. Once in Bluetooth prefs, select the mouse you want to rename and click the small cogwheel, located under the list of paired devices (the cogwheel is found throughout Mac OS X and typically hides more options).

Review image

4. As shown above, select “rename.” A drop-down menu will appear containing a field where you can write down the new name of your mouse - as shown in the screenshot below.

Review image

5. Hit OK, and close System Prefs. That’s it!

You can now check out your rodent’s new name by clicking on the Bluetooth icon in the menubar, located at the top right side of your Mac’s screen.

Review image

Tuesday, April 3, 2012

App Store Review Guidelines


Introduction

We're pleased that you want to invest your talents and time to develop applications for iOS. It has been a rewarding experience - both professionally and financially - for tens of thousands of developers and we want to help you join this successful group. We have published our App Store Review Guidelines in the hope that they will help you steer clear of issues as you develop your app and speed you through the approval process when you submit it.
We view Apps different than books or songs, which we do not curate. If you want to criticize a religion, write a book. If you want to describe sex, write a book or a song, or create a medical app. It can get complicated, but we have decided to not allow certain kinds of content in the App Store. It may help to keep some of our broader themes in mind:
  • We have lots of kids downloading lots of apps, and parental controls don't work unless the parents set them up (many don't). So know that we're keeping an eye out for the kids.
  • We have over 350,000 apps in the App Store. We don't need any more Fart apps. If your app doesn't do something useful or provide some form of lasting entertainment, it may not be accepted.
  • If your App looks like it was cobbled together in a few days, or you're trying to get your first practice App into the store to impress your friends, please brace yourself for rejection. We have lots of serious developers who don't want their quality Apps to be surrounded by amateur hour.
  • We will reject Apps for any content or behavior that we believe is over the line. What line, you ask? Well, as a Supreme Court Justice once said, "I'll know it when I see it". And we think that you will also know it when you cross it.
  • If your app is rejected, we have a Review Board that you can appeal to. If you run to the press and trash us, it never helps.
  • If you attempt to cheat the system (for example, by trying to trick the review process, steal data from users, copy another developer's work, or manipulate the ratings) your apps will be removed from the store and you will be expelled from the developer program.
  • This is a living document, and new apps presenting new questions may result in new rules at any time. Perhaps your app will trigger this.
Lastly, we love this stuff too, and honor what you do. We're really trying our best to create the best platform in the world for you to express your talents and make a living too. If it sounds like we're control freaks, well, maybe it's because we're so committed to our users and making sure they have a quality experience with our products. Just like almost all of you are too.

Table of Contents

1. Terms and conditions

  • 1.1

    As a developer of applications for the App Store you are bound by the terms of the Program License Agreement (PLA), Human Interface Guidelines (HIG), and any other licenses or contracts between you and Apple. The following rules and examples are intended to assist you in gaining acceptance for your app in the App Store, not to amend or remove provisions from any other agreement.

2. Functionality

  • 2.1

    Apps that crash will be rejected
  • 2.2

    Apps that exhibit bugs will be rejected
  • 2.3

    Apps that do not perform as advertised by the developer will be rejected
  • 2.4

    Apps that include undocumented or hidden features inconsistent with the description of the app will be rejected
  • 2.5

    Apps that use non-public APIs will be rejected
  • 2.6

    Apps that read or write data outside its designated container area will be rejected
  • 2.7

    Apps that download code in any way or form will be rejected
  • 2.8

    Apps that install or launch other executable code will be rejected
  • 2.9

    Apps that are "beta", "demo", "trial", or "test" versions will be rejected
  • 2.10

    iPhone apps must also run on iPad without modification, at iPhone resolution, and at 2X iPhone 3GS resolution
  • 2.11

    Apps that duplicate apps already in the App Store may be rejected, particularly if there are many of them, such as fart, burp, flashlight, and Kama Sutra apps.
  • 2.12

    Apps that are not very useful, are simply web sites bundled as apps, or do not provide any lasting entertainment value may be rejected
  • 2.13

    Apps that are primarily marketing materials or advertisements will be rejected
  • 2.14

    Apps that are intended to provide trick or fake functionality that are not clearly marked as such will be rejected
  • 2.15

    Apps larger than 20MB in size will not download over cellular networks (this is automatically prohibited by the App Store)
  • 2.16

    Multitasking apps may only use background services for their intended purposes: VoIP, audio playback, location, task completion, local notifications, etc.
  • 2.17

    Apps that browse the web must use the iOS WebKit framework and WebKit Javascript
  • 2.18

    Apps that encourage excessive consumption of alcohol or illegal substances, or encourage minors to consume alcohol or smoke cigarettes, will be rejected
  • 2.19

    Apps that provide incorrect diagnostic or other inaccurate device data will be rejected
  • 2.20

    Developers "spamming" the App Store with many versions of similar apps will be removed from the iOS Developer Program
  • 2.21

    Apps that are simply a song or movie should be submitted to the iTunes store. Apps that are simply a book should be submitted to the iBookstore.
  • 2.22

    Apps that arbitrarily restrict which users may use the app, such as by location or carrier, may be rejected
  • 2.23

    Apps must follow the iOS Data Storage Guidelines or they will be rejected
  • 2.24

    Apps that are offered in Newsstand must comply with schedules 1, 2 and 3 of the Developer Program License Agreement or they will be rejected

3. Metadata (name, descriptions, ratings, rankings, etc)

  • 3.1

    Apps or metadata that mentions the name of any other mobile platform will be rejected
  • 3.2

    Apps with placeholder text will be rejected
  • 3.3

    Apps with descriptions not relevant to the application content and functionality will be rejected
  • 3.4

    App names in iTunes Connect and as displayed on a device should be similar, so as not to cause confusion
  • 3.5

    Small and large app icons should be similar, so as to not to cause confusion
  • 3.6

    Apps with app icons and screenshots that do not adhere to the 4+ age rating will be rejected
  • 3.7

    Apps with Category and Genre selections that are not appropriate for the app content will be rejected
  • 3.8

    Developers are responsible for assigning appropriate ratings to their apps. Inappropriate ratings may be changed/deleted by Apple
  • 3.9

    Developers are responsible for assigning appropriate keywords for their apps. Inappropriate keywords may be changed/deleted by Apple
  • 3.10

    Developers who attempt to manipulate or cheat the user reviews or chart ranking in the App Store with fake or paid reviews, or any other inappropriate methods will be removed from the iOS Developer Program
  • 3.11

    Apps which recommend that users restart their iOS device prior to installation or launch may be rejected
  • 3.12

    Apps should have all included URLs fully functional when you submit it for review, such as support and privacy policy URLs

4. Location

  • 4.1

    Apps that do not notify and obtain user consent before collecting, transmitting, or using location data will be rejected
  • 4.2

    Apps that use location-based APIs for automatic or autonomous control of vehicles, aircraft, or other devices will be rejected
  • 4.3

    Apps that use location-based APIs for dispatch, fleet management, or emergency services will be rejected
  • 4.4

    Location data can only be used when directly relevant to the features and services provided by the app to the user or to support approved advertising uses

5. Push notifications

  • 5.1

    Apps that provide Push Notifications without using the Apple Push Notification (APN) API will be rejected
  • 5.2

    Apps that use the APN service without obtaining a Push Application ID from Apple will be rejected
  • 5.3

    Apps that send Push Notifications without first obtaining user consent will be rejected
  • 5.4

    Apps that send sensitive personal or confidential information using Push Notifications will be rejected
  • 5.5

    Apps that use Push Notifications to send unsolicited messages, or for the purpose of phishing or spamming will be rejected
  • 5.6

    Apps cannot use Push Notifications to send advertising, promotions, or direct marketing of any kind
  • 5.7

    Apps cannot charge users for use of Push Notifications
  • 5.8

    Apps that excessively use the network capacity or bandwidth of the APN service or unduly burden a device with Push Notifications will be rejected
  • 5.9

    Apps that transmit viruses, files, computer code, or programs that may harm or disrupt the normal operation of the APN service will be rejected

6. Game Center

  • 6.1

    Apps that display any Player ID to end users or any third party will be rejected
  • 6.2

    Apps that use Player IDs for any use other than as approved by the Game Center terms will be rejected
  • 6.3

    Developers that attempt to reverse lookup, trace, relate, associate, mine, harvest, or otherwise exploit Player IDs, alias, or other information obtained through the Game Center will be removed from the iOS Developer Program
  • 6.4

    Game Center information, such as Leaderboard scores, may only be used in apps approved for use with the Game Center
  • 6.5

    Apps that use Game Center service to send unsolicited messages, or for the purpose of phishing or spamming will be rejected
  • 6.6

    Apps that excessively use the network capacity or bandwidth of the Game Center will be rejected
  • 6.7

    Apps that transmit viruses, files, computer code, or programs that may harm or disrupt the normal operation of the Game Center service will be rejected

7. iAd

  • 7.1

    Apps that artificially increase the number of impressions or click-throughs of ads will be rejected
  • 7.2

    Apps that contain empty iAd banners will be rejected
  • 7.3

    Apps that are designed predominantly for the display of ads will be rejected

8. Trademarks and trade dress

  • 8.1

    Apps must comply with all terms and conditions explained in the Guidelines for Using Apple Trademarks and Copyrights and the Apple Trademark List
  • 8.2

    Apps that suggest or infer that Apple is a source or supplier of the app, or that Apple endorses any particular representation regarding quality or functionality will be rejected
  • 8.3

    Apps which appear confusingly similar to an existing Apple product or advertising theme will be rejected
  • 8.4

    Apps that misspell Apple product names in their app name (i.e., GPS for Iphone, iTunz) will be rejected
  • 8.5

    Use of protected 3rd party material (trademarks, copyrights, trade secrets, otherwise proprietary content) requires a documented rights check which must be provided upon request
  • 8.6

    Google Maps and Google Earth images obtained via the Google Maps API can be used within an application if all brand features of the original content remain unaltered and fully visible. Apps that cover up or modify the Google logo or copyright holders identification will be rejected

9. Media content

  • 9.1

    Apps that do not use the MediaPlayer framework to access media in the Music Library will be rejected
  • 9.2

    App user interfaces that mimic any iPod interface will be rejected
  • 9.3

    Audio streaming content over a cellular network may not use more than 5MB over 5 minutes
  • 9.4

    Video streaming content over a cellular network longer than 10 minutes must use HTTP Live Streaming and include a baseline 64 kbps audio-only HTTP Live stream

10. User interface

  • 10.1

    Apps must comply with all terms and conditions explained in the Apple iOS Human Interface Guidelines
  • 10.2

    Apps that look similar to apps bundled on the iPhone, including the App Store, iTunes Store, and iBookstore, will be rejected
  • 10.3

    Apps that do not use system provided items, such as buttons and icons, correctly and as described in the Apple iOS Human Interface Guidelines may be rejected
  • 10.4

    Apps that create alternate desktop/home screen environments or simulate multi-app widget experiences will be rejected
  • 10.5

    Apps that alter the functions of standard switches, such as the Volume Up/Down and Ring/Silent switches, will be rejected
  • 10.6

    Apple and our customers place a high value on simple, refined, creative, well thought through interfaces. They take more work but are worth it. Apple sets a high bar. If your user interface is complex or less than very good, it may be rejected

11. Purchasing and currencies

  • 11.1

    Apps that unlock or enable additional features or functionality with mechanisms other than the App Store will be rejected
  • 11.2

    Apps utilizing a system other than the In App Purchase API (IAP) to purchase content, functionality, or services in an app will be rejected
  • 11.3

    Apps using IAP to purchase physical goods or goods and services used outside of the application will be rejected
  • 11.4

    Apps that use IAP to purchase credits or other currencies must consume those credits within the application
  • 11.5

    Apps that use IAP to purchase credits or other currencies that expire will be rejected
  • 11.6

    Content subscriptions using IAP must last a minimum of 7 days and be available to the user from all of their iOS devices
  • 11.7

    Apps that use IAP to purchase items must assign the correct Purchasability type
  • 11.8

    Apps that use IAP to purchase access to built-in capabilities provided by iOS, such as the camera or the gyroscope, will be rejected
  • 11.9

    Apps containing "rental" content or services that expire after a limited time will be rejected
  • 11.10

    Insurance applications must be free, in legal-compliance in the regions distributed, and cannot use IAP
  • 11.11

    In general, the more expensive your app, the more thoroughly we will review it
  • 11.12

    Apps offering subscriptions must do so using IAP, Apple will share the same 70/30 revenue split with developers for these purchases, as set forth in the Developer Program License Agreement.
  • 11.13

    Apps that link to external mechanisms for purchases or subscriptions to be used in the app, such as a “buy” button that goes to a web site to purchase a digital book, will be rejected
  • 11.14

    Apps can read or play approved content (specifically magazines, newspapers, books, audio, music, and video) that is subscribed to or purchased outside of the app, as long as there is no button or external link in the app to purchase the approved content. Apple will not receive any portion of the revenues for approved content that is subscribed to or purchased outside of the app

12. Scraping and aggregation

  • 12.1

    Applications that scrape any information from Apple sites (for example from apple.com, iTunes Store, App Store, iTunes Connect, Apple Developer Programs, etc) or create rankings using content from Apple sites and services will be rejected
  • 12.2

    Applications may use approved Apple RSS feeds such as the iTunes Store RSS feed
  • 12.3

    Apps that are simply web clippings, content aggregators, or a collection of links, may be rejected

13. Damage to device

  • 13.1

    Apps that encourage users to use an Apple Device in a way that may cause damage to the device will be rejected
  • 13.2

    Apps that rapidly drain the device's battery or generate excessive heat will be rejected

14. Personal attacks

  • 14.1

    Any app that is defamatory, offensive, mean-spirited, or likely to place the targeted individual or group in harms way will be rejected
  • 14.2

    Professional political satirists and humorists are exempt from the ban on offensive or mean-spirited commentary

15. Violence

  • 15.1

    Apps portraying realistic images of people or animals being killed or maimed, shot, stabbed, tortured or injured will be rejected
  • 15.2

    Apps that depict violence or abuse of children will be rejected
  • 15.3

    "Enemies" within the context of a game cannot solely target a specific race, culture, a real government or corporation, or any other real entity
  • 15.4

    Apps involving realistic depictions of weapons in such a way as to encourage illegal or reckless use of such weapons will be rejected
  • 15.5

    Apps that include games of Russian roulette will be rejected

16. Objectionable content

  • 16.1

    Apps that present excessively objectionable or crude content will be rejected
  • 16.2

    Apps that are primarily designed to upset or disgust users will be rejected

17. Privacy

  • 17.1

    Apps cannot transmit data about a user without obtaining the user's prior permission and providing the user with access to information about how and where the data will be used
  • 17.2

    Apps that require users to share personal information, such as email address and date of birth, in order to function will be rejected
  • 17.3

    Apps that target minors for data collection will be rejected

18. Pornography

  • 18.1

    Apps containing pornographic material, defined by Webster's Dictionary as "explicit descriptions or displays of sexual organs or activities intended to stimulate erotic rather than aesthetic or emotional feelings", will be rejected
  • 18.2

    Apps that contain user generated content that is frequently pornographic (ex "Chat Roulette" apps) will be rejected

19. Religion, culture, and ethnicity

  • 19.1

    Apps containing references or commentary about a religious, cultural or ethnic group that are defamatory, offensive, mean-spirited or likely to expose the targeted group to harm or violence will be rejected
  • 19.2

    Apps may contain or quote religious text provided the quotes or translations are accurate and not misleading. Commentary should be educational or informative rather than inflammatory

20. Contests, sweepstakes, lotteries, and raffles

  • 20.1

    Sweepstakes and contests must be sponsored by the developer/company of the app
  • 20.2

    Official rules for sweepstakes and contests, must be presented in the app and make it clear that Apple is not a sponsor or involved in the activity in any manner
  • 20.3

    It must be permissible by law for the developer to run a lottery app, and a lottery app must have all of the following characteristics: consideration, chance, and a prize
  • 20.4

    Apps that allow a user to directly purchase a lottery or raffle ticket in the app will be rejected

21. Charities and contributions

  • 21.1

    Apps that include the ability to make donations to recognized charitable organizations must be free
  • 21.2

    The collection of donations must be done via a web site in Safari or an SMS
  • 22.1

    Apps must comply with all legal requirements in any location where they are made available to users. It is the developer's obligation to understand and conform to all local laws
  • 22.2

    Apps that contain false, fraudulent or misleading representations will be rejected
  • 22.3

    Apps that solicit, promote, or encourage criminal or clearly reckless behavior will be rejected
  • 22.4

    Apps that enable illegal file sharing will be rejected
  • 22.5

    Apps that are designed for use as illegal gambling aids, including card counters, will be rejected
  • 22.6

    Apps that enable anonymous or prank phone calls or SMS/MMS messaging will be rejected
  • 22.7

    Developers who create apps that surreptitiously attempt to discover user passwords or other private user data will be removed from the iOS Developer Program
  • 22.8

    Apps which contain DUI checkpoints that are not published by law enforcement agencies, or encourage and enable drunk driving, will be rejected

Living document

This document represents our best efforts to share how we review apps submitted to the App Store, and we hope it is a helpful guide as you develop and submit your apps. It is a living document that will evolve as we are presented with new apps and situations, and we'll update it periodically to reflect these changes.
Thank you for developing for iOS. Even though this document is a formidable list of what not to do, please also keep in mind the much shorter list of what you must do. Above all else, join us in trying to surprise and delight users. Show them their world in innovative ways, and let them interact with it like never before. In our experience, users really respond to polish, both in functionality and user interface. Go the extra mile. Give them more than they expect. And take them places where they have never been before. We are ready to help.

Checklist for Submitting an App to the App Store

Before you can release a paid app to the App Store, you must agree to all of the paid app contracts, and submit your tax and bank routing info. This should be done in iTunes Connect. For best results you should fill this out before you even begin working on any apps, because it can take several weeks for the contracts to be approved by Apple.

Preparation

1. Complete all of the coding and testing on your app.
2. Update the Appname-info.plist file in your app.
  1. Set the bundle identifier (if you haven't already) to YourAppName. (Remove the com.apple.whatever stuff.) The Identifier should not contain spaces or funny characters - alphanumeric and dashes are ok.
  2. If you want your app to be named something different on the actual device than its name in Xcode, change the "Bundle display name" as well.
  3. Update the bundle version. If this is your first time submitting this app, the version number should probably be 1.0.
  4. Be sure the icon file is set.
3. Build the app for distribution.
4. Write a description for your app for the app store. The app upload page says the description should be 700 characters or less, but that limit doesn't seem to be enforced.
5. Choose a numeric SKU for your app. This can't be left blank, and it has to be a unique number for each of your apps. (I usually use YYMM, like 0902, but you can use whatever you want as long as it's a number.)
6. Assemble your screenshots. You'll need at least one primary screenshot, and up to four more secondary screenshots. Be sure they're the right size: 640 x 960 for high resolution iPhone screenshots; 1024 x 768 for iPad screenshots.
7. Prepare your iTunes artwork. This is a 512 x 512 pixel 72dpi JPEG. It should match your icon artwork as closely as possible - apps are sometimes rejected if these two images are dissimilar.
When you've got all that prepared, you're ready to set up your app in iTunes Connect.

iTunes Connect

When you log into developer.apple.com/iphone, there's a link to iTunes Connect on the right. Once you're logged into iTunes Connect, click on "Manage Your Applications", then "Add New Application".
The app details page asks for your app name, description, copyright info, version number, SKU, application URL and support URL and support e-mail address (all of these are required). The URLs you enter translate to:
iTunes Connect calls it: What it shows on your app's page in iTunes:
"Application URL" "CompanyName Web Site"
"Support URL" "Appname Support"
If this is your first time uploading an app to the app store, and you enrolled as an individual developer, you'll be asked if you want to set a Company Name. Think carefully about this - once you set it, you can NOT change it without calling Apple and going through their phone support line. If you set a company name then all of your apps will show it.
This is also where you should upload the iTunes artwork and screenshots.
Ratings: You'll be asked to rate your app by indicating whether it includes any offensive material.
Pricing and availability: this is where you set the price and release date for your app. You'll get a chance to review this after you select a pricing tier. The page should show a link to the pricing tiers, but if it doesn't show one initially, just set the price to anything and let it refresh. The link should show up then.

Free
Tier1 - 0.99
Tier 2 - 1.99
Tier 3 - 2.99
Tier 4 - 3.99
Tier 5 - 4.99
Tier 6 - 5.99
And so on. Release date: This defaults to the current date, but you can set it to a date in the future* if you like. When your app is approved, you'll want to log back into iTunes Connect and reset the release date to the approval date; that way the app will show up at the top of the new releases section of its category. If you fail to do this, then when your app gets approved it'll show up buried several pages down - not very desirable.
*if you're submitting an app UPDATE, however, you shouldn't touch the release date until you get word that your update has been approved. If you change the release date of an update to sometime in the future, then your CURRENT app will vanish from the app store!
Once you've finished setting up info on your new app, go to the app details page and click on the Ready to Upload Binary button.

Submitting Your App

Starting with Xcode 4, apps are now submitted from within Xcode. You should build a release build of your app, and be sure it appears in the Archived list in the Organizer (Window -> Organizer).


To submit your app to Apple, you'll first need to Validate the app, then Submit it. Select your application from the list of archived apps, then click the Validate button on the right. Xcode will prompt you for your iTunes Connect login credentials, and proceed to validate the app. If all goes well, the Status column will change to "Passed Validation". Then you can click the Submit button to upload it to Apple. When the upload finishes, the Status column will say "Submitted":



Once your app has been submitted, the app's status in iTunes Connect will change to "Waiting for Review". Now you just have to wait for Apple to review and (hopefully) approve your app. This usually takes about a week, sometimes longer. If you log into the iOS Developer Center and go to the App Store Approval Process page, you'll find an App Store Review Status section that Apple keeps (more or less) updated with the percentage of apps that are approved within the past week.
While you're waiting for approval, you should set up a web page for your app.

After Approval

When your app is approved, you'll get an email saying your app is ready for sale. You should log back into iTunes Connect and change your app's availability date to today. This way your app will appear at the top of the "new releases" list in its category. You can only do this on the date your app was approved.
You can change most of the app details any time after your app is approved; if you want to re-word the description, or upload new screenshots, or change the price of your app, you can do so without having to go through the approval process again. The only time you'll have to wait for approval is when you submit an update (a new binary) to an app. Also, you can only change keywords or ratings when you upload a new binary.