真機調試現在發生了改變,在Xcode7以前進行真機調試是需要證書的,正是由于這個原因,這個過程比較麻煩;在Xcode7以后是免證書的,使用起來就簡單很多了。
?
Xcode7以前的步驟如下:
原鏈接地址為:http://my.oschina.net/joanfen/blog/167730
目錄[-]
? 一,真機調試所需要材料說明
? 二,開始申請
? 三,添加App ID
? 四,添加設備(Devices)
? 五,添加證書(Certificates)
? 六,添加描述文件(Provisioning profiles)
? 七,配置Xcode
? 八,p12導出證書
?
關于證書選項呈灰色的情況,因為蘋果的開發者中心改版,很多人遇到這個問題,本來放在文中的,現在提到前面來
?如果出現ios development一項為灰色不可點擊狀態,蘋果的說法是
如果您要為此電腦添加證書,請revoke以前的證書后添加,或者通過以前的mac導出證書
? ? ????原文不記得了,大概這個意思,蘋果不希望你的開發者賬號里出現多臺Mac的證書,如果在其他mac上已經添加過證書的話,就直接通過P12導出(導出方法見下文)后給當前的Mac使用即可,或者刪除之前的證書后再添加
?
一、真機調試所需材料說明
在申請真機調試證書之前,先對蘋果真機調試所需的文件進行說明:?蘋果真機調試需要證書(Certificates)和描述文件(Provisoning Profiles)?
1、證書(Certificates) 通過蘋果自帶的鑰匙串生成后上傳到Developer中再生成來完成;
2、描述文件(Provisoning Profiles) 生成描述文件時需要選擇App ID(包含Bundle,必須與你程序的bundle保持一致,為了能同時調試多個程序,一般bundle填寫時末尾用*號代替,后文會具體說明)選擇證書(Certificates)及設備(Devices)三樣東西 ;
? ? 真機測試必要條件:App ID,證書,描述文件,設備,及調試程序的Bundle Identifier保持一致
二、開始申請
? ???打開iOS Dev Center,選擇Sign in,登陸(至少99美元賬號),登陸選擇Certificates,Identifiers & Profiles -->?Identifiers
?
三、添加App ID
選擇Identifiers->App IDs,開始添加
App ID由用.符號分開的兩部分組成,在默認情況下,App ID的前綴為你的團隊ID,后綴被定義為一個bundle ID的搜索字符串,AppID的每一個部分對你的應用程序都有不同而且很重要的用途?
- App ID Description:這部分只是你ID的一個代號,只需填寫一個自己能分辨的名稱即可,在后面申請證書和描述文件中會涉及到選擇項
- App ID Prefix:這部分是Team ID,系統默認,無需填寫
- App ID Suffix:這部分是App ID后綴,可選擇Explicit App ID或者Wildcard App ID
3.1、Explicit App ID
Explicit App ID:如果你打算將應用程序中加入Game Center,或在應用中使用應用內購買,進行數據保護,使用iCloud,或者想要給你的應用程序一個唯一的配置文件,你就必須申請Explicit App ID。?
? ? ?要創建Explicit App ID,在下面的框中輸入一個唯一的字符串,這個字符串必須與你的應用程序的Bundle ID匹配,蘋果推薦使用???com.你的公司名稱.app名稱???作為你的Bundle ID,如果是選擇Explicit App ID,Bundle ID中 ????不能含有*號 ?
3.2、Wildcard App ID:通用App ID,只需使用com.oschina.*的格式即可匹配多個應用,本文以通用型為例
?Wildcard App ID:可以讓你用一個App ID來匹配多個App,想要創建一個通用App ID,在輸入Bundle ID末尾使用*號?
4、App Services:應用程序提供的服務
App Services:選擇你應用中將會使用的服務,在App ID注冊成功之后也可再次編輯你的選擇?
???在自己應用中所使用到的選項上打√,因為我選擇的是通用型(WildCard),所以Game Center,In-App Purchase, Push Notifications都是不可選的,如果要使用這些功能,請選擇精確型(Explicit)
5、確認信息,確認之后選擇Submit,出現Registration complete.的字樣,Done。
?
四、添加設備(Devices)
1、將設備連上電腦,打開在XCode的Organizer->Devices中
? ??Xcode5以下的Organizer在軟件右上角即可找到,XCode5的Organizer選擇Window->Organizer(快捷鍵shift+command+2)
? ? 設備連接上XCode之后Devices中的信號燈有灰色,黃色,綠色三種情況
? ?1.1、灰色燈
? ? 如果設備是之前未作為開發機,在Devices中設備上的燈應該為灰色,在右側有選項將設備作為開發機,點擊即可,由于沒有新機,無法截圖演示
? ?1.2、黃燈,有兩種情況
- ? ?設備未連接好,請將連接線重新插一次,并檢查接口是否插緊,如果還是黃燈,則未下一種情況
- ? ?設備版本高于XCode所能支持的版本,如XCode4.6.3,能支持的最高版本未iOS6.1,如果你的設備未iOS7及以上,此時需要更新至XCode5
? ?1.3、綠燈:說明連接成功,可進行調試
2、UDID,通過itunes和Xcode都可以看到設備的UDID
- ?在itunes中,連上設備之后,有一項“ECID”,單擊,即可以查看到UDID。
- ?在Xcode的organizer中選中設備“Identifier”一欄即為UDID。
3、回到蘋果開發者中心,選擇Devices 右側欄的添加按鈕,方法與添加App ID相同
? ? ?下面還可以選擇添加多臺設備,本人表示智商不夠,不會,99美元賬號可以添加100臺設備,299美元的賬號本人不曉得。。
? ? ?Tips:設備添加后當年不可刪除,如果要刪除必須要在次年續費時進行刪除。
五、添加證書(Certificates)
????1、選擇Certificates->development,添加證書
????2. 申請證書
? ??2.1. 打開電腦中的鑰匙串:選擇LaunchPad->其他->鑰匙串訪問
? ? 2.2. 選擇鑰匙串訪問->證書助理->從證書頒發機構請求證書? ? ? ? ? ?
? ??2.3. 填寫郵件地址和名稱,點擊繼續存儲,一般存儲在桌面(根據個人喜好)? ? ? ??
? ??2.4. 回到developer的界面,選擇Continue,出現上傳證書界面
? ? 2.5. 選擇Choose File上傳剛才存儲的證書,然后選擇Generate.
? ? 2.6. 生成之后會出現可以Download的證書,選擇下載,雙擊安裝即可
六、添加描述文件(Provisioning Profiles)
- 選擇Provisioning Profiles->Development,然后選擇右側添加鍵添加
- Select Type -> 選擇iOS App Development -> 選擇Continue
- 選擇App ID,選擇之前添加的com.oschina.*,選擇Continue
- 選擇證書,選擇剛才生成的開發證書,然后選擇Continue
- 選擇設備,會出現設備列表,一般來說把所有設備都添加進去,方便多臺設備調試,不用再申請profile,選擇Continue
- 為這個profile命名,不可含有標點,選擇Generate
- 選擇下載,雙擊安裝即可
七、配置XCode
- 打開XCode,插上設備,如果XCode不顯示設備,而是iOS Device的狀態,則檢查Targets->iOS Application Target->Deployment Target中的版本是否與設備版本不匹配
- 選擇上圖中Build Settings,將Code Signing中的profile設置成剛才下載的Provisoning Profile,也可設置成Automatic profile中的iPhone Developer,XCode將會自動匹配描述文件
- 檢查Bundle ID是否與描述文件所包含的App ID中的Bundle匹配,選擇TARGETS->Summary查看,由于我們申請的是通用型App ID,所以Bundle Identifier只需要是com.oschina.打頭即可,后面可以隨意填寫
選擇真機設備,運行,大功告成。
八、P12導出證書
在鑰匙串中找到登錄選項中得iPhone Developer一項,右鍵選擇導出,證書類型選擇“個人信息交換(.p12),并將創建的provision profile文件和證書一起拷貝到別的mac上雙擊安裝就可使用了
PS:如果設備為越獄設備,不管provision profile里有沒有包含你得設備,都是可以真機調試的,如果不想花費99美元的話,可以在淘寶上買一個證書,或者是找親朋好友索要他們的P12證書吧,祝大家好運!
?
Xcode7(包括7)以后的步驟很簡單:(沒有證書這個過程)
1.連接數據線,選擇信任mac訪問手機;xcode 升級為7之后,真機編譯過不去,模擬器能編譯過,編譯不過,
方法一:更新library使包含Bitcode,否則會出現以下中的警告;
1 | (null):?URGENT:?all?bitcode?will?be?dropped?because?‘/Users/myname/Library/Mobile?Documents/com~apple~CloudDocs/foldername/appname/GoogleMobileAds.framework/GoogleMobileAds(GADSlot+AdEvents.o)‘?was?built?without?bitcode.?You?must?rebuild?it?with?bitcode?enabled?(Xcode?setting?ENABLE_BITCODE),?obtain?an?updated?library??the?vendor,?or?disable?bitcode?for?this?.?Note:?This?will?be?an?error?in?the?future. |
方法二:關閉Bitcode
工程設置中 buildingsetting 中搜索bitcode 選擇no
另外 http 支持有問題,需要配置支持 http,
info 里面:
點擊+號添加一個
NSAppTransportSecurity ? ??這個是一個字典類型NSDictionary
字典下面添加:
NSAllowsArbitraryLoads這個是個bool類型 ? 設為 Yes
?