MacやXcodeを知らないやつが始めるXamarinアプリ開発 – VSTSエージェント環境作成

「開発ツールのインストール」からの続きです。
まず、macos用のパッケージマネージャーであるHomebrewをインストールします(Linuxのapt-getやyumのようなものです)。
Homebrewのページ(http://brew.sh/index_ja.html)にあるインストール用スクリプトを実行します。
001
※sudoではインストールできないので、管理者ユーザが直接実行する必要があります(suで切り替えてもOK)。
あとはGitHubのvsts-Agentのサイトの「OSX System Pre-requistes」(https://github.com/Microsoft/vsts-agent/blob/master/docs/start/envosx.md)に沿ってOpenSSLとGitをインストールします。
なお、brewでOpenSSLをインストールしても、インストールした最新版のOpenSSL(これを書いている時点では1.0.2j)がパス指定なしでは使えません(古いOpenSSL(0.98zh)が参照されます)。
とりあえず、「ln -s /usr/local/Cellar/openssl/1.0.2j/bin/openssl /usr/local/bin/openssl」でリンクを作成するのと、「/etc/paths」に指定されているPATHの順序で「/usr/local/bin」を「/usr/bin」より前に変更することで使えるようになります。
VSTSのビルドエージェントをインストールする前に、1つ前準備が必要です。
エージェントからVSTSに接続するときの認証情報としてデフォルトではPersonal Access Tokens(PAT)を使用しますが、事前にTokenを生成しておきます。
管理者ユーザでVSTSのサイトにログインします。
ログインしたユーザのアイコン部分(右上に表示)にマウスポインタを重ねるとメニューが表示されるので、「Security」を選択します。
002
画面左側にある「Personal access tokens」をクリックし、右側にある「Add」の部分をクリックします。
003
作成するトークンに対する説明、有効期間(90 days/180 days/1 year)、接続するときのユーザ名を指定して、「Create Token」ボタンをクリックします。
004
※「Authorized Scopes」で権限を制限することも可能ですが、ここでは「All scopes」で進めます。
次の画面でトークンが表示されるので、コピペして保存しておきます。
※この画面から移動してしまうと、二度と表示することはできません。
005
続いて、ビルドエージェントを登録するためのpoolを作成します。VSTSでデフォルト作成されているプール(Hosted)でも構わないのですが、ここではローカルエージェントを別プールに追加するようにします。
VSTSのサイトで、メニューバー(?)にある歯車のアイコンをクリックし、「Agent queues」をクリックします。
006
キュー管理画面左側の「All Queues」の上にある「Manage pools」をクリックします。
007
左側の「All Pools」の上にある「New pool…」をクリックします。
008
作成するプールの名称を入力して、「OK」ボタンをクリックします。
009
最後に、VSTSビルドエージェントの設定です。
「Deploy an agent on OSX」(https://www.visualstudio.com/en-us/docs/build/admin/agents/v2-osx)に従って設定します。
手順では『VSTSのサイトで先ほどのプール管理画面から「Download agent」をクリックしてダウンロードしてね』とありますが、GitHub(https://github.com/Microsoft/vsts-agent/releases)のほうが最新なので(特にTFSの場合は)、そちらからダウンロードします。
※curlでダウンロードしようとすると、リダイレクト前と思われるHTMLがダウンロードされてしまうようです。wgetなら大丈夫でした。
解凍はサイトの手順通りにします。
起動する前に接続先の設定をします。
解凍先フォルダにある「config.sh」を実行します。(./config.sh)
010
1.VSTSのリポジトリがTFVCの時にはTeam Explorer Everywhere(TEE)を使用するので、TEEのライセンス確認が入ります。
2.VSTSのアドレス(https://[].visualstudio.com)を入力します。
3.認証方法を入力します。EnterキーだけだとPersonal access tokens(PAT)が使われます。
4.PATのアクセストークンを入力します。
5.エージェントを登録するエージェントプール名を入力します。Enterキーだけだと’default’になりますが、先ほど別にプールを作成してますので、ここでは作成したプール名を入力します。
6.エージェントを登録するときのエージェント名を入力します(Enterキーだけだとホスト名になります)。
7.ビルド時に使用するワークフォルダ名を入力します(Enterキーだけだと’_work’になります)。
設定が終わったら、「./run.sh」でエージェントを起動します。正常に起動できれば、「Listening for Jobs」と出力されます。
011
VSTSのサイトにも接続されている状態で表示されます(左側の帯が緑色になって、EnabledのチェックボックスがONの状態で表示されます)。
012

[2016/11/12追記]
ビルド時に指定するキューの作成が抜けてました<(_ _)>
先ほどのキュー管理画面で「New queue…」をクリックします。
01

作成するキューの名称を入力する画面になりますので、「Use an existing pool」を選択後、Pool nameから先ほど作成したプール名を選択して「OK」ボタンをクリックします。
02

管理画面に作成したQueueが表示されます。
この手順だと、既にエージェントが接続されているので、EnableがONになっているはずです。
03

この追加手順を見て気が付かれた方がいらっしゃると思いますが、実はプールとキューは同時に作成できます(;^ω^)
先ほどのキュー作成画面で「Create a new pool」を選択し、「Pool name」に名称を入力して作成すると、プールとキューが同時に作成されます。
※ビルドエージェントの接続は、この手順でプールが作成された後に行います。

ようやくビルド環境まで構築できました。次はビルド定義の作成に入りたいと思います(いつになったら実機展開できるんだろう・・・w)。

MacやXcodeを知らないやつが始めるXamarinアプリ開発 – 開発ツールインストール

証明書発行の次は、VSTSでXamarin.iOSをビルドするための環境を作成します。
まずは、VSTSのビルドエージェントを実行するためにユーザを作成しておき、以降の作業は作成したユーザで行います。
次に、開発ツールのXcodeとXamarin Studioをインストールします。
〇Xcode
App Storeからxcodeを検索してインストールします。
001_2
002_2
インストール終了後一度起動すると、Lisence Agreementの確認画面が表示されるので、「Agree」ボタンをクリックします。
015_2
すぐに起動するかと思いきや、「Installing Components…」と表示され、いろいろファイルが追加されるので待ちます。すると、ようやく初期画面が表示されるので、終了します。
016_2
〇Xamarin Studio
ブラウザでXamarinのサイト(https://www.xamarin.com)に行き、「Pricing」をクリックすると、Xamarin Studio Communityのダウンロードリンクが表示されるので、クリックします。
003_2
004_2
名前/メールアドレス/会社名を入力する画面が表示されるので、適宜入力してダウンロードボタンをクリックします。
005_2
ダウンロードが終わったら、インストーラーを起動します。
006_2
インストーラー起動画面中央の矢印部分をダブルクリックします。
(この画面って必要なんでしょうか・・・?)
007_2
インストーラーが起動されるので、それなりに選択して進めます。
008_2
009_2
010_2
011_2
012_2
013_2
014_2
インストールが完了したらXamarin Studioを起動し、メニューから「Xamarin Studio Community」-「更新の確認」を選択します。
017_2
更新プログラムのダウンロード状況が表示されます(おそらく、何かしらのアップデートが存在してると思います)。
018_2
ダウンロードがすべて完了すると、「再起動して更新プログラムをインストールする」ボタンが表示されるので、クリックします。
019_2
Xamarin Studioの再起動が完了すればOKです。
ちなみに、この時点でVisual StidioからXamarin.iOSのビルドができる状態になっています。

MacやXcodeを知らないやつが始めるXamarinアプリ開発 – 証明書発行 その3

「証明書発行 その2」の続きで、デバイスの登録です。
デバイスを登録するためには、UDIDと呼ばれるIDが必要ですが、iTunesを使えば簡単に確認できます。
まず、MacbookにiPhoneを接続します。その後、iTuneを起動し、画面左上のiPhoneマークをクリックします。
020
接続しているiPhoneの情報が表示されますので、「シリアル番号」の部分をクリックします。すると「シリアル番号」の部分が「UDID」に代わるので、文字列をコピーしておきます。
021
ブラウザに戻り、左側のメニューから「Devices」-「All」をクリックし、タイトルの「iOS Certificates」の右側にある「+」をクリックします。
022
今回は手持ちのiPhoneだけ使用するので、「Register Device」の「Name」に装置名を、「UDID」にiTunesで表示したUDIDを入力します。
(もう一つ「Regiester Multiple Devices」がありますが、こちらは複数のデバイス情報をファイルに保存しておき、まとめて登録するときに使用します。)
023
024
入力が終わったら、ページ下側にある「Continue」ボタンをクリックします。
最後にProvisioning Profilesです。
左側のメニューから「Provisioning Profiles」-「All」をクリックし、タイトルの「iOS Provisioning Profiles」の右側にある「+」をクリックします。
025
Developmentから端末の種類として「iOS App Development」を選択します。
026
※Distributionという選択肢もありますが、これは正式版としてアプリケーションを配布するときに選択します。
027
入力が終わったら、ページ下側にある「Continue」ボタンをクリックします。
次に、作成対象とするアプリケーションのApp IDを選択し、ページ下側にある「Continue」ボタンをクリックします。
028
アプリケーション配布時に使用する証明書を選択し、ページ下側にある「Continue」ボタンをクリックします。
029
配布対象のデバイスを選択し、ページ下側にある「Continue」ボタンをクリックします。
030
作成したProfileに対する名前を入力し、ページ下側にある「Continue」ボタンをクリックします。
031
作成したProfileを「Download」ボタンをクリックしてダウンロードします。
032
いろいろ作成したファイルのうち、PKCS #12形式(.p12)の証明書とProvisioning ProfileをWindows端末にコピーします。
(VSTSのビルドタスクで使用します)
ようやく準備が整いました。次からはVSTSのビルド環境を作成していきます。

MacやXcodeを知らないやつが始めるXamarinアプリ開発 – 証明書発行 その2

「証明書発行 その1」の続きで、アプリケーションIDの登録です。
Apple Developer Programのサイトで「Certificates, IDs & Profiles」内の左側のメニューから「Identifiers」-「App IDs」をクリックし、タイトルの「iOS App IDs」の右側にある「+」をクリックします。
014
App ID Descriptionの「Name」欄にアプリケーション名を入力します(一覧に表示する名称ですので、適当で構いません)。
015
App ID SuffixからアプリケーションIDの指定方法を選択します。「Explicit App ID」はアプリケーションIDをユニークに指定するときに使います。「Wildcard App ID」はワイルドカード(‘*’)を使って複数のアプリケーションIDをまとめて管理するときに使います。ここでは「Explicit Add ID」を使います。
016
App Servicesでは、作成するアプリケーションで使用したい機能があればチェックボックスをONにします。
017
入力が終わったら、ページ下側にある「Continue」ボタンをクリックします。
入力内容の確認画面が表示されるので、「Register」ボタンをクリックします。
018
019
区切りがいいので、続きは次回に

MacやXcodeを知らないやつが始めるXamarinアプリ開発 – 証明書発行 その1

開発環境が準備できたら、アプリのビルドや配布に必要なProvisioning ProfileとPKCS #12形式(.p12)の証明書を作成します。
全体概要としては、少し古いのとAdobeのサイトですがw、こちらが参考になりました。
〇Adobe Developer Connection
 iPhoneアプリの開発方法 for Flash Professional CS5 前編(http://www.adobe.com/jp/devnet/flash/articles/iphone_flash_1.html
まず開発者の登録から行います。
Apple Developer Programのサイトで「メンバーセンター」に移動します。
001
左側のメニューから「Certificates, IDs & Profiles」を選択します。
002
左側のメニューから「Certificates」-「All」をクリックし、タイトルの「iOS Certificates」の右側にある「+」をクリックします。
003
Developmentから「iOS App Development」を、Productionから「App Store and Ad Hoc」を選択し、ページ下側にある「Continue」ボタンをクリックします。
004
005
署名証明書の発行リクエストファイル(CSR file)ページの下側にある「Continue」ボタンをクリックします。
006
Finderから「アプリケーション」-「ユーティリティ」-「キーチェーンアクセス」を起動します。
007
008
メニューから「キーチェーンアクセス」-「証明書アシスタント」-「認証局に証明書を要求」をクリックします。
009
証明書に関する情報として、メールアドレスと通称を入力し、「要求の処理」から"ディスクに保存"を選択し、「続ける」ボタンをクリックします。
010
保存するファイルの名前と保存場所はそのままで、「保存」ボタンをクリックします。
(デスクトップにリクエストファイルが保存されます)
011
要求ファイル作成完了メッセージが表示されるので、「完了」ボタンをクリックします。
ブラウザに戻り、「Choose File…」ボタンをクリックし、先ほどデスクトップに保存したリクエストファイルを選択します(ファイル選択→「選択」ボタンクリック)。
012
ページ下側にある「Continue」ボタンをクリックします。
証明書が作成されるので、「Download」ボタンをクリックします。
013
長いので続く・・・

MacやXcodeを知らないやつが始めるXamarinアプリ開発 – 前準備

私は今までMacやiPhoneとかいったApple製品は、昔iPod miniを使ってただけですが、最近Xamarinが流行っているようで、どうやって開発していくのかな?と興味が湧いたので、少し触ってみることにしました。

今回お試しするにあたって、以下の内容を前提として触ってみました。
・VSTSでの自動ビルドに対応する
 自分がお試しをするときの視点として「業務で開発するときにどうすればいいのか?」がメインになります。
 となると、自動ビルドは外せない要素になります。(実際にできるかどうかは別にして(;´Д`))
・できるだけMacを使わない
 Macはほとんど触ったことがないのと、(仮に)会社で開発するとなったにしてもMacでの開発はないかなという想定で。
 自動ビルド対応するのに、Macを都度触るのはナンセンスだと思いますし。
・実機での確認ができるようにする
 実機で動作させてなんぼのもんです。

最初にXamarin開発環境の整理から。
・IDEとしてはXamarin StudioとVisual Studioがある
・Xamarin.iOSやXamarin.MacのビルドにはMac(+Xcode)が必要
・エミュレータはVisual StudioだとWindows/Android/iPhoneが動かせる
 MacだとAndroidとiPhoneが動かせる
 (BootCampとかParallel Desktop併用でWindowsは実機確認)
結局、WindowsでもMacでもクロスプラットフォーム開発できるということです。
今回は前提に挙げたとおり、Windowsメインで触っていきます。

Windows環境にVisual Studio 2015をインストールしますが、Xamarin関連はインストールの種類を「カスタム」にしないとインストールできません。
インストールを進めると「機能の選択」画面が表示されます。そこで「クロスプラットフォームモバイル開発」の中にある「C#/.NET(Xamarin v4.1.1)」をONにします。
!!インストール選択画面
※Androidエミュレータ「Microsoft Visual Studio in Xamarin Emulator」もONになりますが、実際に使用するにはHyper-Vが使用可能であることなど、システム要件を満たす必要があります。
 「Visual Studio Emulator for Android のシステム要件」(https://msdn.microsoft.com/ja-jp/library/mt228280.aspx

ここからは、りんごさん関係の環境準備です(;^ω^)
まずはMacとiPhoneが必要になりますが、さすがに新品を購入する財力はないので、某オークションでMacBook AirとiPhone6を購入しました。
MacとかiPhoneって中古でも高いんですね・・・

実機が届いたところで、環境構築を始めます。
最初にApple IDの登録が必要です。さらに、クレジットカードかキャリア決済情報の登録も必要です。
登録内容に住所もあるんですが、ここで登録した住所は「正確に」覚えておいてください。理由は後ほど出てきます。

続いて、開発者用プログラムである「Apple Developer Program」(ADP)に登録します。
登録パターンとして個人と組織があり、組織として登録するには「D-U-N-S Number」を取得する必要があります。
https://developer.apple.com/programs/enroll/jp/

今回は個人として登録しました(現時点では、年間11,800円必要です(:_;))。が、自分はここで引っかかりました・・・。
なぜかステータスがPendingのまま数日経過しても変わらず、詳細情報も表示されず、メールの通知もなく・・・。

ネットで検索してみると、「Contact Usにリクエスト投げたほうが早い」ということで、ネットの翻訳機能に頼りまくって「ステータスがPendingのまま変わらない」と送信。
すると、翌日に「住所がApple IDの内容と異なるから、正しい内容を送って」と英文メールが来ました。
対応はえぇ、でもApple IDでも住所登録してるのに、ADPでも住所登録する必要ないんじゃ?と思いながら、訂正メールを返信。
翌日にAppleからメールが到着したので、「もう対応したのか!」と思いながら本文を開くと、日本語で住所間違ってるご指摘メール(アドレスが英文メールとは違う)。しかも英文メールと相違項目が微妙に違う。
どういう連携してるんだろう?とか思いながら、一応日本語メールにも返信。
さらに翌日(Contact Usリクエストから3日目)に「登録完了した」とのメールが到着。しかも英語と日本語の2つw。アドレスが異なるので、別々に対応してる様子。
こんなそんなで、ADPのサイトに無事ログインできました。

続いて、MacBook Airに開発環境のXcodeとXamarin Studioをインストールします。
その後、Visual Studioからのリモートビルドのために、リモート接続を許可しておきます。
(Visual Studioから接続するときは、リモート接続を許可したユーザでログインします)
101

020_2

さらに、アプリケーション配布用にいろいろファイル(証明書とか)を作成する必要があるのですが、Mac関連で詳細手順をメモしておきたいのと、あまりにもいろいろファイルを作成しないといけないので、ちょっと分けます。