產生派送憑證(憑證密鑰) (Distribution Certificate)
在這裡,您需要第一次準備好一個
Certificate Signing Request (CSR)
,這裡所有的操作,都需要在 Mac 電腦完成- 點選
Launched
>其他
>鑰匙圈存取
- 從功能表中,點選
憑證輔助程式
>從憑證授權要求憑證
- 請在
輔助憑證程式
對話窗,請輸入電子郵件位置與一般名稱,在已將要求
選項,設定為儲存到磁碟
,最後,點選繼續
按鈕 - 您可以將這個憑證儲存到桌面,方便日後練習之用
- 建議可以將這個憑證檔案名稱,加入適合辨識文字
位置
為方便練習,可以選擇桌面
- 點選
儲存
按鈕 - 在
密鑰配對資訊
,直接點選繼續
按鈕 - 最後,憑證會建立在桌面上
產生派送憑證 (Distribution Certificate)
底下這兩個工作
建立開發環境用的憑證 (Certificates > Development)
, 建立正式環境用的憑證 (Certificates > Product)
,僅需要在這台電腦上做一次即可。建立開發環境用的憑證 (Certificates > Development)
- 在您的 Mac 電腦上開啟 Safari 瀏覽器,進入 Apple Developer 中心,並且登入該系統
- 點選左邊功能表的
Certificates, IDs, Profiles
連結 - 在
Certificates, IDs, Profiles
頁面內,點選Development
連結 - 在
iOS Certificates (Development)
頁面內,點選右上角+
加號 - 在
Add iOS "Certificate"
頁面,選擇iOS App Development
項目,接著點選最下方的Continue
按鈕 - 在
Add iOS "Certificate"
頁面的Request
標籤頁次,選擇最下方的Continue
按鈕這是因為,這個頁面要求要做到的事情,已經在前面的產生派送憑證(憑證密鑰) (Distribution Certificate)
階段已經完成了。 Add iOS "Certificate"
頁面的Generate
標籤頁次- 點選
Choose File...
,著選擇剛剛在桌面產生的 CSR 憑證 - 接著點選最下方的
Continue
按鈕
Add iOS "Certificate"
頁面的Download
標籤頁次- 點選
Download
按鈕,下載這個iOS Development
憑證 - 下載完成後,請點選剛剛下載的憑證,使其安裝到鑰匙圈存取內
- 最後,點選
Done
按鈕,完成相關工作。
建立正式環境用的憑證 (Certificates > Product)
- 在您的 Mac 電腦上開啟 Safari 瀏覽器,進入 Apple Developer 中心,並且登入該系統
- 點選左邊功能表的
Certificates, IDs, Profiles
連結 - 在
Certificates, IDs, Profiles
頁面內,點選Production
連結 - 在
iOS Certificates (Development)
頁面內,點選右上角+
加號 - 在
Add iOS "Certificate"
頁面,選擇iOS App Development
項目,接著點選最下方的Continue
按鈕 - 在
Add iOS "Certificate"
頁面的Request
標籤頁次,選擇最下方的Continue
按鈕這是因為,這個頁面要求要做到的事情,已經在前面的產生派送憑證(憑證密鑰) (Distribution Certificate)
階段已經完成了。 Add iOS "Certificate"
頁面的Generate
標籤頁次- 點選
Choose File...
,著選擇剛剛在桌面產生的 CSR 憑證 - 接著點選最下方的
Continue
按鈕
Add iOS "Certificate"
頁面的Download
標籤頁次- 點選
Download
按鈕,下載這個iOS Distribution
憑證 - 下載完成後,請點選剛剛下載的憑證,使其安裝到鑰匙圈存取內
- 最後,點選
Done
按鈕,完成相關工作。
產生派送提供描述檔 (Distribution Provisioning Profile)
產生 AppID
- 在您的 Mac 電腦上開啟 Safari 瀏覽器,進入 Apple Developer 中心,並且登入該系統
- 點選左邊功能表的
Certificates, IDs, Profiles
連結 - 在
Certificates, IDs, Profiles
頁面內,點選Identifiers
>App IDs
連結 - 點選
iOS App IDs
標題頁面右上方+
按鈕 - 在出現
Registering an App ID
頁面- 在標題
App ID Description
下的Name
欄位,輸入My First iOS App
- 在
Explicit App ID
標題下的Bundle ID
欄位內,輸入com.doggy.XFFirst
- 最後,在最下方點選
Continue
按鈕
- 在出現
Confirm your App ID
頁面,請點選底下Register
按鈕,最後,再點選Done
按鈕
產生 Device ID
- 在您的 Mac 電腦上開啟 Safari 瀏覽器,進入 Apple Developer 中心,並且登入該系統
- 點選左邊功能表的
Certificates, IDs, Profiles
連結 - 在
Certificates, IDs, Profiles
頁面內,點選Devices
>All
連結 - 點選
All Devices
標題頁面右上方+
按鈕 - 在
Registering a New Device or Multiple Devices
頁面- 在
Register Device
標題下方的Name
欄位,輸入Vulcan iPhone
- 在
Register Device
標題下方的UDID
,輸入您裝置的 UDID - 最後,點選下方的
Continue
要取得您裝置的 UDID- 將 iOS 裝置連上有安裝 iTune 的電腦上
- 在上方的
摘要
標籤頁次下,會看到序號
欄位內的值,使用滑鼠點擊該序號 - 此時,原先的序號欄位,會變成
識別碼 (UDID)
,這就是 iOS 裝置的 UDID,把它複製下來
- 當出現
Review and register
頁面,請點選底下的Register
按鈕
產生開發時期的派送提供描述檔
- 在您的 Mac 電腦上開啟 Safari 瀏覽器,進入 Apple Developer 中心,並且登入該系統
- 點選左邊功能表的
Certificates, IDs, Profiles
連結 - 在
Certificates, IDs, Profiles
頁面內,點選Provisioning Profiles
>Development
連結 - 點選
iOS Provision Profiles (Development)
標題頁面右上方+
按鈕 - 在
Add iOS Provisioning Profiles (Development)
頁面的Select TYpe
標籤頁次- 在
Development
標題下方選擇iOS App Development
- 點選最下方的
Continue
按鈕
- 當出現
Configure
標籤頁次- 選擇您要的
App ID
,在這裡選擇的是My First iOS App
,之後 - 點選
Continue
按鈕 - 選擇您的憑證,會出現在畫面上讓您挑選,之後,點選
Continue
按鈕 - 選擇要測試裝置,畫面上會出現您設定好的裝置,選擇好之後,點選
Continue
按鈕
- 當出現
Generate
標籤頁次下,在Profile Name
欄位中輸入MyFirst_Dev_Prov
,之後,點選Continue
按鈕 - 當出現
Download
標籤頁次下- 點選
Download
按鈕 - 當下載完成後,雙擊這個下載檔案,安裝這個 Provisioning Profile 到 XCode 內
- 點選
Done
按鈕
產生正是產品的派送提供描述檔
- 在您的 Mac 電腦上開啟 Safari 瀏覽器,進入 Apple Developer 中心,並且登入該系統
- 點選左邊功能表的
Certificates, IDs, Profiles
連結 - 在
Certificates, IDs, Profiles
頁面內,點選Provisioning Profiles
>Distribution
連結 - 點選
iOS Provision Profiles (Distribution)
標題頁面右上方+
按鈕 - 在
Add iOS Provisioning Profiles (Distribution)
頁面的Select TYpe
標籤頁次- 在
Distribution
標題下方選擇Ad Hoc
- 點選最下方的
Continue
按鈕
- 當出現
Configure
標籤頁次- 選擇您要的
App ID
,在這裡選擇的是My First iOS App
,之後 - 點選
Continue
按鈕 - 選擇您的憑證,會出現在畫面上讓您挑選,之後,點選
Continue
按鈕 - 選擇要測試裝置,畫面上會出現您設定好的裝置,選擇好之後,點選
Continue
按鈕
- 當出現
Generate
標籤頁次下,在Profile Name
欄位中輸入MyFirst_Prod_Prov
,之後,點選Continue
按鈕 - 當出現
Download
標籤頁次下- 點選
Download
按鈕 - 當下載完成後,雙擊這個下載檔案,安裝這個 Provisioning Profile 到 XCode 內
- 點選
Done
按鈕
Xamarin.iOS 內選擇提供描述檔
建立客製專屬平台的控制項視覺方案
- 首先,開啟您的 Visual Studio 2015
- 接著透過 Visual Studio 2015 功能表,選擇這些項目
檔案
>新增
>專案
準備新增一個專案。 - 接著,Visual Studio 2015 會顯示
新增專案
對話窗,請在這個對話窗上,進行選擇Visual C#
>Cross-Platform
>Blank Xaml App (Xamarin.Forms Portable)
- 接著,在最下方的
名稱
文字輸入盒處,輸入XFFirst
這個名稱,最後使用滑鼠右擊右下方的確定
按鈕。 - 當專案建立到一半,若您的開發環境還沒有建置與設定完成 Mac 電腦與 Xamarin Studio for Mac 系統,此時會看到
Xamarin Mac Agent Instructions
對話窗出現,這個對話窗是要提醒您進行與 Mac 電腦連線設定,這是因為,您無法在 Windows 作業系統進行 iOS 相關應用程式的建立與設計工作,而是需要透過 Mac 電腦安裝的 XCode 來協助您完成這些 iOS 應用程式的建立工作。不過,這不影響您繼續開發 Xamarin.Forms 的應用程式,只不過此時,您無法編譯與執行 iOS 的應用程式。 - 接著會看到
新的通用Windows專案
對話視窗,此時,您只需要按下確定
按鈕即可,此時,專案精靈會繼續完成相關平台的專案建立工作。 - 最後,整個新的 Xamarin.Forms 專案就建立完成了。
開始測試
- 滑鼠右擊
XFFirst.iOS
專案,選擇設定為起始專案
- 檢查 Visual Studio 上方的工具列之組態設定為 :
Debug
>iPhoneSimulator
- 滑鼠右擊
XFFirst.iOS
專案,選擇重建
確認可以在除錯&模擬器環境,正常重建這個專案。 - 設定 Visual Studio 上方的工具列之組態設定為 :
Release
>iPhoneSimulator
- 滑鼠雙擊
XFFirst.iOS
專案下的Properties
節點- 點選
iOS Application
標籤頁次- 在並勾選標題
iOS IPA Options
下方的Build ad-hoc/enterprise package (IPA)
檢查盒
- 在並勾選標題
- 點選
iOS IPA Options
標籤頁次- 在
Identifier
欄位內輸入com.doggy.XFFirst
- 在
Version
欄位內輸入1
- 點選
iOS Bundle Signing
標籤頁次- 在
iOS Bundle Signing
標題下方的Identity
欄位,選擇iPhoe Developer XXX
*在iOS Bundle Signing
標題下方的Provisioning Profile
欄位,選擇MyFirst_Dev_Prov
- 在
- 滑鼠右擊
XFFirst.iOS
專案,選擇重建
確認可以正常重建這個專案。若在 Mac 電腦上出現底下對話窗,請點選總是允許
- 滑鼠雙擊
XFFirst.iOS
專案下的Properties
節點- 點選
iOS Application
標籤頁次- 在並勾選標題
iOS IPA Options
下方的Build ad-hoc/enterprise package (IPA)
檢查盒
- 在並勾選標題
- 點選
iOS IPA Options
標籤頁次- 在
Identifier
欄位內輸入com.doggy.XFFirst
- 在
Version
欄位內輸入1
- 點選
iOS Bundle Signing
標籤頁次- 在
iOS Bundle Signing
標題下方的Identity
欄位,選擇iPhoe Distribution XXX
*在iOS Bundle Signing
標題下方的Provisioning Profile
欄位,選擇MyFirst_Dev_Prov
- 在
- 滑鼠右擊
XFFirst.iOS
專案,選擇重建
確認可以正常重建這個專案。
其他參考
此憑證的簽發人無效
當在
鑰匙圈存取
> 憑證
內發現到新建立的 Development / Distribution 憑證出現了 此憑證的簽發人無效
紅色錯誤訊息,請使用瀏覽器,打開下列網址,重新安裝憑證,即可解決問題
會發生這個問題,是因為欠缺底下憑證
條件編譯式符號
,要了解決這個問題,可以定義一個介面,並且在每個平台實作這個介面,最後,透過 Prism 的 Unity 的建構式注入方式,取得這個介面實作物件