LoginSignup
5
2

More than 5 years have passed since last update.

Visual Studio for Mac で作成した Xamarin.Forms アプリを実機(iOS/Android)にインストールする

Last updated at Posted at 2016-12-11

Xamarin(その2) Advent Calendar 2016 の 11 日目です。Visual Studio for Mac が公開され、新しいもの好きとしてすぐ喰いつきました。そこで色々ハマったことを Tips 的にまとめたいと思います。

きっかけ

JXUG 福岡支部が発足され、12/10 に発足記念勉強会が開催されました。その事前準備で色々ハマったことがきっかけでした。

使った環境

  • macOS 10.12.1
  • Visual Studio for Mac Preview 2
  • Xcode 8.1
  • iPhone 6 Plus(iOS 10.1.1)
  • GALAXY S SC-04E(Android 5.0.1) ※ SIM なし

使用コード

勉強会前は Xamarin.Forms のスケルトンアプリ(「Welcome to Xamarin Forms!」表示のみ)を使用しました。勉強会後は、JXUGC #21 のハンズオンのコードを使わせてもらっています。ハンズオン手順書はこちら

ハマり問題 〜Android 編〜

勉強会事前準備中

MacBook Pro (Retina, 15-inch, Late 2013) で Android 実機接続後、実機を指定してビルドを実施。複数のエラーが出力されるが全て以下のエラーでした。

Unable to find application Mono.Android.Platform.ApiLevel_24 or Xamarin.Android.Platform

この時にやったこととしては、以下の通りです。
* 事前準備のためにインストールした Android SDK 7.1.1(API 25)を全てアンインストール
* Visual Studio for Mac の Android Application の Minimum Android version/Target Android version を Android 6.0(API level 23)で統一

ひとまず以上をやったことで SC-04E に Xamarin.Forms アプリをインストールできることは確認しました。

勉強会後

iMac (21.5-inch, Mid 2011) で Advent Calendar ネタ準備のために同じ環境を用意して Xamarin.Forms スケルトンアプリを作成。エミュレーターで動作確認後、実機にインストール。まさかの正常インストール成功。正常に実機で動いてしまったという…。

まとめ

再び MacBook Pro (Retina, 15-inch, Late 2013) にて Android SDK 7.1.1 をインストール。Android Application の設定を iMac (21.5-inch, Mid 2011) と同じ Minimum Level - Android 4.4(API level 19)、Target Level - Android 6.0(API level 23)に変更して実機にインストールしてみる。ここでも正常インストール成功。一体原因は何だったのか…。実機上のサンプル画像は以下のようになっています。

Androidサンプル1 Androidサンプル2

ハマり問題 〜iOS 編〜

勉強会事前準備中

ハンズオンでは「Apple Developer Program 登録推奨」とありましたが、貧乏性を発揮しました。よって、田淵義人さんが書かれた以下の記事を参考に 0 円で出来るかチャレンジしました。

Xcode 7 と Xamarin Studio Starter で1円も払わずに自作 iOS アプリを実機確認する (インスパイア記事)

結論から書くと、Xcode 8.1 / Visual Studio for Mac の組み合わせで同じようにインストールは可能でした(でも、そこそこ確認に時間はかかりました)。

勉強会後

Android 同様、事前準備では MacBook Pro (Retina, 15-inch, Late 2013)、Advent Calendar ネタ仕込みのために iMac (21.5-inch, Mid 2011) を使用しています。Xamarin.Forms スケルトンアプリをフリープロビでインストールできました。再度、ハンズオンのアプリをインストールするために MacBook Pro (Retina, 15-inch, Late 2013) に接続した時、問題発生。

iMac の認識デバイス
iMac の認識デバイス
MacBook Pro の認識デバイス
MBP の認識デバイス

まさかのデバイス認識しない問題発生(心の中では大きくガッツポーズ)

よくあるパターン

とはいえ、そう珍しいことでもなかったりします。構成プロファイルを作成し、iOS デバイスに構成プロファイルをインストールさせるツールで Apple Configurator 2 というものがあります。AC2 がデバイスを認識していると、その他のツールで iOS デバイスが認識されないケースがあります。この時 AC2 が起動中でした。よって、AC2 を終了させて Visual Studio for Mac を再起動してから確認。まだ認識されず。

よくあるパターン 2

AC2 同様に iTunes が起動していたり、その他デバイスを認識するようなツールが起動中だとデバイスが認識されないケースがあります。この時は iTunes が起動中でした。AC2 の場合と同じように iTunes 終了後に Visual Studio for Mac を再起動。やっぱり認識されず。

やってみたこと

エラーメッセージなどは特に出ていないので正直お手上げな状態でした。「ひとまずビルドしてみよう」と思いたち、Debug モードを変更して実行してみることに。具体的には以下のような変更です。

変更前
変更前
変更後
変更後

この状態のエラーメッセージで何か情報を得られないだろうか?というのが動機です。結果、

エラーダイアログ

というダイアログが表示されました。「まぁ、そうだよな」と思っていたのですが…。

iOSサンプル1

なんかインストールされてるっぽい…。おもむろに起動してみる。

iOSサンプル2 iOSサンプル3

Payload Too Large
詳細ページ画像がアップロードできない!

Qiitaに1件も投稿していない時の画像アップロード容量の上限は月間2MBまで

初投稿だったからか…。

まとめ

画像はアップロードできませんでしたが、何故かインストールが成功し正常に動かせることは確認しました。一体何が起きているのだろうか…。

総括

「ハマったことを Tips 的にまとめたい」と最初に書いておきながら、iOS は何かよく分からないけどインストールされた、Android においては再現できずに正常に動いてしまう、というグダグタな結果になりました。明らかに準備不足でした。きっと リリース版は楽にインストールできるはずです…。

5
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
2