XCode初心者が自分が欲しいタイマーアプリを作るまでの覚書
はじめに
パンケーキをよく焼きます。
そんなとき、まずは、生地をフライパンに落としてから、上を向いている面にふつふつと穴が空いて一通り熱が通る頃に、フライ返しでひっくり返しますよね。
その後、少し立って裏面もいい焼き色がついたら、お皿にあげます。
私は今の家の環境的に、だいたい表面を焼くときに、2分半、ひっくり返して、30秒を数えると、いい焼き具合に仕上がるなと思っています。
家のコンロは、タイマーがついていますし、スマホのタイマーもあるのですが、どちらもタイマーをいちいちセットするのが面倒です。
パンケーキは、一度に20枚くらい一気に焼きますので、表・裏で2倍とすると40回もタイマーをセットしないといけないのです。
スマホはiPhoneなので、ボタンひとつで繰り返しする機能がありますが、表と裏では違う秒数なので、それもうまく使えません。
これをうまくこなすためには、2つの違う秒数をセットできて、そのセットを繰り返しできる、というタイマーが欲しいのです。
また、別の例を出してみますね。
軽いエキササイズとして踏み台昇降をすることがあるのですが、この時、足を右足から踏み出すと、右足から後ろへ降ります。
でもずっと右足からばかり踏み出していると、筋肉が偏ってついてしまいそうですよね。
なので、しばらく経つと、次は足を入れ替えて、左足から踏み出して、左足から後ろへ降りるようにしています。
この「しばらく」というのも、なんとなくでやっているので、案外、自分が楽な方の足で長く続けている可能性があると思います。
これをきっちりタイマーで測ってくれるようにしたいのです。
そのためには、一定の時間を測って、アラームを鳴らすけれど、それを止めなくても勝手に繰り返ししてくれて、セットした数続けてくれる、というタイマーがあるといいな、と思います。
これを、今持っているiPhoneのアプリとして、作ってみようと思い立ちました。
このゴールに向けて、全くのXCode初心者ですが、初めてみようと思います。
なんとなくルール
1つめ、遠回りしながら、少しずつ進めていきたいな、と思います。
よくわからないながら、作り上げるのは、もしかしたら簡単かもしれないのですが、せっかく特に締め切りもないわけですから、ゆっくりと、「なんだろこれ」と思うものは、思うままに調べてみて、いろんなチュートリアルなんかも挟みながら、楽しく、着実に、身につけていけたらいいなと思います。
2つめ、これを作り上げるまでは、時間がどれだけかかっても、少しずつでも進めていって、次にどんなステップに進むか? 感想、などを自分なりにまとめることを、最後の章を行って閉めることとしたいと思います。
3つめ、普通に考えて、複数設定できてセットで繰り返しができるタイマーアプリなんてものは、誰でもすぐに思いつくものなので、すでにあると思います。
おそらく、大量に。
Appleが審査で通してくれないレベルにたくさんあるかもしれませんね。
それを調べて、インストールするのは簡単ですが、目的は自分で作ってみて、できれば公開までのステップも踏んでみることにあるので、「タイマーアプリ」で検索するのだけは、なしにしたいと思います。
してしまっても、とにかく内容は見ずに、やり過ごします。
それではゆったりまったり初心者iOS開発、やっていきたいと思います。(ぱちぱちぱち)
開発環境
PC:Macbook Air iOS:macOS Big Sur(11.0.1) XCode:12.2 実施期間:2020.12.7〜
まずは操作画面
これがまずわからないと、検索もできないですねw
右下のあいつがいない
これこれ。
チュートリアル記事とかでも大体何も説明なしに、「アイツ」から「ブツ」をどんどんドラッグ&ドロップしているのに、 その「アイツ」がいないと始まらない、というかもうそこでチュートリアル記事に沿って開発していくのもストップしてしまいます。
まさにいい記事を見つけたので、次はこれを読んでみます。
【Xcode】Xcode10からの変更で、右下のアイツがいない - Qiita
↓ 読みました。
「アイツ」は、オブジェクトライブラリ、というそうです。
XCode 9まで操作画面の右下にデフォルトで表示されていたようでした。
他にもメディアライブラリなど、色々なライブラリが表示されていて、タブのようにボタンで切り替えができたみたいです。
そのパートがXCode10以降ではなくなっていて、代替になるものとしては、
Command + Shift + L
で、オブジェクトライブラリの検索窓が開くようになったようでした。
XCode12で試した時のキャプチャが以下。
これで検索して、配置できるということですね。
タイマーアプリを制作するうまく説明してくれているチュートリアル記事
を見つけました!
そのひとつ目の記事がこちら。
iOSアプリ開発:タイマーアプリ(1.タイマーの時間設定) - Qiita
これを初めてみました。
まずは「TimeManager」という名前でファイルを作成して、・・・・あれれ。
「Swift File」と「SwiftUI View」が選べるようになっている。どっちを選んだらいいのでしょうか。
Swiftファイルでひとまずファイルを作ってみると、import文に、 Foundation
というものが入っています。
一方で、SwiftUI Viewファイルの方で新規ファイルを作ると、import文に、 SwiftUI
というものが入っています。
しかも、その下に、
import SwiftUI struct TimeManager: View { var body: some View { Text(/*@START_MENU_TOKEN@*/"Hello, World!"/*@END_MENU_TOKEN@*/) } } struct TimeManager_Previews: PreviewProvider { static var previews: some View { TimeManager() } }
という文が勝手に入っていました。
チュートリアル記事を見ると、import文的には、後者(SwiftUI)が近いようです。
しかしながら、このファイルの違いはなんでしょうか。
検索してみました。
知恵袋で同じ質問をしている人がいました。(2019年10月頃)
Swiftとswiftuiって何が違うのですか? - これからswiftを、勉... - Yahoo!知恵袋
これによると、「Swift Fileは、プログラミング言語で、SwiftUI Viewは、コーディングとレイアウトを一緒くたにしたようなもの」とあります。
この時期がちょうどSwiftUI Viewの新規発表の時期だったようで、まだ日本語のチュートリアルはあまり出ていないとのことでした。
Storyboardというもので、これが発表される前は開発がなされていたようですね。
今はそれから1年ほど経っているので、おそらく日本語のチュートリアルも出ているでしょうが、
この記事の中で紹介されている、Appleの公式チュートリアルをみてみると、40minほどで読めると書いてあるので、
次はこれを読んでみようと思います。