模擬器的內存cpu網絡,都是電腦的。xcode可以查看。 Xcode7之前是限制人,限制電腦,限制app,限制真機調試的。 Xcode7之后,做真機測試只需要apple id即可,會自動生成證書。 Xcode7之前限制人: 1.必須擁有apple id(免費的) 2.加入開發者計划,升級為開發者賬號 3.開發者賬號分類:個人賬號688(可以真機測試,打包測試,程序發布,1-3天),公司賬號688(可以真機測試,打包測試,程序發布,需要鄧白氏認證,30天左右),企業賬號1688(可以真機測試,打包測試,企業內部安裝,需要鄧白氏認證,30天左右,不能發布到appstore) Xcode7之前: 1.限制人:申請appid,如圖。得到開發者賬號。 2.限制電腦:使用需要真機調試的電腦生成CSR文件(證書簽名請求文件,每台電腦不一樣,可以識別不一樣的電腦),用申請的開發者賬號登錄,點擊Certificates,Identifiers & Profiles, Certificates:限制電腦的。Identifiers:限制app的。Devices:限制真機手機的。Provisioning Profiles:根據前面3項生成一個描述文件,用於調試時驗證。 Development:開發時的證書。Production:發布時的證書。 .certSigningRequest就是CSR文件。 通過CSR文件文件生成一個.cer文件,這樣限制電腦就完成了(cer文件是跟電腦相關的)。 3.限制APP:通過app的BundleID(Bundle Identifier)(app的唯一標示)限制app。點擊Identifiers->App IDs,點擊加號,Explicit App ID(明確的id),Wildcard App ID(模糊的id,通過通配符,*),App Services(當前app可以有哪些服務)。 4.限制真機手機:每一個蘋果真機都有UDID,設備的識別碼。點擊Devices---All---加號(Xcode可以查看真機的Identifier),Register Device填入真機的UDID(Identifier). 5.根據前面三項生成一個描述文件(.mobileprovision)(在本地驗證各項是否正確),如圖。 以上生成的.cer和.mobileprovision文件有用。.cer文件拖到"鑰匙串訪問---登錄---證書"里面去。雙擊.mobileprovision安裝,這個文件安裝的位置(前往---資源庫---MobileDevice) 真機調試:Build Setting----Code Signing----Provisioning Profile(描述文件),Code Signing Identity(cer文件),General---Identity----Team選為none。 (.p12是cer文件的復印件,.p12文件和描述文件.mobileprovision也可以進行真機調試,描述文件拷貝是可以用的,但是證書cer文件拷貝也用不了,cer文件是跟電腦相關的)。 Xcode7之后的真機調試:Xcode偏好設置---賬號---add apple id(免費的賬號,登陸后需要加入開發者賬號,join the Apple Developer Program)---直接運行,會自動生成描述文件和證書,手機設置---通用---設備管理---信任一個賬號。 常見問題,如資料。 打包測試:將項目打包成.ipa的壓縮包,供指定設備安裝測試,給客戶展示和測試人員測試,就是打包測試。 打包測試:限制人(買個賬號),限制電腦,限制app,限制真機,生成描述文件,安裝證書和描述文件,打包成ipa包,安裝測試。 登陸開發者賬號,點擊Certificates,Identifiers & Profiles,左邊限制電腦,限制app,限制真機。 1.點擊限制電腦的Certificates,點擊加號,打包測試算是Production---App Store and Ad Hoc----繼續---創建CSR文件(搜索KEYchain-鑰匙串訪問-證書助理-從證書頒發機構請求證書-存儲到磁盤)---繼續---上傳剛才生產的csr文件---生成下載cer文件到本地。 2.點擊限制appid---App IDs---加號---描述隨便寫---選擇精確模糊的id---繼續。 3.限制設備,Devices---All---加號---UDID(Xcode-window-devices). 4.描述文件,Provisioning Profiles---All---Distribution---Ad Hoc---選擇所有真機設備---下載描述文件。 5.雙擊安裝cer文件和描述文件。(cer文件安裝在鑰匙串里面,描述文件安裝在資源庫-MobileDevice里面) 6.創建一個項目,修改Bunldle Identifier為剛才的id和Build Setting--code sign,修改Provisioning Profile和Code Signing Identity,修改Team為none. 7.Xcode修改真機為Generic IOS Device--product---archieve---Export---save for Ad Hoc Deployment----輸入賬號----報錯(鑰匙串-系統-顯示-過期的證書-重新上網下載證書WWDR Certificate (Expiring 02/07/23)---把下載的證書拖過去---下一步(ipa就是zip)---Xcode-window-Devices-ipa直接拖到手機去)。 程序發布:appstore或者指定區域。限制人電腦(發布證書)app,沒有限制真機設備。 在開發中心創建app record。開發者賬號登陸---iTunes Conect--我的app。
http://blog.csdn.net/cyuyanenen/article/details/51925005
一、概述
(1)iOS開發中,應用程序打包 = ipa = 安裝在手機上。(注意,並不是所有的ipa都可以隨意安裝)
(2)如果想讓用戶可以安裝ipa,必須在打包程序的時候說清楚 哪一個應用程序可以安裝到哪一台設備上。
(3)一般要想打包(測試或發布),必須成為蘋果開發者。
(4)下面的打包環境:Xcode 7.3.1、iOS 9.3.2。
二、打包(生成ipa測試包)步驟
第1步:配置發布證書和AdHoc描述文件
(1)登陸蘋果開發者主頁 https://developer.apple.com,選擇Account,然后選擇 Certificates, Identifiers & Profiles,點擊Certificates:
(2)點擊右上角的加號:
(3)然后 continue,再選擇 App Store and Ad Hoc:
(4)之后,一路 continue,直到需要我們上傳 CSR 文件:
(5)創建CSR,即證書請求文件。首先,在鑰匙串訪問中,如下圖從證書頒發機構請求證書:
(6)然后,將CSR文件存儲到磁盤,其中的用戶電子郵件可以隨便寫,也可以寫你的真實郵箱,其余兩項也無特殊要求,可不寫。
(7)最后,將CSR文件上傳到蘋果服務器。此時蘋果服務器會自動生成,簽名后的CER文件(ios_distribution.cer),然后 Download 到本地磁盤,並雙擊該CER文件,即可完成安裝。 安裝之后,可到 鑰匙串訪問->登錄->證書 中查看該證書是否有效。
(8)AppID = Bundld ID 用來在App Store上全球唯一標識每一個應用程序的。注冊AppID, 告訴蘋果哪一個APP需要調試。
(9)點擊Identifiers ->點擊加號
(10)其中的 App ID Description 可以隨便寫
(11)在 App ID Suffix 中,有兩個選項可以填寫bundle ID,如下圖:
<1> Explicit App ID:填寫一個精確的ID,如果需要做遠程推送/游戲中心/內購等功能,必須填寫准確的bundle ID。
<2> Wildcard App ID:填寫一個模糊的ID,,如果不需要做遠程推送/游戲中心/內購等功能,直接填寫模糊的bundle ID即可,這樣可以提升我們的開發效率,
所以在開發中,為了保證方便,使用AppID時,可以使用通配符*
,替代所有的應用程序。
<3> 之后,一直 continue 即可。
(12)點擊Devices,告訴蘋果哪一台設備可以進行真機調試
(13)點擊右上角的加號:
(14)在Xcode中,點擊window->Devices,獲取設備的UDID
(15)填寫設備的描述和設備的UDID注冊設備
<1> 使用設備的唯一標示符號制定,哪些真機能夠調試開發。
<2> 普通的開發者賬號,一個賬號只能注冊100台設備,蘋果並沒有提供刪除設備ID的功能,僅僅只能禁止某台設備調試(禁用后,名額仍然會被占用),被禁止的設備會在下一次付費時被清空(第二年),從而釋放名額。
<3> 每一個設備的唯一標示符號,能夠唯一准確的定位到一台設備,只能在”添加設備時”使用。
<4> 如果程序中使用了唯一標示符號,將無法上架。
(16)描述文件(Profiles),即告訴系統哪一台電腦的哪一個應用程序可以在哪一台設備上運行。 點擊Provisioning Profiles :
(17)點擊加號
(18)然后按照提示一步一步往下走,選擇對應的證書、AppID、Devices,告訴系統哪一台電腦/哪一個APP/哪一個設備可以調試。
注意,選擇對應的證書時,選擇的是:Ad Hoc
(19)最終得到 xxxxxx.mobileprovision文件,下載到本地磁盤,雙擊,保存到Xcode 中。
(20)注意點
<1> 檢查證書的狀態,可到 鑰匙串訪問->登錄->證書 中查看該證書是否有效。若無效,則可能現象為“ WWDCRA 無效 或 此證書的簽發者無效”,解決方案可以參考如下文章: iOS 探討之 WWDCRA 無效 or “此證書的簽發者無效”
<2> 生成AdHoc描述文件的時候要注意勾選所有的設備,只有被描述文件包含的設備才能進行相應的測試。如果是企業賬號的話則不需要添加設備的UDID。
<3> 打包ipa時的CER證書,名字為:ios_distribution.cer;
真機調試時的CER證書,名字為:ios_development.cer;
知識點補充:
在蘋果開發者主頁中配置好需要的證書之后,也可以不用“下載到本地,然后再安裝“,還有另一種解決方案,如下:
(1)Xcode->Preferences
(2)選擇 Accounts,然后點擊加號,然后選擇“Add Apple ID“
(3)輸入剛剛在蘋果開發者主頁中使用的 Apple ID,然后點擊 Sign In。
(4)登錄成功后,點擊右下角的 View Details,如下:
(5)點擊后,會有兩項顯示:
<1> Signing Identities,即簽名證書
<2> Provisioning Profiles,即描述文件
在最下方,有一個 Download All 按鈕,點擊后,再點擊 Done。即可將對應的證書和描述文件自動安裝到對應的位置。
第2步:配置Xcode(即在Xcode中,設置有效的Archive配置)
此處方法眾多,本人都親自嘗試過,先打包成ipa,再成功安裝到手機上。
方法1:(前提是已經用開發者帳號,注冊過相應的證書)
(1)Xcode->Preferences->Accounts,登錄你注冊過相應證書的 Apple ID 帳號。
(2)運行環境選擇真機,此時項目工程下方中的 Products 中是全紅的,如下:
(3)Command+B,然后顯示如下:
(4)右鍵選中第一項,選擇“Show in Finder“
(5)顯示如下
(6)打開你的iTunes,然后選擇“應用“,並直接將該app文件拖到iTunes中即可。
怎樣驗證此時該文件是ipa形式呢?如下圖:
結果顯示為:
說明我們的確得到了ipa文件。
備注:此處對(6)做個補充,即還有另一種方法得到ipa文件。
將(5)中得到的app文件,拷貝到一個新建文件夾中,該文件夾命名為“Payload“,然后右鍵選擇“壓縮Payload“,如下圖:
我們將得到一個Payload.zip文件,將該文件重命名為Payload.ipa即可我們想要的ipa文件,然后將該ipa文件拖入到iTunes中即可(或直接雙擊該ipa文件)。
(7)然后,如下圖,點擊安裝即可將該打包應用安裝到手機上。
方法2:(前提是已經用開發者帳號,注冊過相應的證書)
(1)Xcode->Preferences->Accounts,登錄你注冊過相應證書的 Apple ID 帳號。
(2)運行環境選擇真機,此時項目工程下方中的 Products 中是全紅的,如下:
(3)Xcode->Product->Archive,此時會直接跳轉到“Xcode->Window->Organizer“界面,如下:
(4)點擊 Export,並依次按下圖順序選擇:
(5)最終得到ipa文件,如下圖:
(6)直接雙擊該ipa文件,並在iTunes中將該應用安裝到手機上即可。
方法3:(前提是已經用開發者帳號,注冊過相應的證書)
(1)方法1和2中,Xcode可能已經默默幫我們做了很多配置,現在我們針對“要打包ipa測試包的任務“明確的做一些特定的配置。
(2)點擊 Product->Scheme->Edit Scheme,或者通過如下快捷方式:
進入到如下界面,並點擊Archive,確保Build Configuration 為 Release,如下:
(3)經過親測,TARGETS->Identity->Team 可以不用選擇注冊相應證書時對應的 Apple ID 帳號,而且選擇別的對應/非對應帳號也都沒問題。(可能Xcode已經默默的幫我們選擇了,所以,此步操作可做/可不做)
(4)選擇 TARGETS->Build Setting->Code Signing,如下:
(5)找到 Code Signing Identity 中的 MiGuRead_2AdHoc,點擊 Don't Code Sign
,選擇之前配置好的證書,因為是打包,此處應選擇:iPhone Distribution: xxxxxx,其中Debug 和 Release里暫時不要改動。
(6)其中下方的 Provisioning Profile 可以使用默認的 Automatic,也可以指定對應的描述文件。(一般我們使用Automatic)
(7)執行方法2中的步驟(3)~(7)。
特別說明:此處步驟(5)中,網上有很多種設置方法;
(1)有的將Debug、Release 和 Provisioning Profile 都設置為了對應的證書;
(2)有的將上述打包ipa測試包的證書設置為了“iPhone Developer: xxxxxx“開發證書,但也打包成功了,但這其實是不匹配的,Xcode可能已經默默幫我們更正了。
(3)有的添加了AdHoc,這僅僅是為了區分,方便管理
<1> 先通過PROJECT->Info->Configurations,點擊加號,並選擇 Duplicate “Release” Configuration(這里一定要選擇復制“Release”,因為打包/發布版本一定是release的)
添加后,如下:
<2> 重命名(即命名可以自定義),一般證書和描述文件取名時默認用項目名稱+對應的功能縮寫。(有時也直接命名為AdHoc)重命名后,如下:
<3> 選擇 TARGETS->Build Setting->Code Signing,如下:
<4> 找到 Code Signing Identity 中的 MiGuRead_2AdHoc,點擊 Don’t Code Sign,選擇之前配置好的證書,因為是打包,此處應選擇:iPhone Distribution: xxxxxx,其中Debug 和 Release里暫時不要改動。
<5> 選好之后,顯示如下:
<6> 同樣,其中的 Provisioning Profile 可以使用默認的 Automatic,也可以指定對應的描述文件。(一般我們使用Automatic)
<7> 執行方法2中的步驟(3)~(7)。