在真機調試 iOS 應用:理解 Certificates, Identifiers & Profiles

來源:互聯網
上載者:User

標籤:

No matching provisioning profiles found.

No matching code signing identity found.

Your account already has a valid iOS Distribution certificate.

由於蘋果只允許它授權過的 App 才能運行在 iPhone 等裝置上,所以當開發人員想用真機測試 App 的時候需要做一些配置才可以,但是如果沒搞清楚就會出現很多上面這些煩人的錯誤,導致不能成功地在手機調試 App 或者打包。

 

要想用真機測試 App,涉及到4個概念:
Certificates(憑證)表示你是一個合法的開發人員,即你註冊了開發人員帳號,憑證包含了你的姓名,郵箱,憑證類型等資訊。
Identifiers(標識)指的是 App 的唯一標識。
Devices(裝置)即手機裝置,每個手機都具有不同的 UDID,就像我們的社會安全號碼。
Profiles(配置)即將 Certificates(憑證),Identifiers(標識)和Devices(裝置)整合到一起的一個設定檔。

 

理解了這4個概念的含義,我們需要在開發人員中心做如下4個準備:
1. 建立 Certificates(憑證)。
  根據用途不同,憑證分為2類:
  Development(開發)即在開發階段在測試手機上調試的時候使用的憑證。
  Distribution(發行) 既在開發完成後,將 App 發布的時候使用的憑證。
  建立完成後將其下載備用。

2. 建立 Identifiers(標識)。
  一般格式為 com.domainname.appname。

3. 註冊 Devices(裝置)。
  擷取手機的 UDID,添加到 Devices 列表。

4. 產生 Profiles(配置)。
  根據需要(Development 還是 Distribution,哪個 App,哪部手機)產生一個設定檔。
  建立完成後將其下載備用。

 

安裝上面第1、4步驟中下載的 Certificates(憑證)和 Profiles(配置)2個檔案。
  Certificates(憑證)被被安裝到 Keychain Access 中。
  Profiles(配置)將被安裝到 Xcode 中。

因為開發和發行使用不同的 Certificates(憑證)和 Profiles(配置),所以上面的步驟你需要操作兩遍。最終得到4個檔案:

 

在 Build Settings - Code Signing - Provisioning Profile 選項中,根據不同的需求,選擇對應所需的剛剛安裝的 Profiles(配置)檔案。

所有的工作已經完成了,可以在Xcode中連手機調試,或者將App打包了。

 

如果同一個項目要在第二台電腦運行調試,只需要將Certificates(憑證)和 Profiles(配置)2個檔案安裝到新電腦即可。
Certificates(憑證)可以在 Keychain Access 中匯出,
Profiles(配置)可以在開發人員中心重新下載。

在真機調試 iOS 應用:理解 Certificates, Identifiers & Profiles

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.