My opinion on iOS Apple account/certificate/Push Certificate

Source: Internet
Author: User

One, Apple account
1, the company team account (Company/organization):

Cost $99 a year, the account in the App Store seller can display similar studios, or a custom team name, such as Mamshare INC, the company account can allow multiple developers to collaborate on development, more than the individual account management settings, you can set up multiple AppleID, 4 administrative level permissions, see notes in detail. Udid test for 100 apple iOS devices. However, you need to fill out the company's code (D-U-N-S) when applying.

2. Business account (Enterprise)

Cost $299 A year, the account development app can not be published to the app Store, only enterprise internal application, Apple iOS device Udid number is not limited. Corporate accounts are ideal for apps that don't want to be online, but they need to be deployed on iOS devices like 1000 of people inside the enterprise. The company testing Department needs the whole company test equipment, break through 100 udid limit.

II. Certificate/Push Certificate description
1. Concept Introduction1.1, Certificate

A certificate is used to sign an application, and only a signed application can guarantee that his source is trustworthy, and that the code is complete and unmodified. in the codesigning identity of Xcode Build Setting, you can set up a certificate that is used to sign code.  

certificates are divided into two main categories: development and Production,development certificates for developing and debugging applications, production primarily for distributing applications (depending on the type of certificate), The following is the classification information for the certificate: (the certificate validity period is in parentheses)

1), Development

app Development (1 years): Used to develop and debug applications on the real machine.

Push Development (1 years): Used to debug Apple pushnotification

2), Production

Ad Hoc : The application used to publish Adhoc .

App Store : Used to publish the app that submitted the app Store.

Push Production (1 ): Used with Apple pushnotification in release builds

1.2. App ID

App ID used to identify one or a group of apps, the app ID should be consistent or matched to the bundle ID in Xcode. The APP ID has the following two main types:

1), Explicit App ID:

Unique app ID that uniquely identifies an application, such as Com.wzc.demo, that identifies a program with bundle ID Com.wzc.demo.

2), Wildcard App ID:

A wildcard app ID that identifies a group of applications. For example , * can represent all applications, while com.wzc.* can represent all programs that start with COM.WZC .

every time you create an app ID, we can set up the app Services used by that app ID. Each service has different requirements, for example, if you want to use Apple Pushnotification services, you must be an explicit app ID so that you can uniquely identify an application. The following are all currently optional services and the corresponding configuration requirements.


If your app uses any of the above-mentioned service, it needs to be configured as required.

1.3. Device

Devices contains all the devices available for development and testing in this account. Each device uses Udid to uniquely identify it. The number of devices in each account is limited to 100.

1.4. Provisioning Profile

A provisioning profile contains all of the above: certificates, App IDs, devices. To package or run an application on a real machine, you first need a certificate to sign it to identify the application as legitimate, secure, and complete, then you need to indicate its app ID and verify that the bundle ID is consistent with it, and again, if it is a real-machine debug, You need to confirm that the device can be used to run the program. Provisioning Profile Packs All of this information together to make it easy to use when debugging and distributing programs, so you can choose different profiles in different situations. And the provisioning profile file is embedded in the. IPA package when it is packaged.

For example, as shown in, a provisioning profile for development contains the app ID for that provisioning profile, the certificates and devices that can be used. This means that using this provisioning profile wrapper must have the appropriate certificate and run the app ID corresponding to the device included in the devices.


As mentioned above, the process of running an application on a single device is as follows:


as with certificates, Provisioning profile is divided into development and distribution two types:

1) , Development (1 years)2), distribution (1Years

Ad Hoc

APP Store

Ad Hoc package can only run on the available devices that are registered in the account, there is clearly a limit of up to a maximum of three devices. So the difference between the Two provisioning profiles is that the device limitations are different, and the certificate they use is the same.

2, Program Packaging Introduction
2.1, Apple Program Packaging method Introduction

1), Save for IOS App Store Deployment

save to a local ready to upload app Store or use on jailbroken iOS devices

2), Save for Ad Hoc Deployment

Save to a locally ready-to-use device to be added to your account (specifically to add an available device under the developer Account Udid), which is compiled with the release certificate.

3), Save for Enterprisedeployment

This app is intended for local server distribution, which is primarily for enterprise-level accounts

4), Save for development Deployment

For internal testing, devices that are primarily intended for developers (specifically Udid to add available devices under the developer account). The app package is a development certificate compiled

We now provide test packaging, the test environment and the HK environment are packaged in a third way (Save for enterprisedeployment) so that the program installation package can be installed on any iphone, Convenient testing to the market and other company internal colleagues installation experience; The ME environment is packaged in the second way (Save for Ad Hoc Deployment), the second uses the same publishing certificate as the one used to formally commit appstore, so they can share the same push certificate , so that you can test if there is a problem with the push process in the ME environment, which can only be run on devices devices that we have added to the Development Account

3, push attention

Using Apple's push service, you need to be aware of the following points:

A. APNs is free of charge. You can apply for a APNs certificate as long as you have a developer account.

B. APNs is unreliable, and Apple does not guarantee the reliability of the information push.

C. APNs has a limit on the size of the message, and the total capacity cannot exceed 256 bytes.

If you need to push successfully, you need to ensure that the program is packaged with certificates and server-side push-to-use certificates and push URLs need to be consistent before they can be pushed successfully. The general correspondence logic is as follows:

Product Certificate--->product PUSH certificate---devicetoken--->product push URL for >product certificate packaged programs (ssl://gateway.push.apple.com:2195)

Development Certificate--->development PUSH certificate---devicetoken--->development push URL for >development certificate debugging program (ssl:// gateway.sandbox.push.apple.com:2195).

Third, after the submission of AppStore, cornerstone to play tag steps:
1. In Cornerstone find the program to hit the tag, right-click Eject, select Tag ...:
2. Popup, explained as follows:

The name of tag As:tag, usually the name of the folder to do the tag record _ version Number _ Date

Where:tag the corresponding path, the general choice Ios_app/tags

Revision: General default is the last committed version




My opinion on iOS Apple account/certificate/Push Certificate

Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.