你好,歡迎來到IOS教程網

 Ios教程網 >> IOS編程開發 >> IOS開發綜合 >> iOS蘋果賬號/證書/推送證書之我見

iOS蘋果賬號/證書/推送證書之我見

編輯:IOS開發綜合

一、蘋果賬號

1、公司團隊賬號 (Company/Organization):

費用99美金一年, 該賬號在App Store銷售者可以顯示類似Studios,或者自定義的團隊名稱 ,比如Mamshare INC,公司賬號可以允許多個開發者協作開發,比個人多一些帳號管理的設置,可以設置多個AppleID,分4種管理級別權限,詳細見備注。100個蘋果的iOS設備UDID測試。但是申請時需要填寫公司的鄧白氏編碼(D-U-N-S)。

2、企業賬號 (Enterprise)

費用299美金一年, 該賬號開發應用不能發布到App Store,只能企業內部應用,蘋果的iOS設備UDID數量不限制。企業賬號適合不希望上線App Store,但是需要企業內部比如1000人的iOS設備都部署。公司測試部門需要全公司測試設備,突破100個UDID的限制。

二、證書/推送證書說明

1、概念介紹

1.1、Certificate

證書是用來給應用程序簽名的,只有經過簽名的應用程序才能保證他的來源是可信任的,並且代碼是完整的,未經修改的。在Xcode Build Setting的CodeSigning Identity中,可以設置用於為代碼簽名的證書。

證書主要分為兩類:Development和Production,Development證書用來開發和調試應用程序,Production主要用來分發應用程序(根據證書種類有不同作用),下面是證書的分類信息:(括號內為證書有效期)

1)、Development

App Development (1年):用來開發和真機調試應用程序。

Push Development (1年):用來調試Apple PushNotification

2)、Production

Ad Hoc :用來發布AdHoc的應用程序。

App Store :用來發布提交App Store的應用程序。

Push Production (1年):用來在發布版本中使用Apple PushNotification

1.2、App ID

App ID用於標識一個或者一組App,App ID應該是和Xcode中的Bundle ID是一致的或者匹配的。App ID主要有以下兩種:

1)、Explicit App ID:

唯一的App ID,這種App ID用於唯一標識一個應用程序,例如com.wzc.demo,標識Bundle ID為com.wzc.demo的程序。

2)、Wildcard App ID:

通配符App ID,用於標識一組應用程序。例如*可以表示所有應用程序,而com.wzc.*可以表示以com.wzc開頭的所有應用程序。

每創建一個App ID,我們都可以設置該App ID所使用的APP Services。每種服務都有著不同的要求,例如,如果要使用Apple PushNotification Services,則必須是一個explicit App ID,以便能唯一標識一個應用程序。下面是目前所有可選的服務和相應的配置要求。

\

 

如果你的App使用上述的任何一種service,就要按照要求去配置。

1.3、Device

Devices中包含了該賬戶中所有可用於開發和測試的設備。 每台設備使用UDID來唯一標識。每個賬戶中的設備數量限制是100個。

1.4、Provisioning Profile

一個Provisioning Profile文件包含了上述的所有內容:證書、App ID、設備。要打包或者在真機上運行一個應用程序,首先需要證書來進行簽名,用來標識這個應用程序是合法的、安全的、完整的;然後需要指明它的App ID,並且驗證Bundle ID是否與其一致;再次,如果是真機調試,需要確認這台設備能否用來運行程序。Provisioning Profile就把這些信息全部打包在一起,方便在調試和發布程序打包時使用,這樣只要在不同的情況下選擇不同的profile文件就可以了。而且Provisioning Profile文件會在打包時嵌入.ipa的包裡。

例如,如下圖所示,一個用於Development的Provisioning Profile中包含了該Provisioning Profile對應的App ID,可使用的證書和設備。這意味著使用這個Provisioning Profile打包程序必須擁有相應的證書,並且將App ID對應的程序運行到Devices中包含的設備上去。

\

如上所述,在一台設備上運行應用程序的過程如下:

\

 

與證書一樣,Provisioning Profile也分為Development和Distribution兩種:

1)、Development (1年)

2)、Distribution (1年)

Ad Hoc

App Store

Ad Hoc的包只能運行在該賬戶內已登記的可用設備上,顯然是有最多100個設備的數量限制。所以這兩種ProvisioningProfile文件的區別就在於其中的設備限制不一樣而已,而他們所使用的Certificate是相同的。

2、程序打包介紹

2.1、蘋果程序打包方式介紹

\

 

1)、Save for iOS App Store Deployment

 

保存到本地准備上傳App Store 或者在越獄的iOS設備上使用

2)、Save for Ad Hoc Deployment

保存到本地准備在賬號添加的可使用設備上使用(具體為在開發者賬戶下添加可用設備的udid),該app包是發布證書編譯的.

3)、Save for EnterpriseDeployment

這種主要針對企業級賬戶下准備本地服務器分發的app

4)、Save for Development Deployment

針對內部測試使用,主要給開發者的設備(具體也為在開發者賬戶下添加可用設備的udid)。該app包是開發證書編譯的

我們現在提供給測試打包,測試環境和HK環境都使用第三種方式打包(Save for EnterpriseDeployment),這樣程序安裝包可以安裝在任意一台iPhone手機上,方便測試發給市場等公司內部同事安裝體驗;ME環境使用第二種方式打包(Save for Ad Hoc Deployment),第二種方式使用的發布證書與正式提交AppStore的版本使用的證書是一樣的,因此他們可以共用同一推送證書,這樣就可以測試ME環境的推送流程是否有問題了,這種方式打包的程序只可以運行在我們已經添加到開發賬戶對應的devices設備上使用

3、推送注意

使用蘋果的推送服務,需要注意以下幾點:

a. APNS是免費的。只要有開發者賬號便可以申請APNS證書。

b. APNS是不可靠的,蘋果對信息推送的可靠性不做任何保證。

c. APNS對消息的大小是有限制的,總容量不能超過256字節。

如果需要推送成功,需要保證 程序打包使用的證書 和服務器端推送使用的證書以及推送網址需要保持一致,才可以推送成功。一般對應邏輯如下:

Product證書--->Product推送證書--->Product證書打包的程序對應的devicetoken--->Product推送網址(ssl://gateway.push.apple.com:2195)

Development證書--->Development推送證書--->Development證書調試的程序對應的devicetoken--->Development推送網址(ssl://gateway.sandbox.push.apple.com:2195)。

三、提交AppStore後,Cornerstone打Tag步驟:

1.在Cornerstone找到要打Tag的程序,右擊彈出下圖,選著Tag...: \ 2.彈出下圖,解釋如下:

Tag As:tag的名稱,一般為做tag記錄的文件夾名稱_版本號_日期

Where:tag對應的路徑,一般選擇ios_app/tags

Revision:一般默認的為最後提交的版本

\



  1. 上一頁:
  2. 下一頁:
蘋果刷機越獄教程| IOS教程問題解答| IOS技巧綜合| IOS7技巧| IOS8教程
Copyright © Ios教程網 All Rights Reserved