Apple TV用のアプリをリリースしました!あなたの家が美術館になる癒し系浮世絵アプリです。


祝!新世代Apple TV。祝!Apple TV向けApp Store。

ついに新世代のApple TVが発売されました。

なんと今回のApple TVはiPhoneやiPadのようにアプリが使えるようになります!

家にあるテレビでたくさんのアプリを楽しめる。開発者としてもユーザーとしても、じつにワクワクする話です。

Apple TV向けアプリをリリースしました

Apple TVはiPhoneやiPadで使われているiOS9をベースにしたtvOSで動いています。そのため、iPhoneアプリと同じように、Apple TV向けアプリを開発することができます。

これはApple TV向けアプリをつくるしかない!そう思っていくつかアイデアをねっていました。そのうちのひとつが今回リリースした浮世絵アプリです。

浮世絵 テレビで浮世絵を鑑賞しよう

(検索する場合は、Apple TVのアプリ検索画面で『浮世絵』と入力してください)

浮世絵アプリはとてもシンプルな内容です。

アプリを起動すると、ゆったりとしたクラシック音楽とともに、浮世絵を鑑賞することができます。しかも、美術館でのんびり浮世絵を眺めるかのように、自動的に絵が切り替わっていきます。

今回は、歌川広重の『東海道五十三次』と葛飾北斎の『富嶽三十六景』の合計100枚以上の浮世絵を収録しました。今後のアップデートで新しい浮世絵を追加する予定なのでお楽しみに!

追記

アップデートで、写楽の浮世絵を追加しました。

Apple TV用の浮世絵アプリに写楽が登場! | はれときどきくもりZ

iPhoneアプリとApple TVアプリの違いとは?

iPhoneはとてもプライベートなものです。

他人と共有することは(ほとんど)ないし、使うときも(たいてい)ひとりです。

それに対して、テレビはもう少しオープンです。リビングなどに置いてあるので、家族や友人たちと共有します。

また、iPhoneとテレビでは、操作感や画面との距離感が違います。

そのため、ユーザーインターフェースをどうするかすごく悩みました。iPhoneなら文字入力や複数あるボタンから選択するという動作は簡単です。しかし、テレビだとそういった操作はけっこう大変です。ハッキリ言って面倒です。

その結果、『操作が面倒なら自動で動けばいいじゃない』という結論にいたりました。

というわけで、今回リリースした浮世絵アプリはまったく操作する必要がありません。あなたがやらなければいけないことは、アプリを起動するだけです。そうすると、自動的に浮世絵がつぎつぎと表示されていくので、あとはゆったりした気持ちで眺めてください。

謝辞

今回のアプリをつくるにあたっては、以下のサイトのデータを使わせていただきました。

浮世絵著作権フリー作品「東海道五十三次」

クラシック名曲サウンドライブラリー

とても素晴らしいデータをありがとうございます(ぺこり)。

また、Macお宝鑑定団様で、さっそく浮世絵アプリを紹介していただきました。ありがとうございます(ぺこり)

虹色工房、tvOS用浮世絵鑑賞用アプリ「浮世絵 テレビで浮世絵を鑑賞しよう」をリリース | AppleTV App | Macお宝鑑定団 blog(羅針盤)

おわりに

今回の浮世絵アプリもStudio Rainbow一家総出で開発しました。

『企画・デザイン・プログラム』わたし
『デザインアドバイザー』妻
『テストアドバイザー』五歳児
『ツッコミ、癒し』二歳児

Apple TVリリース記念で期間限定無料セールをしています。Apple TVを購入された方はぜひダウンロードして浮世絵の世界を楽しんでください。

つぎはApple TVむけ子ども用アプリをリリースする予定です。特に小さなお子さんがいらっしゃるお家で便利なアプリです。どうぞお楽しみに〜。

それでは、これからも虹色工房(Studio Rainbow)をよろしくお願いします。

晴れた日も、曇った日も、素敵な一日をあなたに。

 

【関連する記事】

 

ぱぱんだっこLINEスタンプをリリースしました! ゆるくて楽しいほのぼのスタンプです。 | はれときどきくもりZ

 

新しいぱぱんだっこでパパも健康になろう! iOS8のヘルスケアアプリに対応しました。 | はれときどきくもりZ

 

隕石ドッカーン爽快アクションを楽しもう!Astrowandererに573オプションがやってきた。 | はれときどきくもりZ

 

アプリガール 〜アプリ開発チェックリスト〜【創作の本棚】 | はれときどきくもりZ

 

SPONSORED LINK

本を出版しました!

あずきちゃんバナー728px

隕石ドッカーン爽快アクションを楽しもう!Astrowandererに573オプションがやってきた。


Astrowanderer
カテゴリ: ゲーム, アーケード, アクション, エンターテインメント
価格: 無料(記事掲載時)

伝説の573オプション復活

『操作は簡単、難易度は劇ムズ』の新感覚ふわふわアクションゲームAstrowandererをアップデートしました。

今回の目玉はなんといっても『573オプション』です!

そうです。あの伝説のシューティングゲーム『グラ◯ィウス』に登場したオプション(みたいなもの)です。

『573オプション』は主人公の宇宙飛行士ハルの動きと連動して、ハルのまわりをくるくるとまわります。そして、エアーボールやアイテムボールにあたると、あたったボールをとることができます。

さらにさらに、なんと隕石にあたると隕石を破壊します!

いままではワープモードでしか隕石を破壊できませんでしたが、これからはオプションでも隕石を破壊できます。

『グラディ◯ス』もびっくりの心づよい味方『573オプション』をうまくあやつって、バリバリ隕石を破壊しちゃってください。

こちらに573オプションを装備してる動画があるので、ぜひご覧ください

おっと、もうひとつ大切なお知らせがあります。

今回のアップデートでiOS9に対応しました。そのため、iOS7のサポートを終了します。今後はiOS8.1以降でお楽しみください。

これからも楽しいアップデートを追加していきます。気に入っていただけたら、レビューをお願いします!宇宙が舞台だけに星だけでもはげみになります(ぺこり)。

ストーリー紹介

今回も新ストーリーを追加しています。ゲーム本体だけでなくストーリーでも、Astrowandererの世界観をお楽しみください。

「これは……?」

わたしは自分のまわりをただよう青い光の玉を見つめた。

「それは573オプションです、ハル」

ハルナ──わたしの宇宙服に連動している超高性能コンピューター『HAL7000』──が答えた。

「573オプション?」

「はるか昔。太古の宇宙戦争で使われていたと言われる兵器、それが通称『573オプション』です」

「そんな古代の遺物がなぜいまごろ。それにいったいなんの役に立つというん──ハッ!?」

考えごとをしているあいだに、隕石の接近をゆるしてしまった。わたしはとっさにエアーロケットを噴射するが、すでに隕石の射程範囲内にはいっていたようだ。耳元で警告が鳴りひびいている。

「ダメだっ!」

助からないとわかりつつ身体をのばしたその瞬間に、近くで爆発音が聞こえた。閃光かがやく方向へと目をむけると、そこには先ほどの573オプションがただよっていた。 

「いかがですか?」

「いったいなにが起きたんだ……」

「隕石をも破壊する573オプションの性能はいかがですか?」

ハルナが念を押すように言った。まさかあの青い光の玉が隕石を破壊したというのか?

「そうですよ、ハル。太古の戦争では、モアイとも勇敢に戦ったそうです」

「モアイ?なぜ宇宙戦争にモアイが?いや、まあいい。いまはそんな歴史の講釈を聞いている場合ではないからな。いまのわたしにとって大切なのは──」

「あの『573オプションが隕石を破壊する力をもっていること』ですよね」

「ああ、そうだ」

「ついでに言うと、573オプションでエアーの回収もできますよ」

「いたれりつくせりだな。じつに心強い味方だ」

「ただし、ひとつだけ注意点があります」

「なんだい、ハルナ?」

「573オプションは次元のはざまを通ることはできません。つまり──」

「つまり、ワープモードにはいるとさよなら、ということか」

「そのとおり」

「やれやれ。世の中そうは都合よくいかないってことだな」

「そう捨てたものでもありません。少なくとも、選択の自由はあなたの手にあるのですから。ワープをとるか、573オプションをとるか」

「そうだな。『たとえ最悪の結果でも、自分で選びとることは最高の幸せだ』という言葉もあるくらいだ」

「その言葉はシナモン博士ですか?」

「いや、わたしがいま考えた」

「ふふふ。 ではわたしもハルに言葉を贈りましょう。『人生とは絶え間ない選択の結果である。すなわち、決断こそ人生だ』」

「それはドラクロワ伯爵か?」

「いえ、わたしがいま考えました」

わたしとハルナは声を出して笑った。

「ハルの旅が最高の結末をむかえるように祈りましょう」

「ありがとう、ハルナ。わたしと一緒に祈ってくれ。決断という神に」

エアーロケットを噴射すると、573オプションが青い光で照らしながらわたしの周りをただよう。

「まるで地球にでもなった気分だ」

そうつぶやくと、わたしの脳裏に太陽の光を受けて輝く地球の姿が浮かんだ。なんとしてもたどり着かなくては。

決意を新たにすると、わたしは遠い地球への旅を再開した。

つづく

それでは、これからも虹色工房(Studio Rainbow)をよろしくお願いします。

晴れた日も、曇った日も、素敵な一日をあなたに。

Astrowanderer
カテゴリ: ゲーム, アーケード, アクション, エンターテインメント
価格: 無料(記事掲載時)

 

【関連する記事】

 

ぱぱんだっこLINEスタンプをリリースしました! ゆるくて楽しいほのぼのスタンプです。 | はれときどきくもりZ

 

新しいぱぱんだっこでパパも健康になろう! iOS8のヘルスケアアプリに対応しました。 | はれときどきくもりZ

 

AstrowandererがGameCenterに対応しました!世界中のハルと地球を目指して旅をしよう! | はれときどきくもりZ

 

SPONSORED LINK

本を出版しました!

あずきちゃんバナー728px

アプリガール 〜アプリ開発チェックリスト〜【創作の本棚】

登場人物紹介

小津 丈夫(おづ たけお)

MacとiPhoneが好きな高校生。幼なじみの理沙に誘われて、しぶしぶながらもアプリ開発をはじめた。ひょんなことからアプリガールの凛子を呼び出してしまった。

理沙

丈夫の幼なじみで同じクラスの女の子。開発者である父親の影響で、アプリ開発をはじめた。丈夫と一緒に開発をしたくて、丈夫をアプリ開発の世界へと勧誘している。
丈夫と凛子が仲良くしてるとなぜかイライラしちゃう内気な子。

凛子

髪の色と同じ碧い瞳とツインテールが特徴の自称(?)アプリガール。アプリの世界からやってきて、『こちらの世界』にアプリ開発を広めるのが目的らしい。本人いわくアプリ開発のことならなんでもござれとのこと。ただし、現在は記憶喪失でアプリ開発初心者同然に。
交換留学生の名目で、丈夫の家に生息中。

ACKコーナー 〜忘れものはなんですか?〜

本編

「みんなー、アプリガールの凛子やでー。アプリ開発してる? ほい、つぎ丈夫やで」

「今回は、僕たち三人がアプリ開発するときにちょっと便利な工夫を紹介します。はい、じゃあ理沙つづけて」

「名づけて──」

「「「ACKコーナー!」」」

「なあ、丈夫。ACKってなんやねん?」

「A(アプリ開発に)C(ちょっと便利な)K(工夫を紹介する)の略なんだ」

「なんやー、そういう意味なんか。うちはてっきりA(あんた)C(ちょっと)K(顔かしな)っていう意味かとおもうたわ」

「凛子、それこわいから! 体育館の裏とかに連れていかれるパターンだから!」

「で、今回はどんな工夫を紹介するの?」

「そうそう。今回はね、Xcodeにチェックリストをつくる方法を紹介するんだよ」

「チェックリストってなんやねん?」

「たとえば紙にやることリストを書いて、それぞれのやることの前に□があるの見たことない?」

「そういえば、遠足の持ち物リストがそんなんやったな」

「そうそう、そういうリストのことをチェックリストっていうのよ。タスク管理でよくつかうのって、隣の辰子さんに教えてもらったの」

「辰子さんいうたら、あのチャキチャキした大学生のねえさんやな。ちょっと頼りなさそうな弟のいる」

「六郎くんはたしかに頼りなさそうだけど、優しいのよ」

「ふーん、ほんまかいな?」

「さあさあ、おふたりとも話をもどすよ。理沙、お願い」

「あっ、そうね。えーと、プログラムを書いているといろいろとやることがでてくるよね。『ここのコードをあとでなおさなきゃ』とか、『この変数の値の動きをおいかけよう』とか。でも、ついつい忘れちゃうことない?」

「あー、あるある。コードを見てるとあれこれ浮かんでくるんやけど、いざひとつのことをやりはじめたら夢中になってほかのことはすっかり忘れてしまうねん」

「そんなときにコードのチェックリストをつかうのよ。はい丈夫くん、おねがい」

「やっと僕の出番だね。さあ、ここを見てごらん。ホラ、ここ」

「なんやこのチェックマークは?」

「これが今回のポイントなんだ。その名も『絵文字チェックリスト』!」

「なんやてー!? 絵文字チェックリストやてー!!」

「そう、これはあの伝説のエ・モージンが発明したといわれるものなんだ。そもそも絵文字とは──」

「丈夫くん。ひさしぶりに出番が多いからって悪ノリしすぎよ」

「ガーン」

「あのね、凛子ちゃん。こんなふうに『あとでやること』をコメントにしておいて、絵文字のチェックボックスをつけるの。そうすると、ジャンプバーでみたときにわかりやすいでしょ」

「でも、うちはこっちの緑のチェックボックスのほうが好きやな」

「緑のほうは完了マークにするの。あとでやることを灰色のチェックボックスにして、おわったことは緑にするのよ」

「そうすれば、やらなあかんことともう終わったことがひと目でわかるっちゅうわけやな」

「そういうこと」

「なるほどなあ。メモ帳とかに書いといたら、うっかり見るのわすれたりしてまうけど、こうやってコードに書いといたら忘れようがないもんな」

「まさにそこが今回のACKのポイントよ! さっすが凛子ちゃん」

「説明しよう。ACKとはA(アプリ開発に)C(ちょっと便利な)K(工夫を紹介する)の略なのであーる」

「丈夫。出番ないからってムリヤリわりこまんでもええんやで」

「ショボーン」

「丈夫くん。じゃあ、締めの言葉をおねがいね」

「うっ、うん! それではみなさん──」

「アプリガールの凛子と──」

「アプリ開発大好き理沙と──」

「えーと、えーと、出番が少ない丈夫の」

「自分でいいよったで」

「しっ。凛子ちゃん、締めの途中よ」

「ACKコーナーでした〜」

「まったねー」

 

晴れた日も、曇った日も、素敵な一日をあなたに。

参考文献&アプリ

【関連する記事】

新感覚ふわふわアクションゲームAstrowandererをリリースしました! | はれときどきくもりZ

 

新しいぱぱんだっこでパパも健康になろう! iOS8のヘルスケアアプリに対応しました。 | はれときどきくもりZ

 

ぱぱんだっこLINEスタンプをリリースしました! ゆるくて楽しいほのぼのスタンプです。 | はれときどきくもりZ

 

アプリガール〜Realm編 Part1〜【創作の本棚】 | はれときどきくもりZ

 

Written with MyEditor.

本を出版しました!

あずきちゃんバナー728px

アプリガール 〜Close your keyboard〜【創作の本棚】

登場人物紹介

小津 丈夫(おづ たけお)

MacとiPhoneが好きな高校生。幼なじみの理沙に誘われて、しぶしぶながらもアプリ開発をはじめた。ひょんなことからアプリガールの凛子を呼び出してしまった。

理沙

丈夫の幼なじみで同じクラスの女の子。開発者である父親の影響で、アプリ開発をはじめた。丈夫と一緒に開発をしたくて、丈夫をアプリ開発の世界へと勧誘している。
丈夫と凛子が仲良くしてるとなぜかイライラしちゃう内気な子。

凛子

髪の色と同じ碧い瞳とツインテールが特徴の自称(?)アプリガール。アプリの世界からやってきて、『こちらの世界』にアプリ開発を広めるのが目的らしい。本人いわくアプリ開発のことならなんでもござれとのこと。ただし、現在は記憶喪失でアプリ開発初心者同然に。
交換留学生の名目で、丈夫の家に生息中。

〜Close your keyboard〜

本編

「なあなあ、これみてみぃな!」

 学校からの帰りに、いつものように僕の部屋にあつまってアプリ開発をしていると、凛子がとつぜん大きな声をだした。そして、その手にしっかりとにぎったiPhoneの画面をこちらにむけている。よっぽど興奮しているのか、凛子の碧い瞳はらんらんと輝いている。

「どれどれ」

 僕と理沙は同時に凛子の手にあるiPhoneをのぞきこんだ。

 うわぁ。

 理沙のほっぺが軽くふれて、僕のほおにくずもちのような感触をのこす。女の子のほっぺってなんでこんなにやわらかいんだろう。世界はやわらかさで満ちている!

「おい、丈夫! うちの話を聞いとるんか!?」

「あっ、ああ。聞いてるよ、ふにふに」

「丈夫、じぶんなにふにふに言うてんねん」

「い、いや。なんでもないふに」

「丈夫くん、だいじょうぶ?」

「もちもちもちろんだよ」

「さっきから『ふに』だの『もち』だのおかしなやっちゃ。まあええわ。ほら、このぱぱんだっこアプリのキーボードを見てみぃ。キーボードのうえに『閉じるボタン』がついてるんやで!」

 僕はようやくふにかえって、じゃなくて、すにかえってiPhoneの画面を見る。

「ホントだ! キーボードのうえに『閉じるボタン』がついてる。まえにリターンキーでキーボードを閉じるっていうのをやったけど、こっちのほうがわかりやすくていいかもね」

 僕は話しながら理沙のほうへと顔をむけた。と、さっきのほっぺの感触を思いだして顔が熱くなる。きっと僕のほおはあんいりくずもちになっているに違いない。

「適材適所なのでどっちがいいってことはないけど、これも便利なやりかたよね。まえにパパに教えてもらったことがあるから、いまからやってみましょうか。ん、どうしたの丈夫くん?」

 理沙の瞳がまっすぐに僕の顔を射抜いてくる。

「あ、あんでも(なんでも)ないよ」

 ふにのつぎはあんか。

「そう? それじゃあさっそくはじめましょうか」

 あん、あん(うん、うん)。

「まずは、これからどういうことをするかざっくりと説明するね。テキストフィールドには『inputAccessoryView』っていうプロパティがあるの。そこに、ボタンとボタンをおくためのViewをつくって追加してあげるのよ。そうすると、キーボードのうえにボタンを表示できるの」

「プロパティってなんやったっけ?」

「日本語でいうなら属性ね。設定やデータをもっておくためのファイルボックスみたいな感じかな」

「あー、せやせや。『.hidden』みたいに.(ドット)をつけて書くアレやな」

「そうそう、それのこと。それじゃあ、まずはボタンを置く土台になるUIViewをつくりましょうか」

「UIViewをつくるんやな。それならわかるで。ボタンをのせるためのUIViewちゃんやから『buttonView』っちゅう名前をつけてあげて、インスタンス化してあげるんやんな。このbuttonViewちゃんには、なにか設定するんか?」

「大きさと座標と色くらいでいいわ」

「おっけー。ほんなら、ちょいちょいと大きさと座標と色を設定して……と」

        // 閉じるボタンを配置するUIViewを作成する
        let buttonView: UIView = UIView()
        // ビューの大きさは、画面の横幅と同じで高さは44にする
        let viewWidth: CGFloat = self.view.bounds.size.width
        let viewHeight: CGFloat = 44
        let viewRect: CGRect = CGRectMake(0, 0, viewWidth, viewHeight)
        buttonView.frame = viewRect
        // ビューの背景色を設定する
        buttonView.backgroundColor = UIColor(white: 0.5, alpha: 0.5)

「それからボタンをつくるのよ」

「ほいきた。キーボードを閉じるボタンやからUIButtonちゃんに『closeButton』ちゅう名前をつけてと。closeButtonちゃんの設定は?」

「大きさと座標とボタンのタイトルかな」

「ほんなら、はしのほうが押しやすいから、closeButtunちゃんは右端にいってもらおか。高さはbuttonViewちゃんの真ん中がええかな。閉じるボタンやからタイトルは『Close』にしとこか」

        // 閉じるボタンを作成する
        let closeButton: UIButton = UIButton(type: UIButtonType.System)
        // ボタンの大きさは、横幅が60で高さは30にする
        let buttonWidth: CGFloat = 60
        let buttonHeight: CGFloat = 30
        let buttonRect: CGRect = CGRectMake(0, 0, buttonWidth, buttonHeight)
        closeButton.bounds = buttonRect
        // ボタンのx座標は画面の右端からマージンを引いた位置、y座標はボタンビューの真ん中にする
        let buttonMargin: CGFloat = 10
        let buttonCenterX = self.view.bounds.size.width - buttonMargin - buttonWidth / 2
        let buttonCenterY = buttonView.bounds.size.height / 2
        let buttonCenter = CGPointMake(buttonCenterX, buttonCenterY)
        closeButton.center = buttonCenter
        // ボタンのタイトルを『Close』にする
        closeButton.setTitle("Close", forState: UIControlState.Normal)

「ボタンをタップしたときのアクションも追加しといてね」

「せやせや。ボタン押されたらキーボードを閉じるようにせなあかんもんな」

        // 閉じるボタンを押したときに呼ばれる動作を設定する
        closeButton.addTarget(self, action: "closeKeyboard", forControlEvents: UIControlEvents.TouchUpInside)

    // キーボードを閉じるメソッド
    func closeKeyboard(){
        self.inputTextField.resignFirstResponder()
    }

「キーボードを閉じるメソッドのなかに書いてる『self.inputTextField.resignFirstResponder()』の意味は、アプリガール 〜キーボードをシュッとねPart2〜を見てね」

「なんや、理沙。誰としゃべっとんねん?」

「ううん、なんでもないの♡。最後に、そのボタンをビューに追加して、テキストフィールドのプロパティ『inputAccessoryView』にビューをいれてあげるのよ」

「追加するっちゅうことは、addSubViewやな。buttonViewちゃんにcloseButtonちゃんをaddSubViewして、と。ほんで、buttonViewちゃんをinputAccessoryViewに代入したらええんやな」

        // 閉じるボタンをViewに追加する
        buttonView.addSubview(closeButton)
       
        // 閉じるボタンつきのViewをUITextFieldのinputAccessoryViewに設定する
        self.inputTextField.inputAccessoryView = buttonView

「はい、これで完成よ」

「やったー! ほんならさっそく実行すんで。ポチッとな。おっ、ほらほら丈夫、見たってや! キーボードに閉じるボタンがついてるで!」

「す、すごいね」

「なんや、丈夫。ノリがイマイチやな」

「そ、そんなことないよ(ずっと出番がなかったからウトウトしてたなんて言えない)」

「そんならええけど……」

 凛子がややシブい顔をしているので、僕は満面の笑みをうかべて言う。

「凛子の世界がまたひとつ広がったね」

「おっ、おう。せ、せやな」

「ん? どうしたの凛子。顔が赤いよ」

「なんでもないんや、丈夫。なんでもないんや……」

「そう? それならいいけど」

 理沙のほうから突き刺さる視線を感じたので、僕はいそいで顔をそらして瞳をとじる。そして、まぶたの裏にうかんだ凛子のもぎたてりんごのようにかがやく赤い顔をいつまでもながめていた。

〜Close your eyes〜おしまい

「Objective-C版のコードは
GitHubのここに置いてるよ」

「Swift 2.0版は
GitHubのここだからね」

 

晴れた日も、曇った日も、素敵な一日をあなたに。

参考文献&アプリ

ぱぱんだっこ〜赤ちゃんとのスキンシップを楽しむアプリ。パパと一緒に体重を測って子どもの成長を実感しよう〜
カテゴリ: メディカル, ヘルスケア/フィットネス
価格: ¥240(記事掲載時)

【関連する記事】

新感覚ふわふわアクションゲームAstrowandererをリリースしました! | はれときどきくもりZ

 

新しいぱぱんだっこでパパも健康になろう! iOS8のヘルスケアアプリに対応しました。 | はれときどきくもりZ

 

ぱぱんだっこLINEスタンプをリリースしました! ゆるくて楽しいほのぼのスタンプです。 | はれときどきくもりZ

 

アプリガール〜Realm編 Part1〜【創作の本棚】 | はれときどきくもりZ

 

Written with MyEditor.

本を出版しました!

あずきちゃんバナー728px

アプリガール〜Realm編 Part1〜【創作の本棚】

まえがき〜Googleの20%ルールを導入しました〜

 わたしがフリーで仕事をしはじめて感じたことは、ついつい目の前の仕事やその周辺くらいしか目に入らなくなってしまうなー、ということです(あくまで個人の感想です)。もちろん目の前の仕事をキチンとやることは大事です。しかし、このままでは広がりがなくなって、やがてはしりすぼみになってしまうと危機感をおぼえました。

 そこで、Googleの20%ルールを真似して、『一週間に一日はメインとなる仕事以外の勉強をする』というルールを導入してみました。

 ちなみにGoogleの20%ルールとは

Google には、20% の時間は自分の好きなことを自由にやっていてもよい、という「20%ルール」があります。 Google News や AdSense などの製品はこの 20%ルールが元となって生まれています。

引用元『Google Japan Blog: 20%ルールの話』

 というものです。

Realmの勉強はじめました

 Realmとは、Objective-CやSwiftやJavaで使えるデータベースです。

Realm is a mobile database: a replacement for SQLite & Core Data

 まだ具体化していませんが、いずれはアプリにデータベースを組み込みたいなあと考えていたところ、アプリクリエイター道場アプリ開発キャンプでお世話になっているあきおさん(@akio0911)にRealmを教えてもらったので勉強することにしました。

 まえがきが長くなりましたが、そんな理由(ワケ)でアプリガールRealm編がはじまります。丈夫(たけお)たちといっしょにRealmを楽しく学んでいただければ幸いです。

登場人物紹介

小津 丈夫(おづ たけお)

 MacとiPhoneが好きな高校生。幼なじみの理沙に誘われて、しぶしぶながらもアプリ開発をはじめた。ひょんなことからアプリガールの凛子を呼び出してしまった。

理沙(りさ)

 丈夫の幼なじみで同じクラスの女の子。開発者である父親の影響で、アプリ開発をはじめた。丈夫と一緒に開発をしたくて、丈夫をアプリ開発の世界へと勧誘している。
 丈夫と凛子が仲良くしてるとなぜかイライラしちゃう内気な子。

凛子(りんこ)

 髪の色と同じ碧い瞳とツインテールが特徴の自称(?)アプリガール。アプリの世界からやってきて、『こちらの世界』にアプリ開発を広めるのが目的らしい。本人いわくアプリ開発のことならなんでもござれとのこと。ただし、現在は記憶喪失でアプリ開発初心者同然に。
 交換留学生の名目で、丈夫の家に生息中。

本編

Realmの設定方法(Swift編)

「アプリのデータを保存するんは、どういうやり方がええんやろか?」

 僕(やあ、小津丈夫だよ。一応この物語の主人公なんだ)と理沙がMacにむかっていると、凛子がトレードマークの碧いツインテールをゆらしながらたずねた。

「そうねー、少量ならNSUserDefaultsかなあ……」

 Macの画面をみていた理沙は、いったん言葉をきって凛子のほうへとふりむいた。理沙の髪がふわりとゆれて、三台のMacの熱気であたたまった僕の部屋にさわやかな香りがただよう。ふじりんごのような甘い香りにのせて、理沙がたずねる。

「ねえ、凛子ちゃん。いったいどういうデータを保存するの? そして、それをどんなふうに使いたいの?」

「うち、日記アプリをつくりたいねん。『こっち』の世界にきてからというものいろんなことがおこるし、写真がたまってきたもんやから日記をつけようおもてな。ほんで、その日のできごとに『おもろい』とか『うれしい』みたいなタグをつけて分類して、あとから見かえしたらええと思わへん?」

「ということは、日記の文章や写真にタグをつけて保存して、あとからタグで検索して見たいのね?」

「せやせや、そのとおりや! さすが理沙は頭の回転が速いな」

「そんなことないわ。凛子ちゃんこそすごく記憶力がいいじゃない。アプリのことパパッと答えちゃうし」

「なんたってうちはアプリガールやからな。まあ、誰かさんのせいで記憶喪失やから、答えられんこともようさんあるけどな」

 凛子は、ジロリと音が聞こえそうな視線をこちらにおくってくる。僕のせいで記憶喪失になった凛子に申しわけなさを感じると同時に、骨まで灼かれそうなあつい視線を感じながら考える。そうか、いまならイカロスの気持ちがわかる。たとえロウで固めた羽がとけておちようとも、身体が灼きつくされようとも、それでも太陽にむかったイカロスの気持ちが。太陽にはあらがいがたい魅力があるんだ。だから自分をとめることができない。

「丈夫くん!」

 ハッ、僕は理沙の声でわれにかえった。また凛子に見とれていたのか……。ちらりと理沙のほうを向くと、さわやかな香りがするはずの髪が逆立っている。なるほど、これが『怒髪天を衝く』というものなのか。って、冷静に分析してる場合じゃない!

「そういえば、理沙のお父さんがいいものあるって言ってなかったっけ?ほら、データを保存するときに使えるやつ」

「ああ、Realm(レルム)のこと? そうか、凛子ちゃん、Realmなら凛子ちゃんの目的にピッタリかも」

「Realmってなんや?」

「Realmっていうのは、データベースなの。XcodeにはもともとCoreDataっていうデータベース機能があるでしょ。それと同じような機能をもっと簡単に提供してくれるのがRealmなの」

「CoreDataならなんとなくおぼえてるような……。そうか、いまはRealmゆうデータベースがあるんやな。ほんならアプリガールとしては、それに挑戦してみなあかんな」

 ほっ、理沙の気がそれてなんとか元にもどったみたい。僕はそのまま場をもりあげるためになるべく明るい声で言う。

「じゃあさ、せっかくだからみんなでRealmを使いながら勉強してみようよ」

「せやせや、みんなでやろうや」

「わたしもパパからちょっと教えてもらっただけだからくわしくないし、ちょうどいいわね。それなら、まずはRealmのホームページを見ながらXcodeにインストールしてみましょう」

「よっしゃ、Realmで検索や。えーっと、あ、これやな」

Realm is a mobile database: a replacement for SQLite & Core Data

「まずはここから必要なデータをダウンロードするのよ。今回はSwiftをつかうから、『Swift』を選んでね」

「どれどれ。おっ、Realmフォルダができてるやん」

「つぎはね、RealmフォルダのなかにあるiOSフォルダを開いて、そのなかのSwift-1.2フォルダを開いてね」

「そのなかにあるふたつのファイル『Realm.framework』と『RealmSwift.framework』をXcodeのプロジェクトの『Embedded Frameworks』にドラッグ&ドロップするの」

「ほうほう、こいつらやな。よいしょっと。理沙、なんかメッセージがでたで!」

「それはね、ふたつのファイルをこのプロジェクトに追加してもいい? って聞いてるの。『Copy items if needed』にチェックをいれて『Finish』ボタンを押してね」

「ポチッとな」

 凛子ってときどきネタが古いんだよな。ホントに『向こう』の世界からやってきたんだろうか? そもそも何歳なんだ?

「おい丈夫! 自分、いまうちのワルクチ考えとったやろ?」

「いやいやいやいや。まさかそんなワケないよ(なんでわかったんだろ?)」

「ほんまか〜? あやしいなあ」

 凛子はずいっと体をよせると、僕の顔をのぞきこんだ。その碧い瞳に僕のすがたが映ると、僕はまるで凛子の世界に閉じこめられたような錯覚をおぼえる。逃れられないおりのなかで、しっぽをまるめてふるえるリスのように……。

「まあええわ。ほんで理沙、つぎはどうするんや?」

 おっと、いけない。よそ見してたら、また理沙に怒られてしまう。

「つぎはこのプロジェクトの設定をするのよ。ねー、た・け・お・く・ん!」

 ああっ、やっぱり怒ってる。なんで理沙はああいうときにいつも怒るんだろう?

「設定って、なにするんや?」

「まずは、ここにパスをいれるの」

「えっと、画面左のナビゲータエリアでプロジェクト名が書いてるとこをクリックしてと。ほんで、『TARGETS』のなかにある白いブロックみたいなユニットテストのターゲットを選択してと」

「それから、『Build Settings』タブのなかにある『Search Paths』の『Framework Search Paths』に、さっき追加した『RealmSwift.framework』の親フォルダのパスを追加するの」

「親フォルダのパス、パス、ぱーす、ゆうことは、『$(PROJECT_DIR)』でええんやな。ほんでつぎは?」

「『TARGETS』のなかにあるもうひとつのアイコンがあるでしょ」

「鉛筆とペンとさしがAみたいになってるやつのことか?」

「そうそう。そのアプリケーションのターゲットアイコンを選択して、『Build Phases』タブで『+』ボタンを押すの。それから『New Run Script Phase』を選んで、つぎのスクリプトをそのままコピペしてね」

bash “${BUILTPRODUCTSDIR}/${FRAMEWORKSFOLDERPATH}/Realm.framework/strip-frameworks.sh”

「はい、これでおしまいよ」

「よっしゃあ! ほんならさっそくRealmをつかってみようやないか」

「まって、凛子ちゃん!」

「なんや、理沙? なにか問題でもおこったんか!?」

「紙面のつごうで今回はここまでなの。Realmをつかうのはまた次回ね」

「紙面って、これブログやん!」

「シッ! 作者のひとがそのネタをつかいたかっただけなのよ。そこはつっこまないであげて」

「そっ、そうか。ほんならしゃーないな。じゃあ、みなさん。また次回よろしゅうな」

「さようなら〜」

「僕のことも忘れないでね〜」

「それではまた次回お会いしましょう」

 

晴れた日も、曇った日も、素敵な一日をあなたに。

参考文献&アプリ

【関連する記事】

新感覚ふわふわアクションゲームAstrowandererをリリースしました! | はれときどきくもりZ

 

新しいぱぱんだっこでパパも健康になろう! iOS8のヘルスケアアプリに対応しました。 | はれときどきくもりZ

 

ぱぱんだっこLINEスタンプをリリースしました! ゆるくて楽しいほのぼのスタンプです。 | はれときどきくもりZ

 

アプリガール 〜キーボードをシュッとねPart1〜【創作の本棚】 | はれときどきくもりZ

 

Written with MyEditor.

本を出版しました!

あずきちゃんバナー728px