こういう記事をまさか自分が書くことになるとは想像していませんでしたが、最近、iPhone/iPadアプリ「LinkTouchブラウザー」を作って、App Storeで公開したので、書いてみます。
この手の記事は、それなりにあると思うので、これからアプリを作ろうという人に、何かしら役に立つ記事になれば良いかなと。
ちなみに作ったアプリは、以下の「ブラウザー」アプリです。価格分くらいは、ちょっと便利だと思うので、使ってみてください。
iPhone・iPadアプリ「LinkTouchブラウザー」を作りました。使ってみてください
どんな感じのブラウザかは、以下の動画でどうぞ。
- プログラマーではない私が3か月でiPhone/iPadアプリを作った方法。と今さら作った理由
- 経緯や公開までの流れ
- Goal-listをアプリ化できるか?
- iPad Proを買って
- 初めは、Cordovaなどを検討した
- 作成は1.5〜2か月。公開に約1か月。で、3か月弱
- 作った環境は、Xcode + Swift。iMac、Mac mini
- わたしの技術力について
- Swift、Xcodeの学び方
- 本。iPhoneアプリ開発の本
- Xcodeがまずわからないから
- Swiftについての検索の仕方
- Swiftで苦労したところというか、知ったところ
- Viewを理解する
- Table
- Coredata
- UserDefaluts
- ボタン
- 申請から公開にちょっと苦労した
- 初めてiPhoneアプリを作って思ったこと
プログラマーではない私が3か月でiPhone/iPadアプリを作った方法。と今さら作った理由
経緯や公開までの流れ
まず、どうしてiPhoneアプリを作ろうと思ったかや全体の流れを書いておくと、その後がわかりやすいかと思うので、公開までの流れを簡単に書いておきます。
Goal-listをアプリ化できるか?
昨年、Goal-listという、クラウドアプリを作りました。
目標管理ウェブアプリ「Goal-List」を作りました。シンプルに目標管理ができます
これを、アプリ化するかどうか、できるかどうか迷っていて、何か試しに作ってみたいという気持ちになりました。
iPad Proを買って
また、iPad Pro(2018)を買いまして。
iPad Proの11インチ(2018)、Cellularモデルを購入しました。開封写真。レビュー、感想。購入理由など
Apple Pencilは便利なのですが、ブラウザーが少しいまいちだなと、ブックマークから移動しにくいというのを感じていたので、ちょっと改善できないかなと考えていたんですね。
なので、ブラウザーを作ってみようかなと。
初めは、Cordovaなどを検討した
初めは、Cordovaなどなどを検討しました。Javascriptなどは、それなりにわかるので。
でも、やってみると、やはり実現したいことが、むずかしい。
結局、SwiftなりXcodeがわからないと、アプリを改善しにくいというのも感じました。
なので、Xcode+Swiftで作ってみようと、始めたのが、1月の半ばくらいです。
作成は1.5〜2か月。公開に約1か月。で、3か月弱
2月の終わりぐらいには、完成したので、公開しようとApp Storeに申請したのですが、そこから、約1ヶ月ほど公開までかかりました。
というのは、後述します。
最初、あまりうまく動いていなくて、どうも機能が足りないと思われたらしく。まあ、推測ですが。
作った環境は、Xcode + Swift。iMac、Mac mini
作った環境は、Xcode + Swiftですね。
iMac、Mac miniで作りました。
Mac mini 2018は、価格の割にCPUが速いので、コスパが高いですね。動画とかをやらないなら、悪くない選択肢だと思います。
もちろん、iMacもいいですよね。
わたしの技術力について
ブログを長くやっているので、HTML、CSSは、だいたいわかります。
また、Javascriptも少しわかります。PHPも少し。
でも、独学ですし、いわゆる「プログラミング」というのは、いまいちわかっていないところもあります。
ある意味、本格的?にプログラミング言語を使い始めたのは、Swiftかもしれません。
Swift、Xcodeの学び方
このあたりは、ネットを探すといろいろありますが、わたしの場合は、本とネットで調べたというのが、ほとんどです。
Googleで調べまくりました。これは、もう少し後述します。
あとは、Qiitaや、teratail、StackOverflowなどですね。
teratail【テラテイル】|ITエンジニア特化型Q&Aサイト
Stack Overflow - Where Developers Learn, Share, & Build Careers
あと、AppleのSwiftのドキュメントですね。
Swift | Apple Developer Documentation
だいたい、英語ですけど、Google翻訳などを使えば、まあ、読めなくはないと思います。
本。iPhoneアプリ開発の本
基本的に、この下の2冊ですね。というか、アプリを作る参考よりも、アプリのApp Store申請の際に参考にしたのが大きかったかもしれません。
絶対に挫折しないiPhoneアプリ開発「超」入門 第7版 【Xcode 10 & iOS 12】 完全対応 (Informatics&IDEA)
- 作者: 高橋京介
- 出版社/メーカー: SBクリエイティブ
- 発売日: 2018/11/22
- メディア: 単行本
- この商品を含むブログを見る
作って学ぶ iPhoneアプリの教科書 【Swift4&Xcode 9対応】 ~人工知能アプリを作ってみよう! ~(特典PDF付き)
- 作者: 森巧尚,まつむらまきお
- 出版社/メーカー: マイナビ出版
- 発売日: 2017/12/25
- メディア: 単行本(ソフトカバー)
- この商品を含むブログを見る
基本を学ぶには、とりあえず本を読むのは、わかりやすかったですね。
Xcodeがまずわからないから
Macを使っている人は、それなりに多いというか、ブログをやっているとMacを使っている人は多い感じですが、それでも、Xcodeを使っている人は、そこまで多くはないのではないかなと思います。
このXcodeを使って、アプリを作っていくわけですが、Xcodeがまずわからないんですよね。わかりにくいというか、わかってしまえば、そこまでではないのですけれど、ボタンも多いですし。英語のメニューなどですし。
ここを理解するのに、結構時間がかかったような。
本で学ぶのが手っ取り早い気がします。
あとは、簡単なものを作ってみる。Todoアプリとか。
テスト用に、いろいろ作ってみると、Xcodeも、Swiftもわかってきますね。
Qiitaなどのコードをコピペしてみると、大抵そのまま動かないので、なぜ動かないのか考えながらやってみるのが、勉強になりました。
赤とか黄色のエラーのメッセージが出るので、英語ですが、それをさらにGoogleで調べるとかですね。
Swiftについての検索の仕方
SwiftのGoogleでの検索の仕方は、
「Swift ○○」ですね。
「Swift4 ○○ XX」などもありますよね。
例えば、「Swift coredata」から始めて、「Swift coredata 更新」などです。
英語のサイトも見たいなら、更新をupdateに変えるとかですね。
あとは、メソッド名などで検索ですよね。
Swiftももう5になったようですが、バージョンで違ってくるので、古い記事だと、コピペでは動かないというのがあります。このあたりも苦労するかもしれませんが、まあ、l仕方がないかなあと。
Swiftで苦労したところというか、知ったところ
ここからは、Swiftでよくわからなかったところ、詰まったところをメモ的に書いておきます。
Viewを理解する
まず、Viewに一つの「Controllerがある」というのも、まあ言われてみればそうなのですが、そういったところからViewから理解していきました。
また、Viewのライフサイクル。どうやって表示にいたるのかを理解していないと、あとで苦労します。
というか、ここで苦労しました。
autolayoutというレイアウトがどのタイミングで、制約・Constraintがかかるのかなどを知らないと、 Constraintをかけているのに、うまく表示されないというか、ずれます。
Viewには苦労しました。
例えば、WebViewを違う端末で、どう表示するのかなどですね。
Table
Tableも、わからないとうまくできなかったですね。
Tableがというか、CodeやるのかXcodeのストーリーボードでやるかなどが、始めはわからず、うまく動かなかったのが苦労しました。
Coredata
Coredataは、まだよくわかっていないというか。
SQLiteのラッパーだということらしいのですけど、もう、それなら、SQLiteを使いたいかもと、初めは思いましたね。
便利なところもあるような、不便な感じもあるような。
ここは、もう少し調べたいところです。
UserDefaluts
初めは、UserDefalutsで、データを保存しようかなと考えていたのですが、あまり使い勝手が良くないのと、ブックマークを保存するというのには、向かないかなと思って、Coredataを使っています。
設定の保存などに使っています。ここも、理解すれば簡単というか、わかると思うのですが、わかるまでが大変かもしれません。
ボタン
BarButtonItemにも、ちょっと苦労しました。
BarButtonItemに、長押し機能をつけたかったのですが。
私がわかっていないだけかもしれませんが、どうもつけられないようで。
なので、Buttonをまず作ってから、そのボタンをBarButtonItemのカスタムで配置するという。
そんなの、わからないって。
わかってしまえば、知ってしまえば、どうってことないことかもしれませんが、そんなの知らないです、というのがありましたね。
申請から公開にちょっと苦労した
と、アプリを作るのにも、それなりに苦労したのですが、AppStoreに申請して、公開するまでも、ちょっと苦労しました。
ここでも、本やネットにお世話になりました。
はじめにApp Storeに申請したら、2日ぐらいでレビューになって、すぐに却下になりました(汗)
理由はいまいちわからないのですが、動かないところがあったのと、機能不足だと思われたのではないかなと。
そこで、機能を全部動くようにして、機能不足というか、他にはないブラウザだということを、英語でアピールしました。
英語については、まず日本語で書いて、Google翻訳で英語にするという感じです。
そして、AppStoreに再提出しました。
しかし、なかなかレビューにならず。
初めてのレビューは、比較的早くなるようですが、2度目以降は遅くなる傾向があるようです。
そこで、1週間ほどしてから催促しました。
「app store レビュー 遅い」などでGoogleで検索すると、時間や対応策が見つかると思います。
すると、短い返信がきました。要は、レビューに時間がかかっているので、待ってくれと。
それから、3日後くらいに、レビューになって。
しかし、スクリーンショットに、Appleのサイトを入れていて、それが、Copyrightなのか、権利の問題があるとなって。
ブラウザのスクリーンショットとして、AppStoreはAppleのサイトだから、Appleの公式サイトのホームページを入れたわけですが、それが逆にダメだったとは知らず。
そして、スクリーンショットを、Appleの公式サイトは消して、自分のサイトに置き換えて、再度申請。
それから翌日に、ようやく、App Storeにアプリが公開されました!
初めてiPhoneアプリを作って思ったこと
初めて、iPhone/iPadアプリを作って思ったのは、やはり簡単ではないなということです。
わかってしまえば、できることも、わかるまでが大変ですし、これで動くはずと思ってやってみても、動かなかったりします。
これを、独学でやるのは、なかなか辛いところがありますね。
詰まって、進めなくなった時が辛いです。
ただ、完成するとうれしいですね、やはり。
自分が欲しいと思って作っているものだとなおさらです。
↓ ブックマークから簡単に移動できるので、ちょっとした時短になるブラウザです。
使いやすいと思うので、使ってみてください。