アプリ開発

アプリ開発

【マジかよ】Xcodeでアプリ開発の学習するには有料デベロッパーになるしかない罠

Xocodeの実機転送は結構大変だよね、という話

iOSアプリ開発の学習をしようと力んでMacやiPhone実機、そして入門書を揃えた初心者さんが先に知っておくと良いこと。

平たく言うと、有料のデベロッパー登録をしないと公開などを予定していない個人の学習用だろうと、制限がありすぎてモチベーションが下がりまくるということだ。

年間1万いくらの有料デベロッパー

XcodeでのiOSアプリの開発はアップルが公開している無料のXcodeというアプリで行うことができる。

アプリをシミュレーターで実行したりするには、無料のApple IDが必要だったりするのだが、無料できる範囲は意外と狭い。

うろ覚えのところもあるので正確ではないが、
・7日間で作れるプロジェクトは10個まで
・検証用に実機転送できるのは3つまで
・しかも、その3つは何日か(?)で起動できなくなる

ガチでアプリ開発を勉強しようと思ったら、色々試さないとならないからプロジェクトの数も足りなくなるし、特に実機転送の制限がキツい。そもそも、昔(の古いXcode)は無料IDでは実機転送自体ができなかったらしいので、今は3つだけでもありがたいと思え! って感じなんだろうが、ローカルで検証するだけでこの制限はキツい。

年間1万いくらの有料デベロッパー

この金額を大きいとするか小さいとするかは、個人の価値観や経済力にもよると思う。

しかし、初めてまともにプログラミングやXcodeをいじるような超初心者にとっては、公開できるレベルのアプリを1年以内に開発できるとも限らないので、かなり高く感じるのではないだろうか。

それに比べると、Androidはローカルで個人目的で検証するぶんには、実機転送に制限がないので、オープンでいいなと思う。デベロッパー登録もAndroidの方が安いしね。

実機で想定通りに動いてナンボだしねと、アップルの嫌なところを吐き出してみた。

アプリ開発

xcodeの実機検証の罠「is not available」はバージョンが合ってないことが原因

xcodeでのiOSアプリ開発においては様々な壁に初心者が翻弄されることになる。

その中でもよくありがちなのが、実機検証しようと思ったら「is not available」というシンプルなエラーメッセージで途方に暮れてしまうケース。もうちょっと具体的にエラーの内容を表示してほしいものだが、この手の開発ツールでのエラーメッセージは役に立たないことが多い。

基本的にiOSとxcodeはバージョンが対になっている

つまり、何気なく手持ちのiPhoneやiPadをアップデートしたら最期、xcodeも漏れなくアップデートしないと実機検証できなくなるのだ。

メジャーアップデートではもちろん、小数点以下の細かなアップデートでも対応しなくなったりする。

そのたびに10GB以上のxcodeをダウンロードして入れなおさないとならないのだ。ちなみにXcodeは初心者向けの解説書などではアプリから自動でダウンロードする方法が紹介されているけど、検証用などに複数のバージョンを1つのMacに入れておきたい場合は、公式のアーカイブから個別のバージョンを入れると便利。

単純にファイル名にバージョンを入れたりすると上書きせずにインストールできる。並みのMacbookだとあっという間にディスクがパンパンになるのが悩みどころだが。

アプリ開発

【初心者向け】Android Studioで入門書の通りにやっても動かない時の確認事項

Android Studioで入門書を見ながら独学している初心者によくあること。

それは「入門書の通りにやってるはずなのに動かない!」という事態。エクセルだとかワードの入門書とかだとこんなことは滅多にないのに、それがアプリ開発とかになると頻繁にぶちあたる。

そんな時の自分なりのケーススタディをまとめてみた。

バージョンやOSは本の通りにする

Android Studioはハイペースで新バージョンがリリースされるので、大体の場合は本として流通している解説書は一昔前のバージョンで解説している。

3→4とかのメジャーバージョンアップでは目もあてられないが、小数点以下の微妙なバージョンアップでさえ、UIや機能の呼び出し方はもちろん、内部的なビルドの仕方や使えるコードなんも変わってくる。

入門書の最初の方にある「インストール編」をよく読んで本とぴったりのバージョンをインストールしよう。アーカイブなどで古いバージョンもインストールできるので本と違うバージョンを使わないこと。

Android StuioはWindowsとMac版があるが、それぞれで挙動が違う。細かなモジュールの違いだと思うが同じバージョンで全く同じことをやっても片方ではエラーが出ても、もう片方ではうまくいくというケースがあった。

まぁ、モノホンの実務ではこんなことではダメなんだろうが、入門書を見ながら、なんちゃってプログラマーを目指す分にはこうするしかない。

日本語化せず英語のまま使う

Android Studioは日本語化することもできるものの、英語のまま使うことをオススメする。

「英語は苦手だし、とっつきにくい」というのも並以下の日本人だとそれが普通だと思うが、そこは堪えて英語のまま使った方が様々なメリットがある。

前項にもつながるが、大体の本は英語のまま使っているので項目を探しやすい。エラーメッセージが出た時も、日本語だとエラーの内容を検索しても情報が出てこないが、英語のままの方が情報を探しやすい。

もっとも、Android Studioのエラーメッセージは見当違いの内容であることも多いそうだし、英語のエラーメッセージで検索しても出てくるのは英語の解説ページ、もしくは機械翻訳のようなわかりにくいページ・・・という場合も多いけど。

本のサンプルとビルド設定を合わす

ビルド設定とはなんぞ? と思ってしまうだろうが、これが違うと同じバージョンのAndroid Studioを使っていても本の通りに動かない、すなわちエラーが出たり、実行すると落ちる原因となることがわかった。ビルド設定は上の画像の「build.gradle」というのに記述されている。

大体の入門書はサンプルのプロジェクトファイルがダウンロードできるようになっていて、巻頭か巻末にダウンロード方法が書かれているので、まずはそれを実行してみよう。

サンプルファイルが実行できないようなら、本に書かれているようにプログラミングしていっても絶対に君のAndroid Studioの環境では動作するアプリを作れない。

サンプルが動くのに君の作ったやつが動かないなら、サンプルの「build.gradle」を少しずつ移植してみよう。それで解決したことはかなりある。

入門書だとこのあたりの説明は省いていることがあって、いまいち設定方法がわからないわけだが、なんちゃってプログラマーを目指すにしても入門書のサンプルが作れないようではダメなので、早々にギブアップしそうな場合は参考にしてみよう。