fc2ブログ

記事一覧

プロビジョニングの更新方法 | Xamarin.iOS


今回は Xamarin.iOS で プロビジョニングの更新方法についてご紹介いたしまheightす。
今年で2回目となったプロビジョニングの更新では前回に引き続きうまくいかない部分がありましたので、覚え書きの為にもここに記載いたします。

※尚、プロビジョニングはビルド時と AppStore に公開する際に必要なもので、既存のプロビジョニングを削除したり無効にしたり Revoke したりしても、既にユーザーにインストールされているアプリには影響がないものと考えていますが、一部プッシュ通知の証明書にも有効期限があり、更新する事も必要ですが、現在稼働している Web サーバー上の証明書を Apple Developer Program から削除したり無効にすることは動作に影響を与えますので注意が必要です。


前提条件
・Windows10 Pro 64Bit 1803
・Visual Studio 2015 Community Update3
・Xamarin 4.8.0.760 (NuGet Xamarin.Forms 2.4.0.282)
・macOS Sierra 10.12.6 / Xcode 9 / Xamarin.iOS 11.6.1.4
・Apple Developer Program に有料会員登録(年額12,000円程度)が必要です。



1.キーチェーンアクセスでCSRファイルを作成する

(1)まずは macOS 上のキーチェーンアクセスで新しい CertSigningRequest ファイルを作成します。
※ここはプロビジョニングを新規作成した際と同じ手順です。

キーチェーンアクセス > 証明書アシスタント > 認証局に証明書を要求

xamarin_provisioning_01.png


(2)ディスクに保存を選択し、続けるボタンを押下して任意の場所にCSRファイルを保存します。
※2020/07/24追記
鍵ペア情報を設定にチェックを入れないと p12ファイルでの書き出しができず、VSで手動プロビジョニングの設定ができませんので、チェックを入れます。また、Xcode でも Not in Keychain のエラーが表示されますので、設定しておくことが必要と考えます。

xamarin_provisioning_02.png



2.Apple Developer Program での更新方法

(1)次に Apple Developer Program のサイトにアクセスし、プロビジョニングの更新手順に入ります。
https://developer.apple.com/account/ios/certificate/

Account > Certificates > Development >
プラスボタンから CSR をアップロードして新しい Development 用の証明書を発行します。

xamarin_provisioning_03.png


Download ボタンから新しい証明書を取得できますので、macOS 上に保存し、キーチェーンアクセスで開き、取り込みます。

(2)Production からも同様に CSR ファイルをアップロードして新しい証明書を作成します。

xamarin_provisioning_04.png


(3)macOS 上のキーチェーンアクセスで取り込むと新しい有効期限の新しい証明書が確認できます。(※古い証明書は削除しても大丈夫ですが、開発中の Develop 用の証明書は、アプリ開発会社の各部署に事前通知の上、任意のタイミングで消した方が良いでしょう。)

xamarin_provisioning_05.png

※2021/11/16追記
キーチェーンアクセスで証明書と秘密鍵をインポートしても「証明書は信頼されていません」と表示される場合に、以下のURLからAppleの新しい中間証明書をダウンロードしてインポートする必要がありました。
https://developer.apple.com/support/expiration/
https://www.apple.com/certificateauthority/AppleWWDRCAG3.cer

※2022/06/10追記
VoIPやプッシュ通知などの中間証明書はG3からG4に変更になっていました。
https://www.apple.com/certificateauthority/
https://www.apple.com/certificateauthority/AppleWWDRCAG4.cer


(4)次に以下のメニューからプロビジョニングを更新していきます。

Account > Provisioning Profiles > Development

本来であれば、既存のプロビジョニングを Edit ボタンから編集して先ほどの手順で作成した証明書を差し替えるだけで良いと思うのですが、実際に Visual Studio から Xamarin.iOS プロジェクトをビルドすると以下のようなエラーで進めない開発アプリがありましたので、ここでは新しくプロビジョングを作成したいと思います。(※新しく作成したプロビジョニングではビルドまで全て正常に動作しました。)

手順(1)と同様にプラスマークから新しいプロビジョニングを作成します。

xamarin_provisioning_07.png


Download ボタンから新しいプロビジョニングファイルをダウンロードしてmacOS上でダブルクリックしてXcodeにインストールします。
※ここでも古いプロビジョニングファイルは新しいものと識別がしにくくなりますため全ての手順が終了しましたら削除したほうが良いでしょう。

(5)さらに Distribution 用のプロビジョニングを更新しますが、手順(4)と同様に新規に作成します。(詳細手順は手順(4)と同じですので、割愛します。)

xamarin_provisioning_08.png



3.Xamarin.iOS プロジェクトのプロパティを更新する

Xamarin.iOS プロジェクトの設定を変更します。

Xamarin.iOS プロジェクト > プロパティ > iOSバンドル署名 > バンドルの署名

※Debug 用と Release 用と iPhone 用と iPhoneSimulator 用で設定が異なっていますので、設定には4パターンあり注意が必要です。それぞれ設定変更が必要です。

(1)署名IDには新しく作成した証明書をそれぞれ設定しましょう。

(2)プロビジョニングプロファイルには、以下の通り設定します。
Debug は Development のプロビジョニング
Release または AppStore は Distribution のプロビジョニング


xamarin_provisioning_09.png



4.Xamarin.iOS プロジェクトをビルドする

バンドル署名が設定できましたら、Xamarin.iOS をクリーン&リビルドします。
しばらくすると、macOS 上で新しい署名のアクセス許可を求められますので、常に許可ボタンを押下します。

xamarin_provisioning_10.png


以上で、プロビジョニングの更新手順が終了しますので、AppStore に新しいアプリの申請手続きを行いましょう。






最後までお読みいただきありがとうございます。
当ブログの内容をまとめた Xamarin逆引きメニュー は以下のURLからご覧になれます。
https://itblog.dynaspo.com/blog-entry-81.html



関連記事

コメント

コメントの投稿

※名前とタイトルが入力されていないコメントでは他のコメントとの区別ができません。

 入力されていないコメントには返信しませんのであらかじめご了承くださいませ。

※ニックネームでも良いので必ずご入力ください。

    

※必ずご入力ください。

    
    

※必ずご入力ください。

※技術的な質問には環境やエラーについて正確かつ詳細にお教えください。

・正確なエラーの内容

・Windowsのバージョン番号

・Visual Studioのバージョン

・機器の型番

・アプリやソフトのバージョン

    

カテゴリ別記事一覧

広告

プロフィール

石河 純


著者名 :石河 純
自己紹介:素人上がりのIT技術者。趣味は卓球・車・ボウリング

IT関連の知識はざっくりとこんな感じです。
【OS関連】
WindowsServer: 2012/2008R2/2003/2000/NT4
Windows: 10/8/7/XP/2000/me/NT4/98
Linux: CentOS RedHatLinux9
Mac: macOS Catalina 10.15 / Mojave 10.14 / High Sierra 10.13 / Sierra 10.12 / OSX Lion 10.7.5 / OSX Snow Leopard 10.6.8
【言語】
VB.net ASP.NET C#.net Java VBA
Xamarin.Forms
【データベース】
Oracle 10g/9i
SQLServer 2016/2008R2/2005/2000
SQLAnywhere 16/11/8
【BI/レポートツール】
Cognos ReportNet (IBM)
Microsoft PowerBI
ActiveReport (GrapeCity)
CrystalReport
【OCX関連】
GrapeCity InputMan SPREAD MultiRow GridView
【ネットワーク関連】
CCNP シスコ技術者認定
Cisco Catalyst シリーズ
Yamaha RTXシリーズ
FireWall関連
【WEB関連】
SEO SEM CSS jQuery IIS6/7 apache2

休みの日は卓球をやっています。
現在、卓球用品通販ショップは休業中です。