おはこんばんちは!
ゆるふわSEの「ゆるちょここ」です♪
皆さんはいつかやろうやろうと思っていてじぇんじぇんできていなかったりすることってありますか???
私はありまーす!(スタップ細胞はありますばりに(古いw))
何かというと、、、
それは「iPhoneのアプリ開発」ですっ♪(´・∀・`)w
そー、それはむかし、ふっと「なんかアプリでも作ろうかなぁ(´・∀・`)」と思い立ったが吉日、速攻そのためだけにヨドバシカメラでMacBook Airを衝動買いして、、、
「ゼロから始める異世界生活」ならぬ、「ゼロから始めるiPhoneアプリ開発」と称して、謎に高ぶるテンションでアプリの企画段階から作成過程を備忘がてら公開でもしていこうかなぁとるんるん気分で思っていたものの、、、
なかなかの人生の忙しさに忙殺され(け、決して面倒になったり、忘れてたわけじゃないですよw)、完全なる企画倒れになっていたのですよ(´・ω・`)www
ということで今回は、そんな完全放置だった企画を、重い腰を上げて「えいやっ (/・ω・)/☆彡」とやってみたら、あら不思議。
ほぼiOSアプリ開発未経験状態からだいだい1週間くらいでリリースまでいけちゃいましたので、備忘も兼ねてそのざっくりとした雑感や躓いたとこなどを公開していきたいと思いまーす♪
↓今回公開した初アプリの機能概要や詳細はこちらの記事に書いてますー。
↓興味のある方はご覧あれー!
ブログを書く秘訣は最初の1文字を打鍵すること!
という感じに、たった1文字書けば大抵は1記事書けるという仮説は体感的に検証できているのですが、、、
おんなじよーに、プログラムを書く秘訣もきっとコードの1文字を打鍵することなのかもなーと思ったり?!?!?!w
ということで、ぼちぼち綴っていきましゅのでどーぞよしなにー!!!
1〜3日目:とりま環境整備&参考書読破!
「え?!」
「参考書読むとこから始めんの???Σ(・ω・ノ)ノ!w」
って、思いました?w
そーです!w
そっから(学習含め)です(`・ω・´)シャキーンw
まぁSwiftの文法は2年くらい前の企画構想時にチラリとネットで学習したときにちょっとだけかじってましたが、その時のXCodeはUIパーツをstoryboardに載せて位置や大きさをGUIで自由に変えれる形式だったのに、最近ではSwiftUIでやるのが主流っぽくなってて、「うわなんか知らんうちにスッゲー変わっとるなー(´・ω・`)w」って思ったので、初心者本でとりま学ぶことにしたのですw
ネットの断片的な情報だと基本的なとこを体系的に学ぶのにはあんま適してないですしね。
ということで、早速本屋さんに行って、ぱっと見初心者向けの下記参考書を買いました!!!
その名も、、、
「絶対に挫折しない iPhoneアプリ開発「超」入門 第8版 【Xcode 11 & iOS 13】 完全対応」
ほほー(´・ω・`)
「絶対に挫折しない」だと。。。(´・ω・`)(´・ω・`)(´・ω・`)
あなた「絶対」って言いましたね(`・ω・´)!!!
「絶対」って「絶対」な時しか「絶対」に使っちゃダメなんだからね(`・ω・´)!!!
もし挫折したら責任取ってもらうんだからね(`・ω・´)!!!w
ということで、頭から読み読みしていこうと思ったのも束の間!!!!!
XCodeのバージョンが古いらしく参考書通りに操作できないという問題がいきなり発生!(´・ω・`)w
仕方がないから、XCodeをアップデート(最新の12.5.1へ)しよぉと思ったのも束の間!!!!!(また束の間w)
今度はXCodeをアップデートするには、MacOSのバージョン(10.14.6)が古いらしく、今度はそちらのバージョンアップ(最新の11.4へ)をしてくれとのこと。。。
え?!(´・ω・`)
何これ?!(´・ω・`)
何このめんどくさいバージョンアップの連鎖。
何かのApple側の作戦なの???(´・ω・`)
なんなのー?????(´・ω・`)
と泣き叫んでもしょうがないので、渋々MacOSとXCodeを最新版へバージョンアップし、やっと参考書がはじめれる段階に!
ちなみに、この作業になかなかに時間がかかり1日目終了w
で、参考書を読み読み、記載のプログラムを書き書きしていって、なんか後半の難しそうな部分はきっと未来の自分ならいつの間にか理解できてるだろーと謎に未来の自分に託して先に進み、XCode、SwiftUI、Swiftの使い方などを雰囲気理解して約2日で読了。
うん、1冊読み終えたっていう達成感が重要だからね!w
思考の引っ掛かりは多分作れてるし、あとは適宜ググったり、参考書を参照すればきっと大丈夫っしょ(ゆるっw)
↓思考の引っ掛かりは下記記事参照
ということで、「よーし早速作ってくぞぉ(´・∀・`)v」って感じで4日目に突入♪
4〜5日目:試行錯誤しながら完成!
通常のお仕事だったら、システムの開発って下記1〜7のよーなフェーズを踏んだりしますが、、、
1.企画
2.要件定義
3.設計
4.実装
5.テスト
6.リリース
7.運用、保守
今回初めてかつノリと勢いの日曜大工ならぬ日曜プログラミングなので、下記1〜3の流れで作ってみまんた。
1.こういうの作ろっかなぁと、アプリ名、アプリのコンセプト、大枠の機能(処理)、見た目(UI)を検討し、羅列。
※これが要件定義、設計にあたるかも。
※この際、実現可能性の可否は検討しない。というか作ったことないからできるかどーかわかんないw
※確実に欲しい機能(これがないとアプリのコンセプトが実現不可)と、あったらいいな機能(これがなくてもアプリのコンセプト的には大丈夫だけど、あれば便利だったり見栄えが良くなったりする)の区別はつけとく。
2.見た目の実装、プレビューで稼働確認
3.処理の実装、プレビューとシミュレータで稼働確認し、実機で最終確認
※2、3が実装、テストにあたるかも。
※実装(コーディング)はまず自分の頭だけで考えて、それで無理なら参考書に載ってそうなのは参照、載ってなそうなのはググるという課題解決の流れ。
※今回は「企画〜リリースまでの流れ」を経験しときたいというのが一つの大きな目的としてあるので、コアとなる最小限の機能が実装できていればよしとする。
(実装に時間がかかりそうなあったらいいな機能や見栄えの良いデザインはなくてもよし、その辺は今後のアップデートで追加すればいーんじゃね?!ってことにした)
※致命的なバグ(アプリがクラッシュする、期待される結果が出ない等)じゃなければ、リリースしてもよしとする
(これも今後のアップデートで直せばいーんじゃね?!ってことにした)
以前、RPA自動化ツールを用いた開発のお話をさせていただきましたが、、、
今回は、ウォータフォール開発というよりは、事前知識がないので試行錯誤しながら試作品を作っていく上記記事で話したようなアジャイル開発に近い感じの作り方ですなー。
とまぁ、こんな感じの方針で、ゆるゆると一つずつ、UIと機能を実装していったら2日くらいで実装が完了(´・∀・`)v
ということで、AppStoreに載せるべく、いざリリース作業へ!!!
6〜7日目:記念すべきリリース作業!
といっても、どうやればリリースできるかはじぇんじぇん知らないので(参考書で概要だけは流し見した状態w)、参考書とグーグル先生だけを頼りにあーでもないこーでもないと進めていきます。
XCodeもそうですが、Apple系のツールとかがほぼ英語なのが読み解くのがめんどくちゃい感あったりしましたが、今まで身につけてきたけど忘れている英語力を存分に思い出し、Google翻訳様の力を借りながら必要な英語はなんとか頑張って読んでいきますw
↓ iPhoneアプリ開発は英語を読む機会が多いので、英語力大事!
で、リリースに当たって実施したことは大きく下記3つです!
アイコンの作成、設定♪
アプリをリリースするわけですから、UIの配置と、処理の実装だけじゃなくて、アプリの顔となるであろーアイコン(iPhoneのホーム画面に出てくるあれ)を作成し、設定する必要があります!
これって結構重要な要素で、AppStoreで検索したときにアプリのアイコンって割と最初に目につくので、アプリのアイコンがおしゃれだったら、
「お、なんかおしゃれっぽいしどんなもんか見てみよーかなー(´・∀・`)???」
と、ダウンロードの初動につながるものなんじゃないかなーと思っています。
が!!!
当の私はというとデザインセンスは皆無。。。
普通なら、外部のデザイナーさんへの発注を検討するところですが、今回の大目的はリリースまでの過程を早めに経験することだったので、すごくなくていーからサクッと設定しちゃいたい。
どーする???
よし、自分で超サクッと作るっきゃない!
ということで、作ったのがこのロゴですw
し、しんぷるw
ちなみに制作時間はおよそ「1分」ですwww
MacBookに入ってるNumbersというExcelもどきのアプリを使い(Mac初心者なので、普通はどうやってグラフィック作ったりするのかがわかんないのでとりまw)、四角形を作成。
四角形を青く塗りつぶし。
「瞬速!給与計算」ってアプリ名にしたから、「瞬」と「給」を1文字ずつとりま斜めに置いてみたらいい感じの雰囲気になったから、これでいーや(超適当w)
という感じですねw
文字のフォントもデフォルトですw
多分AppStoreに公開されているアプリのうちアイコンの作成速度で言えば、最速級な気がしますw
ということで、「よし、設定しよー♪」
と思って、アイコン設定画面にいったのも束の間!!!(久しぶりの束の間w)
はにゃ?!(´・ω・`)
これが、XCodeのアイコン設定画面なのですが、よく見ると同じアイコンでもいろんな大きさのアイコンを設定しないといけないっぽい雰囲気。
しかも種類がむちゃくちゃ多い。。。
と、最初はピクセルサイズの変更方法をググりながら、慣れないプレビューとやらのWindowsでいうペイントもどきアプリを使って、サイズを変更していたのですが、なかなかのめんどっちさに途方に暮れていたその時、ある記事が私の目に止まりました。
ぎょ。
ぎょぎょ。
僥倖!!!
App Icon Generatorなるサイトを使えば、なんと1024 * 1024サイズのアイコン画像から、必要なサイズのアイコンを全て自動生成してくれるという神サイトがあーるじゃないですかーーー!!!!!!!
そんなのあるんだったら早く教えてくれればいーのにー(´・ω・`)
(誰にいってるの?!w)
参考書にはのってなかったよー(´・ω・`)。。。
が、結果オーライ!
サクッと、必要なサイズのアイコンを取得し、意気揚々と、次の工程に進んだのでしたー♪
Apple Developer Programへの登録♪
iPhoneアプリをAppStoreに公開するためには、「Apple Developer Program」なるものに登録しないといけないよーと、参考書に書いてあったので、、、
その登録作業をぽちぽちと進めていたのも束の間!!!(またまた束の間w)
登録画面が、先に進まないという問題が発生!(´・ω・`)
(どのフェーズでも問題が発生してる気がw)
ググっても同じ事象の人はいなさそうだし、これじゃー登録できないので、携帯アプリの「Apple Developer」をダウンロードし、そちらから登録を試みる。
(こっからもできるっぽい記事があった)
で、こちらでは無事に登録できて、課金(年間12,800円の支払いが必要)もできたので一安心と思ったのも束の間!!!(また束の間かい・・・w)
当該アプリのアカウント情報に、「このApple IDでは、Apple Developer Appからの登録はご利用いただきません」の文字が。。。
ほえ?!´・ω・`)
「さっき課金できたのに、ご利用できませんってどういうことやねーん!!!」
と、割とどーしよーもなくわかんない状態になったので、Appleのサポートに激おこ(内心)の問い合わせをしたところ、
「処理中なのでとりま最大48時間くらい待ってみてちょ♪」
と言われたので、待ってたら数時間で登録完了できたってお話(´・ω・`)
Apple Developer Programって仕様が頻繁に変わってるのか、手順をググってもみんな違う画面だったりして、なかなかに手探り感満載だったのもあって、ここが一番しんどかった工程ですねw
ふー、約半日はここに費やしましたが、やっと次の工程です!w
App Store Connectへの登録、App Storeへの公開♪
作ったアプリは「App Store Connect」なるサイト経由でAppStoreへ公開するよぉで、こちらのサイトにアプリの概要などの基本情報や、端末のスクリーンショットを登録して、XCodeからビルドしたアプリを登録して、Appleにアプリの審査を依頼します。
これが無事に通ればAppStoreへの公開完了というわけで、参考書にちょいと手順が書いてあったので、それとぐぐりながら、なんとか審査を依頼。
Webの情報だと、結構日数がかかるっぽい雰囲気の記事もありましたが、今回は3時間くらいで公開されてました!
やったねたえちゃん!(ネタw)
公開を終えて♪
ふー、さまざまな困難があったものの1週間ほどで公開までありつけました!
必要最小限の機能のアプリだし、公開までの道のりも全部理解できているわけではなく割と雰囲気で進めたのですが、謎のやり切った感がありますw
一通り経験した感触としては、公開するための各種サイトの登録や設定はややめんどいものの、一度体験してしまえば次回以降は楽になるし、開発に関しての事前準備としては多分この参考書1冊でシンプルな機能のアプリであればググりながらきっと作れて、公開まではいけちゃう。
まぁ、何かを作っていくとわかるのですが、この参考書も超初心者本なので「こういう機能を実装したいなぁ」って思って参照しても、割と記載がないことが多いですw
ただ、基本的なXCodeの使い方とか、SwiftUI、Swiftの使い方や文法などを学べるので、それを土台に作りたいことで都度ググって、都度実装/稼働確認して、一つ一つ機能追加するイメージでぽちぽちと作っていけば、気がつけばそこそこの機能を積んだアプリとともに、いろんなことができるよぉになってるよぉな気がしますw
ブログを書く秘訣は最初の1文字を打鍵すること。
アプリを作る秘訣は最初のコードの1文字を打鍵すること。
という冒頭の仮説を身をもって検証した今日このごろw
これからiPhoneアプリを作ってみたいなぁと思っているけど、今一歩手が出ないなぁって人の参考になれば超幸いですっ(´・∀・`)v
でゎでゎ♪