読者です 読者をやめる 読者になる 読者になる

ほぼ開発ブログ

アプリ開発を中心に、いろいろ脱線します。

#013 Xamarin を iPhone で動かしてみる

タイトルがちょっと変でも気にしない

だいたい Xamarin ってフレームワークみたいなノリでしょ?

アプリを動かす、のなら日本語あってるけどね(十分気にしてるやん)

はい、今回は iPhone 実機で Xamarin を使ったアプリを動かしてみます(日本語おk)

サンプルアプリをビルドする

前回iPhone のアップデートができたので、これでようやく実機で試されれ…?試させられ…?試せられ??(やっぱ日本語オカシイわ)

気を取り直して、まずはサンプルアプリをダウンロードします。

https://github.com/xamarin/xamarin-forms-book-samples/

「Download Zip」のところから、約300MBあるから気をつけて。

f:id:Kikuzo:20170218075556p:plain

Mac って Zip ファイルをダウンロードすると自動解凍してフォルダになるんだね。

f:id:Kikuzo:20170218082846p:plain

ダウンロードしたフォルダから Chapter01 の「PlatformVisuals.sln」を開くと Visual Studio が起動しました。Xamarin Studio からでも開けます。

f:id:Kikuzo:20170218084132p:plain

あれ?「PlatformVisuals.iOS」がグレーになってる?右横のブルーのアイコンにカーソルを乗せると「アクティブな構成内でプロジェクトがビルドされていません」って!?どういうこと?

 上の方の「□ プロジェクト名 > □ Debug > □ 規定」のところ「□ Debug|iPhone」に変更すると直るアルよ♡ 

??ほんとだ!ありがとう!じゃ次はビルド、ポチッとな。

あれ?エラーが出てるよ?「Build failed. See the build log for details.」?ビルドログはどこ?

 それ、エラーメッセージすぐ右のペインに出てるアル。見えてなかったら「ビルド出力」ボタン押すアルよ♡ 

そこか〜、ありがとう。でもエラーがダラダラ〜っと出てるね。どうしよう?

f:id:Kikuzo:20170218102835p:plain

 お客さん♡ Mac に iPhone つないでるアルか? 

あ、忘れてたー!!USBつないで、リビルドっと。でもまだエラーが!!

f:id:Kikuzo:20170218115051p:plain

へ?「No installed provisioning profiles match the installed iOS signing identities.」??

 プロビジョニングプロファイル が入ってないアルよ♡ 

なにそれ?おいしいの?

 これ以上は追加料金アル♡ 

(ザクッ)キクゾーはつうこんのいちげきをうけた。53ポイントのダメージ。(;꒪﹃ ꒪)

プロビジョニングプロファイルとは

少し調べたところ、要はiOSアプリを実機で動かすために必要な証明書の類らしい。これで iPhone が信頼できる開発者の作ったアプリかどうかを判断しているわけですね。

参考:[iOS] プロビジョニングファイルと証明書の意味 - Qiita

これを見ると何やら色々と面倒な手順があるようですが、現在の Xcode 8 プロジェクトでは Signing の「Automatically manage signing」にチェックを入れておけば自動で作成/更新されます。

しかし、Visual Studio では今は自動では作成できないようなので、Xcode でダミーのアプリを作成して iPhone に仮登録させる必要があります。その後、Visual Studio から実機でデバッグができるようになります。

Xamarin のサンプルを iPhone 実機で動かす

サンプルアプリを iPhone で動かすための手順です。

  1. Visual Studio でサンプルアプリを開き、Info.plist を開いて「バンドル識別子」のドメインを変更するなどしてユニークなものを設定します。
    (例:com.yourdomain2017.PlatformVisuals) f:id:Kikuzo:20170219164443p:plain

  2. Xcode でダミーの新規プロジェクトを作成します。テンプレートの選択は iOS → Single View Application などを選択しておきます。

  3. 途中のオプション選択の画面で「Bundle Identifier:」の文字列が、上で設定した「バンドル識別子」と同じになるように「Product Name:」と「Organization Identifier:」に分けて入力して作成します。 f:id:Kikuzo:20170219164452p:plain

  4. プロジェクトを作成すると下記のようになります。
    「▼Signing」の「Automatic manage signing」はチェックONにしてください。 f:id:Kikuzo:20170219164459p:plain
    もし「▼Signing」にエラーが表示されていたら下記を参照してください。
    上記の「バンドル識別子」がユニークでない場合もエラーが出ます。

    参考:【iPhoneアプリ開発入門】Xcode7で証明書とプロビジョニングプロファイルを簡単に作る方法 | SONICMOOV LAB

  5. 次に iPhone を接続し、Xcode で作成したダミーのプロジェクトを実行します。下記メッセージは iPhone で「信頼」すれば、次からは出なくなります。 f:id:Kikuzo:20170219164508p:plain

  6. 接続した iPhone で、「設定」→「一般」→「プロファイルとデバイス管理」を開きます。「デベロッパAPP」の下にある開発者の Apple ID をタップします。

    f:id:Kikuzo:20170219171647p:plain

  7. このメッセージで「信頼」をタップすると iPhone側の設定は終了です。

    f:id:Kikuzo:20170219164521p:plain

  8. 今度は Visual Studio から実行します。ブレークポイントも張れます。 f:id:Kikuzo:20170219172724p:plain

  9. iPhone 実機でサンプルアプリが起動しました!

    f:id:Kikuzo:20170219164540p:plain

今週読んだ本

入門書って好きだなぁ、意外とワクワクするw

 

他人の考え方や習慣って面白い、自分を客観的に見れるねw