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

Xamarin 日本語情報

Xamarin(ザマリン) の代理店だったエクセルソフト田淵のブログです。主に Xamarin に関するエントリーをアップしていきます。(なるべく正しい有益な情報を掲載していきたいと考えていますが、このブログのエントリーは所属組織の公式見解ではありませんのでご注意ください)

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

こんにちは。エクセルソフトの田淵です。

Xcode7で1円も払わずに自作iOSアプリを実機確認する - Qiita を読みました。記事早いですね!

私も負けじと Xamarin Studio で Free Provisioning アカウントを使用したアプリのビルドを試しまして、無事出来ましたのでご報告です!タイトルがまんまインスパイアされていますが内緒です!(FumihikoSHIROYAMAさんすみませんw)

大前提・用意するもの

  • Mac 10.10.4 以上
    • こちら を見る限り Compatibility: OS X 10.10.4 or later とあります。
  • Xcode 7.0
  • Xamarin Studio 5.9.7
  • Xamarin.iOS 9.0.1.18

注) 2015/9/18 現在の最新 Stable です。

Xcode で Free Provisioning を用意してアプリを許可する

Xcode7で1円も払わずに自作iOSアプリを実機確認する - Qiita

を見ていただくのが早いですね。

f:id:ytabuchi:20150918174732p:plain:w450

iOSMacFree となっていれば OK です。この Free をダブルクリックすると以下の画面になりますので、iOS Development を Create しておきます。

f:id:ytabuchi:20150918175434p:plain:w450

後は Xcode で適当なプロジェクトを作成し、Free Provisioning のアカウントを Team に割り当てて、

f:id:ytabuchi:20150918175636p:plain:w450

Fix Issue すれば OK です。簡単ですね。なお、アプリを作る際の Bundle Identifier が後で重要になりますので控えておいてください。今回は com.gmail.ytabuchi.xlsoft.MyApp としました。

2016/5/1 追記
f:id:ytabuchi:20160501114752p:plain:w450
Xcode 7.4 では Bundle Identifier は自動になりました。Product Name の .(ドット)、_(アンダーバー)を含む特殊文字はすべて -(ハイフン)に自動変換されますので、使用しない方が良いです。

Free Provisioning の場合は、最初のアプリインストール後に、開発者を許可しなければいけないようなので、以下の画面が出てきたら、

f:id:ytabuchi:20150918175937p:plain:w300

iOS 9 端末の 設定 > 一般 > プロファイル から該当アカウントを許可してあげましょう。

f:id:ytabuchi:20150918190837p:plain:w150 f:id:ytabuchi:20150918190815p:plain:w150

これで、Xcode からの実機転送は確認が取れました。因みにですが、Free Provisioning で実機にデプロイ出来るのは、iOS 9 の端末だけのようです(詳細不明)。iOS 8.3 の端末にデプロイしようとしたら、以下のエラーが出ました。

f:id:ytabuchi:20150918180503p:plain:w300

2015/9/18 追記:
@shohaga さんの [xamarin][ios]Xamarin.iOSで実機転送 - 日々のアレコレ(2015-09-17) によると、8.4 でも問題なく転送出来たそうです。私の 8.3, 8.4 の端末では上記エラーが出たので実際どうなのかは不明です。。すみません。

それではメインの Xamarin Studio をやってみましょう。

Xamarin Studio での作業

Xamarin Studio は Starter でログインします。Visual Studio でも同様の操作で Free Provisioning でビルド、実機にデプロイが可能です。

まだ Xamarin のアカウントを作っていない方は、こちら から適当なメールアドレスでアカウントを作成し、こちら から Xamarin をダウンロードインストールしておきましょう。

f:id:ytabuchi:20150918180700p:plain:w300

プロジェクト作成

New Solution から新規プロジェクトを作成します。

f:id:ytabuchi:20150918181320p:plain:w300

iOS > App > Single View App を選択して Next をクリックします。

f:id:ytabuchi:20150918180632p:plain:w450

ここで、アプリ名を XcodeBundle Identifier で指定していたのと同じ com.gmail.ytabuchi.xlsoft.MyApp にします。(理由は後述)

f:id:ytabuchi:20150918181539p:plain:w450

Xamarin.UITests を参照から外す

この章は Starter の方だけ行います。

Xamarin Studio でプロジェクトを作成すると、自動的に Xamarin.TestCould.Agent がパッケージに追加されますが、これがあると Starter のサイズ制限をオーバーしてしまいますw

f:id:ytabuchi:20150918182736p:plain:w450

  • パッケージから Xamarin.TestCould.Agent を削除
  • AppDelegate.cs の FinishedLaunching メソッド内の #if ENABLE_TEST_COULD の部分を削除

しておきましょう。

軽くコーディング

準備が整いましたので、アプリを作ってみましょう。

例えば Storyboard にボタンを配置してダブルクリックしてイベントハンドラを作り、ViewController に用意された TouchUpInside メソッドに次のようなコードを書いたりします。

button.SetTitle("Xamarin!", UIControlState.Normal);

f:id:ytabuchi:20150918183230p:plain:w450

こんな感じですね。さて!ではビルドしてみましょう。と言いたいところなのですが、一点 TIPS です。

TIPS: Provisioning Profile について

ビルド前に、プロジェクトを右クリックしてオプションを開き、ビルド > iOS Bundle Signing を見てみてください。ここで、先ほど Xcode で作った Bundle Identifier と違う名前でプロジェクトを作成してしまった場合、Provisioning ProfileNo matching profiles found とエラーになっているはずです。

f:id:ytabuchi:20150918183615p:plain:w450

どうやら、Free Provisioning のアカウントではアプリごとに自動的にXcode で作成したアプリ専用の Provisioning Profile を自動で作成するようなのです。

Free Provisioning のアカウントで Apple Developer Center にログインは出来ました。が、Certificates, Identifiers & Profiles のメニューはありませんので、Provisioning Profile は Xcode で作るしかありません。

f:id:ytabuchi:20150918184113p:plain:w450

また、恐らく Xamarin Studio でも作ることが出来ません。そのため、あらかじめ Xcode で作ったアプリの Bundle Identifier と同じ名前でアプリを作り、自動生成された Provisioning Profile を間借りする。という少しイレギュラーな対応を取る必要があります。

なので、同じ名前でアプリを作るという事になったわけですw

Xamarin Studio で Provisioning Profile が選択出来ていることを確認してください。

f:id:ytabuchi:20150918190446p:plain:w450

iOS Simulator にビルド

問題ないですね。素晴らしい!

f:id:ytabuchi:20150918190343p:plain:w450

iOS 9 実機にビルド!

f:id:ytabuchi:20150918191001p:plain:w150

できました!!おめでとうございます!!

Xamarin 気になった方は

いかがでしょうか?Xamarin Studio Starter で無料で実機デバッグまでが出来ることが確認できました。C# でしかも無料で iOS アプリが書けるなんて!興味が湧いた方は、是非 ダウンロード(直接) / ダウンロード(弊社経由) して触ってみてください。 学習用リソースJXUG リンクページ に参考資料を纏めてますので併せてどうぞ。

Xamarin の情報が欲しい方はこのブログも購読いただいたりすると嬉しいです。

以上です。