Step 4 Request a Development Certificate
Next, the online assistant will ask you to request a certificate, which you'll need to do on your Mac. But leave your web browser window open, since we'll be jumping back to the Development Provisioning Assistant in a moment. To request a certificate, launch the Keychain Access application, located on your Mac Applications Utilities Keychain Access In the Keychain Access menu, look for the Certificate Assistant menu item. From that submenu, select Request a Certificate from a Certificate...
App Store Identity Badge
The most common element you'll see on most iPhone app-related web sites is the official App Store identity badge that shows a little iPhone icon with the words Available on the App Store. To obtain this graphic, you'll need to log into the iPhone Dev Center at http developer.apple.com iphone and then navigate your way to the iPhone Developer Program Portal. Within the Portal site, click Distribution in the left menu, and then select the App Store tab see Figure 8-6 . You'll see the identity...
Step 2 Verify That Apples WWDR Certificate Is Installed
When you initially signed up for the iPhone Developer Program online, one of the first things you might have done was download and install Apple's Worldwide Developer Relations certificate. If so, then you can skip ahead to step 3. If you don't yet have Apple's WWDR certificate in your Mac's Keychain, then you'll need to take care of that right now. Using your iPhone Developer ID and password, log into the iPhone Dev Center Once logged in, click the iPhone Developer Program Portal link in the...
Check Out This Cool App Tell a Friend with InApp Email and Social Networking
Similar to the concept of a Rate This App button, you can also include a Tell A Friend button in your app, enabling your customers to recommend your app to their friends and family. This is good old-fashioned grassroots marketing. By supplying your users with convenient options to talk about your app, it's a proactive step in the hopes of increasing your app's exposure and sales through the proven power of word of mouth. Nothing helps sell a product more effectively than recommendations from...
VideoEgg
Like Quattro Wireless, VideoEgg participates in many of the mobile ad exchanges like AdWhirl and Mobclix, but it also provide its own iPhone SDK for directly embedding only VideoEgg ads into your app. Its AdFrame format looks like a typical, small mobile banner ad at first glance. But then tap on it, and a full-screen, rich-media ad rolls into view within your app see Figure 5-8 . VideoEgg is different from the other ad networks in that it's focused on delivering user engagement for its...
Step 2 Fetch Available InApp Purchase Items
With the In-App Purchase feature accessible, you can now check the App Store for the availability of your item. It is important to note that your application needs to already know the related In-App Purchase product ID before performing this check. If you are offering only one or two In-App Purchase items with no plans on adding more, then the easiest thing to do is store your In-App Purchase product IDs within your app. Of course, any time you add a new In-App Purchase product ID to your app,...
Setting Up Shop
In a move to keep users engaged within the app, NimbleBit opted to embed its own custom app store into their games. Tapping the More Games button in its apps displays the NimbleStore screen, which cross-promotes all of its available apps see Figure 5-10 . The nice thing about the NimbleStore is that when tapping an app icon, instead of redirecting the user to the respective page in the App Store, the NimbleStore displays an embedded, custom app page, which allows NimbleBit to tailor its own...
Whats in an App Name
While researching the competition, you undoubtedly performed a countless number of searches within the App Store. Along the way, you discovered that the words used in an app's name and related keywords can affect its placement in App Store searches. I'll discuss how to refine your App Store display name, keywords, and description in Chapter 9, so for now let's focus on your app name. Obviously, in the App Store, you're able to add short captions to your app's display name to help ensure...
Creating InApp Purchase Items
Now that you have a test user account in place, the next step is to add your In-App Purchase item as its own individual product to iTunes Connect. It is important to note that iTunes Connect will only allow you to add a new In-App Purchase item if you already have an app listed in iTunes Connect. This way, when you're creating the In-App Purchase item, you can properly assign the listed application as its parent app. You can create an In-App Purchase item within either the Manage Your...
Step 4 Generate and Install an Ad Hoc Distribution Provisioning Profile
Jumping back to the iPhone Developer Program Portal in your web browser, select the Distribution tab within the Provisioning section. Click the New Profile button. In the form that's presented, be sure to choose Ad Hoc as the distribution method. Select the appropriate App ID for your application, and verify that the distribution certificate is assigned correctly. Enter a profile name that reflects the nature of this provisioning profile. When testing multiple applications, developers have...
When to Use InApp Advertising
In-app advertising may not be an effective business model for all apps. You need to take an in-depth look at not only what kind of app you're building but also how people will be consuming your app. If your app requires an Internet connection, such as accessing information from GPS, web services, or an online social network, then adding in-app advertising will not be an imposition for your users since they will already be online when running your app. And if your app is sticky enough to retain...
Step 6 Create the Entitlements File
Before you can compile your application for ad hoc distribution, you need to add a special code-signing Entitlements file to your project. From Xcode's File Menu, choose New File, and then select Entitlements from the iPhone OS gt Code Signing category in the window that appears see Figure 7-37 . Figure 7-37. Add a special code-signing Entitlements file to your Xcode project. Figure 7-37. Add a special code-signing Entitlements file to your Xcode project. Name the new file Entitlements.plist,...
Step 3 Install and Backup Your Distribution Certificate
Double-click the downloaded distribution_identity.cer file, which will launch the Keychain Access application if it's not already open . Keychain Access will display a dialog window, asking if you'd like to add the certificate to a keychain. Make sure the dialog's keychain menu is set to login, and then click the Add button. In the Keys category of the main Keychain Access window, verify that your private and public keys are now paired together with your Distribution Certificate to ensure it is...
Developing iPhone Apps for Clients
This book can benefit not only the people who want to sell their own apps in the App Store but also consultants who develop iPhone apps for third-party companies. You're being hired for your expertise, so anything you can do to help your clients succeed in the App Store will serve to strengthen your worth to them. What better way to secure a consulting contract than by offering a full turnkey service, guiding your clients from app concept to launch, providing both code and marketing support By...
Step 6 Download and Install Your Development Certificate
With your provisioning profile securely in place, now the online assistant will prompt you to download your development certificate. Download the developer_identity.cer file to your Mac desktop see Figure 7-19 . Figure 7-19. Download your iPhone development certificate to your Mac desktop. Figure 7-19. Download your iPhone development certificate to your Mac desktop. Double-click that downloaded .cer file, which will launch the Keychain Access application if it's not already open . Keychain...
Step 5 Configure Your App for Ad Hoc Distribution
Now that you have the distribution certificate and provisioning profile in place, the last part of this equation is to configure your Xcode project for ad hoc distribution. Fire up your project in Xcode, but before you do anything, first ensure that you've added a 57 x 57 pixel icon.png file to the project. Beyond the fact that you may encounter distribution build errors without one, visual impressions count even in the beta testing stage, so including a beautiful app icon is important. In the...
Setting Up an InApp Purchase Test User Account
Why the need for a test user account Since you'll want to test your application's In-App Purchase functionality extensively before submitting it to the App Store, using a test user account will enable you to perform test purchases without actually getting billed for them. Whew That's definitely good news. Now you can do all the In-App Purchase testing you want without worrying about draining your pocketbook in the process. Log into iTunes Connect https itunesconnect.apple.com On the main iTunes...
Managing Multiple Provisioning Profiles
What if you don't want to replace your existing provisioning profile but would rather create and install multiple provisioning profiles for testing different apps This is easy enough to do but requires several extra steps In the Provisioning section's Development tab of the online iPhone Developer Program Portal, create a new provisioning profile. Assign the same certificate and device that you've already established on your Mac. Enter a unique profile name, and select the appropriate App ID....
Tapping into the Store Kit Framework
Time to start programming Fire up Xcode, and create a new iPhone project, selecting the View-based Application template and naming the example project InAppPurchase. Before we write any code, the required StoreKit.framework has to be added to the Xcode project. To do this, Control-click the project's Frameworks folder, and from the contextual menu that appears, select Add gt Existing Frameworks see Figure 6-11 . Select the StoreKit.framework, which can be located in the Xcode tools' parent...
The Limitations of Wildcard App IDs
As convenient as wild-card App IDs are, they cannot be used to test Push Notifications or In-App Purchase functionality on your device. Those two major features can be tested only with application-specific App IDs. What does that mean Essentially, a wildcard App ID is assigned an asterisk as its bundle identifier, which is what allows it be used with any Xcode project. If you navigate to the App IDs section of the online iPhone Developer Program Portal in your web browser, you'll notice that...
Warranty Disclaimers
What should your customer expect when they purchase a copy of your application The ways these expectations are set from a legal standpoint are with warranties. When you say in your app description that your game has 20 levels or that your Twitter client enables users to post tweets from the application, these are express warranties about the app. If a customer buys your app and it doesn't do the things you said it would do, the user could claim that you breached your warranty. Most app...
Designing a Custom App Icon
Taking the fictional app example from Chapter 2, the parked-car locator called Breadcrumbs, let's design an original app icon for it. Many of the competitive apps in this space use icon imagery that look suspiciously like royalty-free clip art. Using royalty-free stock art can serve as a great foundation for mocking up the initial prototype design of your icon, but you'll want to create your own original artwork for the final icon, especially if you have plans to register a trademark for your...
Step 7 Run Your Xcode Project on Your Test Device
Now that you have the proper provisioning profile and certificates in place, you can finally start testing your app on the connected device. For example purposes, I simply opened the InAppHelp Xcode project that was created earlier in this chapter. In the top-left corner of the Xcode project window, select Device Debug from the drop-down menu see Figure 7-21 . m HelpViewController.m - InAppHelp Breakpoints Build and Run Tasks HelpViewController.m 13 t implementa Figure 7-21. Select Device I...
InApp Web Help A Little HTML Goes a Long Way
Even if you don't have the resources to produce a tutorial video or demo, if your application needs a little documentation for revealing extras such as advanced features, then create your own in-app help by providing the information in a help screen. A dedicated help view is extremely easy to set up with every little work and should be made accessible from your app's Settings or Info panel. But don't settle for plain text. Present the information in an appealing format. By using a UIWebView,...
Setting Up the Basics
First, you'll need to add a new class to the project, so select the Classes folder in the Groups amp Files column, and then choose New File from the File Menu. Next, in the New File dialog box that appears, select the Objective-C Class template from the Cocoa Touch Class category, and configure the Subclass drop-down menu to make it a subclass of NSObject. Click the Next button, and have Xcode create both the .h and .m files, naming them both InAppPurchaseObserver. You don't have to touch this...
Step 4 Receiving Payment Status
After the user either cancels or confirms the purchase, the transaction status is then sent back to your InAppPurchaseObserver class. Now it's time to add code to that class to handle this job. Open the InAppPurchaseObserver.h header file, and update the code as follows import lt Foundation Foundation.h gt import lt StoreKit StoreKit.h gt interface InAppPurchaseObserver NSObject lt SKPaymentTransactionObserver gt queue updatedTransactions NSArray transactions As you'll notice, the bold code...
Interface Design Think Like a User Not a Developer
After discussing it earlier in this chapter, you've taken the time to read Apple's iPhone Human Interface Guidelines, right No This is important, so go ahead. I'll wait You're back already Great Now that you understand Apple's suggested boundaries and recommended design practices for iPhone user interfaces, your first step in the development process is to put that knowledge to good use. No, I'm not talking about writing code just yet. Think about your app's core functionality and the key...
Mining Additional Revenue with Affiliate Programs
In Chapter 5's coverage of cross-promotional efforts, I briefly mentioned the use of iTunes affiliate links when sending users to the iTunes Store. For those of you unfamiliar with affiliate programs, the way it works is quite simple. Participating companies want to encourage software and web site owners to send traffic to their retail sites. As an incentive to do so, a small commission fee is earned for sales that are generated. This is tracked by using special URLs that include unique...
Analyzing App Ranking Statistics
After getting a handle on how much competition is out there for your particular niche, it's also important to find out how your competitors are faring in the App Store. Are they ranked high in the App Store charts Have any of them broken out of their primary categories to rank well in overall downloads Do those apps perform better in some countries but not in others This information can also help you determine whether a particular niche is popular or profitable enough to warrant your own...
Can a Free Lite Version Really Boost Paid App Sales
If done right, your lite version can be a finely tuned sales machine, turning thousands or hopefully millions of users into paying customers. So, how many free lite downloads does it actually take to see a spike in paid app sales On average, most iPhone developers report conversion rates between 0.5 percent and 3 percent. This means that for every 100 downloads of their free lite version, they're selling approximately one to three paid versions. If you're selling your paid version for 99 cents...
Moving to Interface Builder
After you've created and tweaked your design and you're finally happy with the way your interface looks, it's now time to fire up Xcode and Interface Builder. Creating a new Xcode project, you could immediately go to work re-creating your UI design with real UIKit components or your own custom controls in Interface Builder, but before you put too much effort into writing a lot of code, you may want to first test the usability of your new UI design. You can quickly create a semi-functional...
InApp Email
With the basic foundation of the TellAFriend app finished, now you need to add functionality to the Send Email button. In previous versions of the iPhone SDK, sending emails required launching the built-in Mail app, which forced your app to quit, since only one app can run at a time. The iPhone SDK 3.0 solves that problem by including support for an In-App Email feature. This new feature allows users to compose and send an email directly within your own app It should go without saying that the...
Tapjoy
Tapjoy has an interesting ad exchange platform in that it has partnered with several companies to offer an appealing and comprehensive package for developers. Besides supporting AdMob, Quattro Wireless, Mobclix, and other ad networks, it's the official ad platform for Pinch Media analytics and the recommended iPhone SDK for selling virtual goods via Offerpal Media. It also offers an innovative Pay Per Install program that utilizes a finder's free incentive for cross-promoting your app within...
How You Like Me Now Encouraging User Reviews Within Your App
You've put a lot of work into perfecting your app's user experience in the hopes that your efforts result in sales and positive customer ratings. If a user decides to delete your app from their iPhone, Apple's system automatically prompts the user to first rate the app before completing the uninstall. Although this is a convenient way to solicit customer feedback, it's not necessarily the most opportune time to ask their opinion. If the user has chosen to delete your app, then they probably...
Creating an Effective App Icon and Logo
As I mentioned earlier, when consumers browse the App Store listings, your app icon is the first visual cue your app has to offer. Your app's icon and name will be the first key factors that determine whether a user is interested enough to click through to your app's product page. Since the icon represents your app's brand identity, its design must be memorable and eye-catching enough to stand apart from your competition. At the end of Chapter 2, I recommended reviewing your competition's app...
Copyrighting Your App
The concept of copyrighting an app is a little misleading because it implies that obtaining copyright protection for your work requires you to take proactive measures to have protection. In fact, in the United States and most other countries that follow the Berne Convention, some degree of copyright protection is established automatically the moment you put pen to paper or start working in Photoshop or Xcode , assuming the thing you are creating is original to you. Copyright protects original...
Drawing Your Ideas on Paper
Don't overlook the value of sketches on grid paper Getting your ideas down on paper is a quick way to map out the basic look and feel of your app. Designing a game that requires a completely custom interface Drawing your concept on paper may be your only rapid option, since this would be impossible to do with only the standard controls available in Interface Builder. Sketch it first by hand to work out the design kinks, and then construct the final custom artwork in Illustrator or Photoshop....





























