iOS 打包上傳AppStore相關(2)-Xcode相應配置



 

  上一篇描述了如何在AppleDeveloper創建Certificates、App IDs和Provisioning Profiles的過程。本篇將詳細描述在Xcode部分我們需要做的配置。

 

 

1.配置BundleID和Version

  打開你的項目,在TARGETS下面我們有一個東西需要填寫。

1.1 Bundle Identifier:項目標識符

  請與你上文創建AppID時候輸入的Bundle Identifier保持一致。這是你項目的唯一標識符,iPhone如何識別你的項目就是依賴這個標識符。

1.2 Version:項目版本號(CFBundleShortVersionString)和Build:當前版本號的項目構建次數(CFBundleVersion)

  Version也就是在AppStore上我們讓用戶看到的版本號。我們一般設置為2位或者3位,如1.0和1.0.1。若是初次上線的項目,一般我們設置為1.0或者1.0.0;若是項目更新,我們需要設置版本號比上一次的高即可。

  Build可以理解為項目版本號的版本號,也就是說,1.0版本的項目,我們可能在測試和上線的過程中由於Bug修改或者審核被拒等各種原因出現了內容不同的項目,但這些項目都是1.0版本的項目,因為最終只有一個構建版本得以上線。換句話說,這就是方便我們程序員對手頭項目的版本控制的,與AppStore中用戶看到的版本號無關。

  最終成型的構建版本可能是這個樣子:你的項目名 Versiong(Build) 例如: WangYiNews 1.0.0(1.0.1)

  另外Build和Version兩個號可以不等,應該說大多數時候都是不相等的。現在我們可以填寫1.0或者1.0.0,都可以。

1.3 Team:這個就是你的工作組的賬號

  能打包上傳AppStore的,至少是$99的個人或企業賬號;個人賬號不用說,只有一個賬號允許上傳,直接登錄並選擇自己的賬號即可;若是公司賬號,你是Agent級別的你就選自己的賬號;若是工作組成員級別,你就登錄個人賬號之后,選擇工作組的賬號即可。關於賬號的內容,我會在下面詳寫。

1.4 另外,我們可以設置Bundle Name和Bundle Display Name

  默認情況下,我們的Bundle Name和你的項目名稱是一致的,因為它的設置為 $(PRODUCT_NAME) 。這個的意思就是獲得項目名稱。而若Bundle Display Name不設置的話,安裝后的App名稱就是這個Bundle Name。不過因為這個Bundle Name與你的項目息息相關,所以我們一般不通過它來修改App的Name。在info.plist里面加這樣一個key:Bundle Display Name,它的value就是展示在用戶面前的名稱,優先級高於Bundle Name。我們可以通過設置它,來改變產品名稱。

 

 

2.賬號配置

  點擊(command + ,),或者左上角 Xcode -> Preference -> accounts,跳到下面的界面

 

  上面說了,你如果想要打包上架,你需要先有一個$99的付費賬戶。蘋果的賬戶有什么區別呢?

2.1 未付款賬戶(Free)

  也就是沒有加入Apple Developer Program蘋果開發者計划的用戶。你注冊了Apple ID之后的默認權限。這樣的權限在Xcode7之后允許進行有時間限制的真機測試內容,一半時間限制為7天;在Xcode7之前什么都做不了。對應的,在上圖右下部分,Team會顯示如上圖所示的(Personal Team) 個人團隊,而Role部分會顯示Free 免費。

2.2 $99用戶又分為兩種

  個人賬號(Individual)

  費用$99一年, 該賬號在App Store銷售者只能顯示個人的ID,比如zhitian zhang,單人使用。個人賬號只能有一個開發者。100個蘋果的iOS設備UDID測試。

  公司團隊賬號 (Company/Organization)

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

  

  備注:

  Admin Legal權限:超級管理員。可以管理開發者和管理app store中的應用。

  Admin權限:管理員,可以管理開發者。添加測試機子和管理團隊證書。

  Member權限:是普通開發者。只能下載證書和使用證書

  No Access權限:沒有相應的權限。

  

  申請公司團隊賬號地址:http://developer.apple.com/programs/ios/ 詳細流程

  鄧白氏編碼(D-U-N-S)申請地址:https://developer.apple.com/ios/enroll/dunsLookupForm.action

2.3 企業賬號 (Enterprise)

  費用$299一年, 該賬號開發應用不能發布到App Store,只能企業內部應用,蘋果的iOS設備UDID數量不限制。企業賬號適合不希望上線App Store,但是需要企業內部比如1000人的iOS設備都部署。公司測試部門需要全公司測試設備,突破100個UDID的限制。這樣的賬號是知名企業才可以申請的,比如世界五百強這樣的級別;同樣需要鄧白氏編碼。

 

2.4 教育賬號(University)

  費用$0,只能教育機構或學院內部使用。必須是蘋果iOS開發者計划授權機構。不能對外正式發布iOS應用程序。更為少見。

 

  用一張圖來形容下不同賬號間的權限與費用:

 

 

  好了,了解了賬號的分類,我們還要清楚一點,一個AppleID是允許同時加入多個工作組的。也就是說,我個人是免費用戶(Free),我自身有一個(Personal Team);但我同時加入了一個公司團隊(Company/Organization)。這樣我的賬號就會出現兩個Team,分屬不同的權限。而我要打包上傳的時候,自然選擇權限為公司團隊賬戶的Admin權限的Team,來打包上傳。這就是第一條,配置BundleID時候的Team選擇問題。

  言歸正傳,了解了這么多,我們再看剛才我的賬戶界面,很明顯看出,我是一個免費用戶;但我加入了一個公司團隊,並且權限為僅次於Admin Legal的Admin級別,可以管理並創建證書等等等等。好了,我們選擇這條team,點擊右下角的View Details,然后等待它的加載(所有涉及蘋果的網站都需要連接跨國服務器,所以慢的很啊,無形中考驗了iOS開發者的心理素質)。

  加載完畢后出現如下的界面:

  左上角的賬戶處,你就會發現蘋果的命名規則了:上面加粗的為你的團隊名,下面則是你的私人賬號名。Signing Identities中,我們主要關注有關iOS的Development和Distribution有沒有設置好,不然就Create或者Reset一下;其余不用處理。重要的在下面。

  你會發現,你在AppleDeveloper網站中,配置的Provisioning Files會出現在下面。這就是為何我在上面中講你可以直接Download下來雙擊,也可以什么都不做。我們可以在這里對描述文件進行下載處理。

  好了,選中你創建的配置文件,Development也好Distribution也好ADHoc也好,點擊Download,在下載完成后點擊Done。

  或者你不放心的話,右鍵點擊一個下載好的Provisioning Files,點擊Show in Finder,然后將全部的配置文件Move to Trash,最后回來Download All下載當前Team下的全部描述文件。這樣就沒什么問題了。點擊Done,賬號配置方面,就全部處理完成了。

 

 

3.配置發布證書

  在如上圖所在的位置,TARGETS -> Build Settings -> Code Signing 處,Code Signing Identity選擇你創建的Certificates證書iOS Distribution:XXXX,下面的Provisioning Profile選擇你創建的描述文件(現在可以直接選擇Automatic,這樣Xcode會根據你的Bundle ID和你選擇的打包方式自動選擇可選合適的描述文件)。這樣,發布證書就配置完畢了。

 

 

4.設置真機調試狀態

  注意看左上角的位置。點擊它跳轉到下面的界面:

  將Run狀態下的Debug(調試)修改為Release(發布)。同時觀察Archive下是否為Release,如果不是,改為Release。注意:在打包完成后,若你需要繼續開發你的項目,請將Run調回Debug。

  關於Release和Debug的區別:

  1.Debug版本:調試版本,通過一系列編譯選項的配合,編譯的結果通常包含調試信息,而且不做任何優化,以為開發人員提供強大的應用程序調試能力。
  2.Release版本:發布版本,是為用戶使用的,一般客戶不允許在發布版本上進行調試。所以不保存調試信息,同時,它往往進行了各種優化,以期達到代碼最小和速度最優。為用戶的使用提供便利。

  並且,Release模式下無法使用NSLog以及用鼠標指着關鍵字無法查看具體信息。

 

 

5.打包

  做好上述的一切之后,做下面這兩步:

5.1 設置為Generic iOS Device

5.2 備份

 

 

6.備份完成

  經過漫長的備份過程之后,我們到了這樣的一個界面:

  注意觀察,左邊的App列表是根據Bundle Identifier來區分備份所屬的App的;中間和右側中部的Version,是不是你剛才設置的 Version(Builde) 的格式;再看右側藍色的按鈕 Upload to App Store.. 是不是以為成功離你只有一步之遙了?別急,先 Valiate... 讓系統幫你確認一下。

  當出現這個界面,選擇你有權限的團隊名稱。以后再Export或者Upload...或者其他各種情況的時候,都有可能跳出這樣一個選擇框,不再贅述。選擇完畢后,點擊Choose。

  又是漫長的等待。但結果並不那么讓人欣喜,因為我們還有一些步驟沒有做。

  它會提示你 No Matching Application...

  為什么?我不是已經創建證書配置文件了嗎?原因很簡單,你還沒有給這個App版本添加描述信息。這牽扯到這個網站iTuns Connect。包括這個網站的設置,以及最后的一些上傳流程,還有一些打測試包分發鏈接的流程,下一篇再講。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM