Swiftでチーム開発するときに困ったこと
Swiftを使って本格的にiOSのアプリを、小学生たちと一緒に複数人のチームで開発したとき、色々なことに困りました。特に、Githubを使って共同編集をしていると、バージョンの差やお互いのブランチのConflictを解決するのがなかなか難しくもありました。
しかし、それとは別にの問題も引き起こされました。具体的に挙げていくと下の3つでした。
1.main.storyboardが壊れやすい
2.画像が壊れやすい
3.アイコンが入らない
Swiftともなると、本格的に開発で使われている言語で、テキストプログラミング。しかも記述法にはかなり癖があったので、子どもたちもなかなか馴れるまでに時間がかかってしまっていました。ただ、そのあたりは「学び」の中心的な目的だったので、時間をかけて試行錯誤したいところ。
ですが、上記の3つはどちらかというと本質よりはそれていて、これに無駄な時間がかかってしまったなぁ、というところでした。
1.main.storyboardが壊れやすい
main.storyboardは、アプリの流れをGUIでつくることのできるファイルです。エントリーポイントの設定や、ボタンを置いたり、ゲーム画面の前に選択画面をつくったり、ものすごく簡単に、アプリ・ゲームの画面遷移を設計することができます。
しかし、main.storyboardはGUIで色々操作ができるがゆえに、勝手にプログラムの中身が書き換わり、エラーの原因となってしまいました。
対処としては、main.storyboardのソースコードを見て修正することくらいしかなく、共同編集をする際には、「極力main.storyboardは一人の人しか触らない」ということを意識しながら開発を進めるしかありませんでした。
2.画像が壊れやすい
Swiftの画像はなぜか壊れやすい。画像をアップロードしているのに上の画像のようにエラーが出てしまいます。
特にこれは子どもたちにおいてよくある傾向なのですが「スクリーンショット」をとって、それをそのまま挿入するのでファイル名が「スクリーンショット....」というふうになっている場合が散見されます。ファイルシステムの理解はなかなか難しいものの、ひとまずSwiftに投入する画像の名前は「アルファベットで」ということを徹底して乗り切りました。
しかし、最終的にそれでも動かないものもあったので、本当の解決策はよくわかりません。。
3.アイコンが入らない
最後に、「アプリのアイコンも入れたいよね!」ということで、入れようとしたところ、なぜかできるプロジェクトとできないプロジェクトの両方が出てしまいました。
macのappstoreで公開されている、Icon Set Creatorを使って制作したアイコンを入れたのですが、シミュレーター上でなかなか表示されない。。
もしかしたらキャッシュのためなのかな、ということで何度か再起動してもうまく行かず諦めかけても何度もトライしたらできるようになりました。
設定のAppIconというところをいじってみて解決した気もするのですが、本質的な解決策は明確になりませんでした。
上記のような状況で、明確な解決方法の発見には至らなかったものの、なんとか乗り切った子どもたちとのチームプロジェクト。
結果的には、これらの困難をなんとかパッチワークで克服して、最終的にはpcnこどもプログラミングコンテストで「佳作」を取ることもできたので、ホッとした、といったところでした。
ちなみに、佳作は下記のサイトの中の「もうけよう」というアプリです。Apple Developers Program通過後、近日中に公開予定!