Programming4us
         
 
 
Programming

iOS SDK : Installing Applications on an iPhone

8/17/2011 11:25:54 AM
Installing an application on an iPhone or iPod touch requires iPhone Developer membership. After you have a membership, installing an application is not difficult, as Apple’s Developer Portal provides step-by-step instructions.

Membership

A basic membership in the iPhone Dev Center on the Developer Connection web site is a prerequisite to downloading the iPhone SDK. However, to install applications and eventually sell applications on the App Store requires membership in the iPhone Developer Program. Apple offers two membership types: corporate and individual. You must apply, pay a $99 fee, and receive acceptance before becoming a full individual member. After becoming a member, you are granted access to the iPhone Developer Program’s Portal. This site is where you obtain certificates, assign new devices, create application IDs, create provisioning profiles, and submit an app to the App Store for approval.

If you are not a registered, paid iPhone developer, you should become one now. Go to the iPhone Dev Center (http://developer.apple.com/programs/iphone/) for complete instructions. You cannot debug apps on your device until you register.

Certificates, Devices, Application IDs, and Provisioning

A certificate is the first thing that is required. Log in to your iPhone Developer Program account and click the iPhone Provisioning Portal link. The Provisioning Portal is where you’ll create a signing certificate, register devices, create provisioning certificates, and more (Figure 1). Apple has provided lots of online help, including videos, for the Provisioning Profile. Take a little time to go through their documentation before proceeding.

Figure 1. The Certificates tab

You obtain your certificate by following the instructions on the How To tab in the portal’s Certificates tab.

After obtaining the certificate, you must register the devices you wish to use for debugging. You’ll need brief access to each of these devices to retrieve its unique device ID, but otherwise these could be iOS devices that belong to your friends or anyone you want to use for testing your new app (Figure 2). As with certificates, complete instructions are provided on the How To tab.

Figure 2. The Devices tab

After registering your devices, the next step is to create an App ID for each of your applications. Any application you wish to test on a device must have an App ID (Figure 3). If an app will use Apple’s Push Notifications or require In App purchasing, then it must have a unique App ID. For other applications you can create a wildcard App ID that ends with a * and use it for multiple apps.

Figure 3. The App IDs tab

After obtaining the App ID, you must obtain a provisioning profile (Figure 4). A provisioning profile essentially bundles together a signing certificate, a set of devices, and an App ID. It will be installed on your device so that your app can be installed and tested. The provisioning profile will be installed on your device(s) and allows you to install a particular application on a particular device.

Figure 4. The Provisioning Profile tab

Apple’s Developer Portal has a complete discussion of the provisioning process; the process is not difficult. What you can do when learning the process is to open two browser windows, one where you work through the steps and the other to skim the instructions as needed. In the following example, we take you through registering and installing a simple application on an iPhone.

Try This: Deploying an Application to iPhone

  1. Create a new View-based Application named OnMyPhone. Keep track of the Company Identifier and Product Name so that you can create an App ID in the iPhone Provisioning Portal that matches.

  2. Log in to the iPhone Developer Program Portal.

  3. Click the Certificates tab. If you haven’t installed your certificate, do so now. These steps assume a certificate (see Figure 1).

  4. Click the Devices tab. If you haven’t installed your devices, do so now. These steps assume a registered device (see Figure 2).

  5. Click the App IDs tab and add the application (see Figure 3). Click the Add ID button on the page’s right, and add the OnMyPhone application (Figure 5). You’ll need to match the Bundle Identifier to what you used in Step 1.

    Figure 5. Adding an application to the App IDs
  6. Click the Provisioning tab and click the New Profile button on the page’s right (see Figure 4). Complete the form; be certain you select the certificate and the device you want to provision (Figure 6).

    Figure 6. Provisioning the OnMyPhone application
  7. Click Submit, and you return to the Provisioning page. The Provisioning Profile’s status for My On My Phone Profile should say “Pending.” Refresh the page until the status has an “Active” status. You are usually quickly granted a profile.

  8. Download the profile by clicking the Download button next to the profile. The profile should have a title like “On_My_Phone_Profile.mobileprovision.” Move it to a safe location.

  9. Ensure your device is connected to your computer.

  10. Return to Xcode. From the Window menu, select Organizer. If your device is attached, it should appear under DEVICES (Figure 7).

    Figure 7. The Organizer window
  11. Drag the provision file to the Provisioning list.

  12. With your iOS device attached, Xcode will probably default to building/running on your device. If not, choose OnMyPhone (your device name) from the pull-down menu at the top of the project window instead of OnMyPhone (iPhone Simulator 4.2).

    Note

    With new projects, Xcode will default to building for the latest version of the SDK. This is almost always what you’ll want. You should build your app for the latest SDK version but still specify in the build settings that it will run on a range of iOS versions older than the SDK if you don’t absolutely require a new feature only available in the latest OS.


  13. You might receive an error the first time. If the build fails, click the Issues button in the navigation pane (the one with an exclamation point) and then click the issue to see details (Figure 8). If the application identifier that you chose when you created the project doesn’t match the one in the App ID of the provisioning profile, you’ll get a signing error. If that happens, you can change the application’s identifier by editing the file OnMyPhone-Info.plist (Figure 9) or you can go back to the Provisioning Portal and edit to create a new App ID or profile.

    Figure 8. Error message
    Figure 9. Changing the application bundle identifier
  14. Close the Project Info window and open Info.plist. Change the bundle identifier to OnMyPhone.

  15. Click Run, and the application should install and run on your device.


Other -----------------
- Software Testing with Visual Studio Team System 2008 : Web Testing - Recording a test
- Software Testing with Visual Studio Team System 2008 : Unit testing web services & Code coverage unit test
- .NET Debugging : Introduction to the Tools - SOS & SOSEX
- .NET Debugging : CLR 4.0 - Synchronization & Interoperability
- iPhone Programming : Connecting to the Network - Getting Data from the Internet
- iPhone Programming : Connecting to the Network - Sending Email
- Programming Excel with VBA and .NET : Tasks in Visual Basic - Check Results
- Programming Excel with VBA and .NET : Tasks in Visual Basic - Read and Write Files
- Programming Excel with VBA and .NET : Tasks in Visual Basic - Get Dates and Times
- Programming Excel with VBA and .NET : Tasks in Visual Basic - Work with Text
- A Technical Overview of the Mobile Web : THE TECHNICAL CHALLENGES OF MOBILE DEVICES (part 2)
- A Technical Overview of the Mobile Web : THE TECHNICAL CHALLENGES OF MOBILE DEVICES (part 1) - Physical Constraints
- Parallel Programming with Microsoft Visual Studio 2010 : Task Parallelism - Unhandled Exceptions in Tasks
- Parallel Programming with Microsoft Visual Studio 2010 : Introduction to Parallel Tasks
- jQuery 1.3 : DOM Manipulation - Moving elements
- .NET Debugging : Introduction to the Tools - .NET 2.0—Redistributable & .NET 2.0—SDK
- .NET Debugging : Managed Heap and Garbage Collection
- Context and Interception : Custom Component Services (part 3) - The Transaction Management Service
- Context and Interception : Custom Component Services (part 2) - The Logbook Service
- Context and Interception : Custom Component Services (part 1) - Building a Custom Context Attribute & Installing a Custom Message Sink
 
 
Most View
- Windows Server 2008 : Using dnscmd - Retrieving DNS Information, Exporting DNS Data, Forcing Zone Transfers
- Implementing Windows Vista’s Internet Security and Privacy Features (part 4) - Surfing the Web Securely - Thwarting Phishers with the Phishing Filter
- Windows Server 2008 : Configuring Remote Access (part 2) - Network Policy Server and Network Access Protection
- DirectX 10 Game Programming : The 2D Resurgence - Textures
- BizTalk Server 2009: Using dynamic service ports (part 1) - Defining the service
- Windows 7 : Understand Internet Explorer’s Advanced Security Options
- Installing Systems Management Server Installer
- Navigating the Central Administration Home Page (part 3) - Central Administration Page Option
- Sharepoint 2010 : Backup and Restore (part 2) - Performing a site collection backup, Exporting sites
- Microsoft SQL Server Options for Disaster Recovery
Top 10
- Implementing Edge Services for an Exchange Server 2007 Environment : Utilizing the Basic Sender and Recipient Connection Filters (part 3) - Configuring Recipient Filtering
- Implementing Edge Services for an Exchange Server 2007 Environment : Utilizing the Basic Sender and Recipient Connection Filters (part 2)
- Implementing Edge Services for an Exchange Server 2007 Environment : Utilizing the Basic Sender and Recipient Connection Filters (part 1)
- Implementing Edge Services for an Exchange Server 2007 Environment : Installing and Configuring the Edge Transport Server Components
- What's New in SharePoint 2013 (part 7) - BCS
- What's New in SharePoint 2013 (part 6) - SEARCH
- What's New in SharePoint 2013 (part 6) - WEB CONTENT MANAGEMENT
- What's New in SharePoint 2013 (part 5) - ENTERPRISE CONTENT MANAGEMENT
- What's New in SharePoint 2013 (part 4) - WORKFLOWS
- What's New in SharePoint 2013 (part 3) - REMOTE EVENTS