こんにちは。エクセルソフトの田淵です。
ハンズオンの時にも明らかになったので、ぶつかりやすいバッドノウハウ的な FAQ はまとめておいた方が良いかなと思いました。URL も固定にしましたので、随時アップデートしていく予定です。
Xamarin.Forms
Q: XAML の Intellisense が効かない。
A: 時々 Intellisense が効かない時があります。(タイミングがまちまちで原因が調査出来ていません。)一度 PCL/Shared プロジェクトをビルドしたり、ファイルを開きなおしたりしてください。
Q: Xamarin.Forms の ContentPage のコードビハインドの InitializeComponent に赤い波線が付く。
A: ずっと治ってないバグです… XAMLを開いてどこかに空白を追加して削除して保存(つまり XAML を再読み込みする)すると消えます。
Q: Xamarin.Forms の UWP プロジェクトが作れない。
A: 前提条件として UWP SDK が必要なので、インストールしてください。(つまり Windows 10 にする事が望ましいです。)
その上で Xamarin を最新版にすると[Blank App (Xamarin.Forms Portable)]のプロジェクトテンプレートがアップデートされて UWP プロジェクトも作られるようになります。[ツール>オプション>Xamarin>Others]からアップデートしてください。
Q: Mac の Xamarin Studio で Xamarin.Android.Support.v4
が最新にアップデートされてしまう。
A: Xamarin.Forms で対応している Xamarin.Android.Support.v4
やアップデートすると追加される v7
のパッケージは依存関係が (= 23.0.1.3) となっています。上記の画像のように、Mac の Xamarin Studio で[パッケージ]を右クリックしてアップデートしてはいけません。[Xamarin.Forms]を右クリックして最新版にすると、自動で依存関係が解決されてそれぞれのサポートライブラリの 23.0.1.3 がインストールされます。もちろん、これ以上はアップデートしてはいけません…!笑
Android
Q: Android プロジェクトで xxx が Resource に見つかりませんというエラーが出る。
A: Android SDK が少ししかインストールされてないと出るかもしれません。最低でも 4.0, 4.1, 4.4, 5.0, 5.1, 6.0 はインストールしておく事をお勧めします。
Q: Android プロジェクトで value-v21
で colors.xml
を用意したのにステータスバーに Material Design のカラーが反映されない。
A: Manifest で[Target Android version]に 5.0 以上を指定すると反映されるようになります。
Q: Manifest に何も書いてない。
A: Xamarin.Forms の Android プロジェクトとかはまだ直ってないみたいですね。手動で追加してください。私の作ったプロジェクトテンプレートを使うと、UUID が一意でない問題や証明書が知らない人のが入ってる問題が解決されますw
Q: 実機にデプロイするとアプリが起動できない
A: いくつか原因があるみたいです。
- なぜか SD カードにインストールされることがあります。下の画像のように Android 端末の[設定>アプリ]で対象のアプリがグレーアウトされている場合、アンインストールしてみてください。直ることがあります。
- [Mono Shared Runtime]と[Xamarin.Android API-XX Support]を消してしまうと動きません。全部を一度削除して、もう一度 Visual Studio/Xamarin Studio からデバッグしてみてください。
iOS
Q: 実機がビルド対象に出てこない。
A: 実機の iOS バージョンが Deployment Target
より低い場合にこの現象になります。Info.plist
を開き、ターゲットを7.1 などにしてください。
これらに気をつけて快適な Xamarin ライフを送ってください(^^)
参考リンク
@nuits_jp さんも FAQ を纏めてくださっています。併せてご参照ください^^
Xamarin 気になった方は
是非 ダウンロード(直接) / ダウンロード(弊社経由) して触ってみてください。 学習用リソース や JXUG リンクページ に参考資料を纏めてますので併せてどうぞ。
Xamarin の情報が欲しい方はこのブログも購読いただいたり、私のTwitterアカウントをフォローいただいたりすると嬉しいです。
以上です。