1. 真機調試簡介?
01. 什么是真機調試?
簡單理解就是將App項目運行到真機上進行測試.
02. 為什么要運行到真機上, 不是可以運行到模擬器上嗎?
真機和模擬器環境的差異
> 內存環境,網絡環境
> 傳感器: 磁力計,陀螺儀,距離傳感器等
> 特定功能:拍照, 打電話,發短信,藍牙等
> 用戶體驗不一樣
注意: APP發布之前一定要做真機調試!!!?
03. 怎樣做真機調試?
真機調試需要的角色:? "人"? 在? "電腦" 上 敲代碼編寫 "APP"? , 運行到 "真機設備" 上
1. Xcode7.0之前,并不是任何人,任何電腦,任何APP,任何真機設備都可以進行真機調試的
1. 限制人? 2. 限制電腦? 3. 限制App? 4. 限制真機設備
2. Xcode7.0之后, 做真機調試, 只需要擁有Apple ID即可, 會自動生成對應證書 (并不是不需要以上限制)
2. XCode7.0之前的真機調試
2.1 真機調試(XCode7.0之前)-限制人-申請開發者賬號
理論基礎:
> 必須擁有Apple ID([https://appleid.apple.com])
> 加入開發者計劃,升級為**開發者賬號**([https://developer.apple.com])
開發者賬號分類
> 個人賬號(99$)==688
? ? 功能:可以真機調試, 打包測試, 程序發布.
? ? 優點:申請速度快, 給錢就行, 1-3個工作日即可?
? ? 缺點:
? ? ? ? 1> iTunes查看到的是個人信息, 無法間接為公司做宣傳
? ? ? ? 2> 無法創建管理自己的開發團隊
> 公司賬號(99$)
? ? 功能:可以真機調試, 打包測試, 程序發布.
? ? 優點:
? ? ? ? 1> iTunes可以查看企業信息, 間接為公司做宣傳
? ? ? ? 2> 可以創建和管理自己的開發團隊
? ? 缺點:
? ? ? ? 1> 申請復雜,需要”鄧白氏”認證
? ? ? ? 2> 申請周期比較長(連同”鄧白氏編碼”申請, 最好準備30天左右時間)
> 企業賬號(299$)
? ? 功能:可以真機調試, 打包測試
? ? 優點:
? ? ? ? 1> 可以在企業內部隨意安裝到蘋果設備,不需要經過AppStore審核
? ? ? ? 2> 可以創建和管理自己的開發團隊
? ? ? ? 3> 版本更新迭代比較快, 不需要經過審核
? ? 缺點:
? ? ? ? 1> 申請復雜,需要”鄧白氏”認證
? ? ? ? 2> 申請周期比較長(連同”鄧白氏編碼”申請, 最好準備30天左右時間)
? ? ? ? 3> 不能使用此證書,將App發布到AppStore
? ? 企業級賬號使用場景
? ? ? ? App是針對某一特定人群制定使用.只在企業內部安裝, 無需發布到AppStore供他人下載
小經驗:? 盡量不要從網絡渠道以及代申請的公司去申請”鄧白氏編碼”.
? ? * 花錢多, 而且申請下來的”鄧白氏編碼”不一定和蘋果服務器數據庫內一致, 最終不可用; 浪費時間和金錢
? ? * 最正確的做法: 直接和蘋果客服MM聯系, 她們會告訴你申請流程, 需要提交哪些材料
? ? * 客服電話: 400 670 1855
2.2 真機調試(XCode7.0之前)-限制電腦 - 配置與電腦關聯的cer證書
證書是分類型的! 不同類型的證書, 有不同的作用!
> 真機調試證書
> 程序發布證書/打包測試證書
> 推送證書
需要使用需要真機調試的電腦,生成CSR文件
? ? CSR文件: 證書簽名請求文件
? ? 作用: 每臺電腦生成的都不一樣, 能夠唯一識別不同的電腦!
真機調試證書只能生成兩個!!
? ? *(也就意味著,只能綁定兩臺電腦進行真機調試)*
? ? *注意:如果別人已經配置了兩個,而且正在使用,不能隨便把別人的證書刪除;*
? ? 解決方案:
? ? ? ? 此時只能使用從已經配置證書的電腦中,導出P12文件,進行共享;
? ? ? ? 作? 用:
? ? ? ? ? ? 讓其他電腦設備不需要生成cer證書,也可以進行真機調試;
2.3 真機調試(XCode7.0之前) - 限制App- 配置需要真機測試App的BundleID
區分不同APP,就是通過App的唯一標識: BundleID
2.4 真機調試(XCode7.0之前) - 限制真機設備 - 配置需要真機測試的真機UDID
蘋果每臺真機設備都擁有一個唯一標識:UDID
測試的真機設備UDID最多只能添加100次, 而不是100臺
? ? *也就是說, 如果你加夠了100次之后, 即使刪除之前的設備名額, 也無法繼續添加*
? ? 解決方案
? ? ? ? 蘋果會在下一年, 給你一次刪除設備的機會, 你可以刪除一些設備, 來恢復一些名額.
? ? ? ? 但是, 一旦你添加了設備后, 蘋果則視為你自動放棄添加設備!!
2.5 真機調試(XCode7.0之前) - 根據前面三項生成一個描述文件
描述文件的作用: 在本地驗證各項配置是否正確
2.6 真機調試測試以及注意事項
? ? 1. 以上步驟完成后,你會有兩個文件:*cer文件*,*MobileProvision*文件,只需要雙擊安裝即可.
? ? ? ? > cer證書被添加到鑰匙串中
? ? ? ? > 描述文件被安裝到Xcode中
? ? ? ? ? ? 資源庫 -> MobileDevice -> Provisioning Profiles
? ? 2. 必須保證cer證書和描述文件一致
? ? ? ? Xcode -> targets -> build setting -> code signing
? ? 3. 創建一個APP,并確認BundleID與配置一致
? ? ? ? 如果不一致, 修改XCode項目的BundleID, 與配置一致.
? ? 4. 真機運行時, 如果發現真機設備無法選中, 查看項目最低部署版本是否過高, 大于真機設備的系統版本
? ? ? ? 如果真機設備系統版本過高, 則無法選中真機進行運行
? ? 5. 真機調試最終需要的文件-補充
? ? ? ? > cer文件(或者p12文件)
? ? ? ? ? ? 雙擊安裝, 安裝后存放在鑰匙串
? ? ? ? > MobileProvision文件
? ? ? ? ? ? 雙擊安裝, 安裝后存放在XCode中,路徑如下?
? ? ? ? ? ? ? ? ~/Library/MobileDevice/Provisioning Profiles
3. XCode7.0之后的真機調試
> 只需要AppID,在Xcode7 -> preference -> Account 中添加即可
> 然后直接真機調試時,會彈出一個框,提示缺少描述文件和證書. 直接點擊”Fix issue”選項,Xcode會自動請求蘋果服務器生成對應的描述文件和證書
注意事項
? ? AppID 必須是沒有和某個公司開發者賬號關聯(沒有被添加到某個開發團隊)