iPhone OS Reference Library Apple Developer Connection spyglass button

Publishing Applications for Testing

After testing and tuning your application yourself or with the assistance of your teammates, it’s always a good idea to perform wider testing with a representative sample of your application’s potential users. Such testing may reveal issues that surface only with particular usage patterns. Incorporating a few nondeveloper users in your testing strategy lets you expose your application to a variety of usage styles, and, if such usage produces crashes in your application, allows you to collect the crash reports (also known as crash logs) from those users to help you resolve those execution problems.

An iPhone application in development can run only on devices with provisioning profiles generated by the application developer. As iPhone Developer Program members, you and your fellow team members install these files on your devices as part of your development process. To include users that are not part of your team (also known as testers) in your testing strategy, you must add them as part of your team in the Program Portal and issue them test provisioning profiles (also known as ad-hoc provisioning profiles), which allow them to install on their devices applications that have not been published to the App Store.

Figure 9-1 illustrates the process of adding users as testers and delivering your test application to them.

Figure 9-1  Adding testers to your team

Diagram that depicts the relationship between a tester, a developer, and the Program Portal.
Prerequisites: Before publishing your application for testing, review the information in “Running Applications.”

To help testers obtain the information you need to add them to your testing program and to show them how to send you crash logs, you can send them the information in “Instructions for Application Testers.”

Important: To add testers to your team, you must be a member of the iPhone Developer Program. See “Managing Devices” for details.

The remainder of this chapter describes the steps you need to perform to add testers to your team and shows how to import the crash logs they send you into the Organizer.

Adding Testers to Your Team

To add an iPhone OS user to your team as a tester:

  1. Obtain the tester’s device ID.

    The easiest way to obtain this information is through email. Have your tester follow the instructions for sending their device ID to developers in “Sending Your Device ID to a Developer.”

  2. Add the tester’s device ID to the Program Portal.

  3. Generate the tester’s provisioning profile in the Program Portal.

    You must select a development certificate, application ID, and only the tester’s device name.

Adding the iTunes Artwork to Your Application

Test versions of your application should contain artwork iTunes uses to identify your application. Otherwise, when users add your application to their iTunes library, iTunes uses generic artwork for it, as shown in Figure 9-2.

Figure 9-2  Generic iTunes artwork for test applications

iTunes window with the Library > Applications group selected in the sidebar and an application named Calc with a generic application icon.

The iTunes artwork your testers see should be your application’s icon. This artwork must be a 512 x 512 JPEG or PNG file named iTunesArtwork. Note that the file must not have an extension.

After generating the file of your application’s icon, follow these steps to add it to your application:

  1. Open your project in Xcode.

  2. In the Groups & Files list, select the Resources group.

  3. Choose Project > Add to Project, navigate to your iTunesArtwork file, and click Add.

  4. In the dialog that appears, select the ”Copy items” option and click Add.

Distributing Your Application to Testers

Before sending your application to a tester build it using the Release build configuration. You can find the directory containing your binary (and its corresponding dSYM file) by choosing Reveal in Finder from the application in the Products group in the Groups & Files list.

Project window showing the shortcut menu for an item in the Products group of the Groups & Files list. The menu’s Reveal in Finder option is highlighted.

Remember to keep the binary and its corresponding dSYM file on your file system (copy them to a directory that contains a subdirectory for each build you’ve released to your teammates or to testers) so that they’re indexed by Spotlight.

Send your application binary and the tester’s provisioning profile to the tester. One way of accomplishing this task is by compressing these items and emailing them to the tester:

  1. In the Finder, select the two files and choose File > Compress.

  2. Name the archive <application_name> for <user_name>.zip. For example, MyTestApp for Anna Haro.zip.

  3. In the Finder, select the archive and choose Finder > Services > Mail > Send File.

  4. In the body of the message make sure to include your application’s target iPhone OS release. If the tester’s iPhone OS version is earlier than the one for which your application was built, they will not be able to install the application on their device.

When a tester receives the items, she or he follows the instructions in “Instructions for Application Testers” to install the application and the provisioning profile.

Importing Tester Crash Logs

To add tester crash logs to the Organizer to view their symbol information, drag the crash logs to the Crash Logs group under the iPhone Development section.

Important: For Xcode to symbolize crash logs (to add information about the API used to the crash log), Spotlight must be indexing the volume in which you store your binaries and their corresponding dSYM files.

Instructions for Application Testers

This section provides instructions to testers about the procedures to follow to test your iPhone applications on their devices. An application tester is a potential user of your application who wants to test it before it’s released through the App Store.

You may send these instructions, along with any special tasks needed to test your application, to customers interested in testing your application.

Sending Your Device ID to a Developer

Before a developer can send you an application for testing, they must register your device with Apple under their applicagion-testing program.

To send your device ID to a developer for test-program registration:

  1. Launch iTunes.

  2. Connect your device to your computer.

  3. Select the device in the Devices list.

  4. In the Summary pane, click the Serial Number label. It changes to Identifier.

  5. Choose Edit > Copy.

  6. Email your device identifier to the developer.

    Be sure to include your name and device name in the email.

Installing an Application for Testing

After being successfully registered in a developer’s testing program, the developer sends you an archive containing two files: the application and a provisioning profile. You need to install both files into iTunes to be able run the application on your device.

After opening the archive:

  1. Drag the provisioning profile (the file with the .mobileprovision extension) to the iTunes Library group.

  2. Drag the application (the file with the .app extension) to the iTunes Library group.

    The application appears in the Applications list.

  3. Sync your device.

    If the version of iPhone OS on your device is earlier than the test application can run on, you need to update your device with the current release of iPhone OS.

Sending Crash Reports to a Developer

When the application you’re testing crashes, iPhone OS creates a record of that event. The next time you connect your device to iTunes, iTunes downloads those records (known as crash logs) to your computer. To help get the problem fixed, you should send crash logs of the application you’re testing to its developer.

Sending Crash Reports from Macs

To send crash logs to developers:

  1. In the Finder, open a new window.

  2. Choose Go > Go to Folder.

  3. Enter ~/Library/Logs/CrashReporter/MobileDevice.

  4. Open the folder named after your device’s name.

  5. Select the crash logs named after the application you’re testing.

  6. Choose Finder > Services > Mail > Send File.

  7. In the New Message window, enter the developer’s email address in the To field and <application_name> crash logs from <your_name> (for example, MyTestApp crash logs from Anna Haro) in the Subject field.

  8. Choose Message > Send.

  9. In the Finder, you may delete the crash logs you sent to avoid sending duplicate reports later.

Sending Crash Reports from Windows

To send crash logs to developers, enter the crash log directory (Listing 9-1 and Listing 9-2) in the Windows search field, replacing <user_name> with your Windows user name.

Listing 9-1  Crash log storage on Windows Vista

C:\Users\<user_name>\AppData\Roaming\Apple computer\Logs\CrashReporter/MobileDevice

Listing 9-2  Crash log storage on Windows XP

C:\Documents and Settings\<user_name>\Application Data\Apple computer\Logs\CrashReporter

Open the folder named after your device’s name and send the crash logs for the application you’re testing in an email message using the subject-text format <application_name> crash logs from <your_name> (for example, MyTestApp crash logs from Anna Haro) to the application’s developer.



Last updated: 2009-08-06

Did this document help you? Yes It's good, but... Not helpful...