5
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

ユアマイスターAdvent Calendar 2019

Day 21

[入門] 10分で開発!名言表示アプリ for Apple Watch

Last updated at Posted at 2019-12-20

 この記事は 、ユアマイスター Advent Calendar 2019 の21日目の記事です。

 こんにちは!ユアマイスターでエンジニアインターンをしている土佐鰹です。
 年末にPRIDE、K1などで盛り上がっていた時代から10年飛んで、RIZINが年末の格闘技放送を定例化してきて嬉しい限りでございます。

 弊社には格闘技のように、長く愛されるサービスを作りたいエンジニアがたくさんいます。その中の1人に、息を吐くように名言を生み出す方がおられます。(以降、Fさん)
 そんなFさんが吐き出す名言を忘れたくないと、過去に弊社では全精力をかけて名言を返してくれるSlackBotを作成しました。
スクリーンショット 2019-12-21 0.42.53.png

 しかし、Slackを使うのは仕事モードの時がほとんどですよね。。。
 「遊んでいる時にも時々思い出したいな。。」
 「ジムで自分を追い込んで疲れてる時に癒されたいな。。」
 「エンジニアチームだけずるいな。。」
 (※弊社ではエンジニアチーム以外はSlack以外のツールをメインで使っています)

 そのようなお客様の思いを解決するために、このアプリを作成しました!!

実装

 まず、Xcodeで新しいProjectを作り Watch App を選択します。
スクリーンショット 2019-12-20 23.42.34.png

Inerface.storyboardでAppleWatchのUIを作っています。
今回はsimple is the bestの精神で、LabelButtonのみ追加します。

スクリーンショット 2019-12-20 23.50.06.png

 作成したLabelから controlを押しながらInterfaceControllerにスワイプしていきます。
 するとLabelのNameを設定する画面が出てきますので適当に入力します。今回は名言表示部分なのでmaximumLabelとしました。(Buttonに関しても同様。)
スクリーンショット 2019-12-20 23.55.57.png

 以上の作業を行うと、以下のようなコードがInterfaceController.swiftに追加されています。

@IBOutlet weak var maximLabel: WKInterfaceLabel!

@IBAction func onTapButton() {
}

 このonTapButtonでボタンが押された際の処理を書いていきます。

 まず、classの先頭で以下のコードを追加します。

let maxim_words = [
    "プログラミング言語界のノンシリコンシャンプー",
    "食は質より量",
    "俺の辞書の中にカロリーはない",
    "夕方の12時",
    "もうそろそろグルコサミンの時期かな",
    "1の3乗は1だから"
]

 これは名言の中でも、自分が選び抜いた精鋭たちになります。
 この名言たちから、"技術を追い求めている人なのかな"、"太っているのかな"、"足腰が弱いのかな" 等の想像ができると思います。
 謎に包まれたFさんのベールも少しずつ剥がれてきましたね!!

 そして、onTapButtonの関数でランダムに名言を選んでLabelに表示する処理を書きます。

@IBAction func onTapButton() {
    let maximum_word = self.maxim_words.randomElement()
    maximLabel.setText(maximum_word)
}

これで完成です!!!!!!!!!

View

完成したアプリの起動後画面は以下です。
スクリーンショット 2019-12-21 1.14.50.png

ボタンを押すと次々に名言を吐いてくれます。
スクリーンショット 2019-12-21 0.26.18.png
スクリーンショット 2019-12-21 0.26.32.png

最後に

 これで仕事モードでないOFFの時も名言を思い出すことができます。
 Fさんも自分の名言がみんなに見てもらえて嬉しいことこの上ないはず。

 自分はARKitでARの開発を行なっているのですが、AppleWatchのフレームワークもさほど変わらないことがわかったので、最近買ったAppleWatchで暇があったらアプリを作ってみようかなと思いました。

参考記事

初心者向け】はじめてのApple Watchアプリ

 

5
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?