iPhone”街ナビ”アプリ 横浜西洋館散歩2.0を6/25にリリース

2013/06/21

YokohamaSiyohkanSanpo Screenshot

横浜山手の街をミュージアムにします。音声ガイド、プッシュ通知を備えた「横浜西洋館散歩」

アプリレーベルonTheHammockは2012年05月14日、”街ナビ”アプリ「横浜西洋館散歩」をリリースしました。同アプリは横浜市が保存する山手地区の西洋館をガイドするiPhoneアプリとなります。
山手地区は外国人居留地として、開港当時から横浜、そして日本の近代史において重要な意味を持つ町です。今でも異国情緒あふれるこの町には、古くは明治時代に建てられた西洋館が保存公開されています。
「横浜西洋館散歩」はこの山手地区にある西洋館をガイドするアプリです。各西洋館の紹介ページには音声ガイドを設置し、その建物の歴史的背景などを紹介しています。

ぜひ、このアプリを持って横浜山手地区に来てください。
「横浜西洋館散歩」を起動して山手地区を訪れると、アプリが現在地を検知して目的地に近づいたことをお知らせします。
さらに、地図やリスト上には自宅などでは見ることが出来なかった山手地区のレストラン、カフェ、美術館、そしてあまり知られていない観光スポット情報などが表示されます。

通知機能

GPSスイッチをオンにして、横浜山手地区に入るとローカル通知により、山手地区エリアに入ったことをお知らせします。また、各西洋館がある「港の見える丘公園」「元町公園」「山手公園」「イタリア山庭園」に近づくと、通知してその近辺の拡大地図を表示します。さらに各西洋館に訪問するとチェックインの通知を行います。

YokohamaSiyohkanSanpo Screenshot

山手地区情報機能

山手地区エリア外では各西洋館の情報しか閲覧できませんが、山手地区エリアに入ると山手にある美術館やレストラン、カフェ、そしてあまり知られていない観光スポットなどを閲覧できるようになります。また地図には現地限定の情報バッジが表示されます。

YokohamaSiyohkanSanpo Screenshot

音声ガイド機能

各西洋館の情報ページにある音声ガイドボタンをタップすると、音声ガイドプレイヤーが表示されます。再生ボタンをタップすると、情報ページに掲載されている情報を音声で再生します。西洋館や館内の展示物をゆっくり鑑賞しながら、耳でその西洋館の情報を聞くことができます。

YokohamaSiyohkanSanpo Screenshot

スタンプラリー機能

各西洋館に訪問するとチェックイン通知が行われ、訪れた西洋館のスタンプが表示されます。スタンプシートには訪れた西洋館のスタンプが押されます。各西洋館にチェックインすると、その西洋館にちなんだフォトフレームを使用することができます。

YokohamaSiyohkanSanpo Screenshot

フォトフレーム機能

各西洋館にチェックインすると、その西洋館に対応したフォトフレームを使って写真を撮ることができます。フォトフレームは12種類用意されており、そのなかの3つのフォトフレームはチェックインしなくても使用することができます。フォトフレームからは、フレームに対応した撮影、カメラロールに保存している画像の読み出し、またセピアやモノトーン調へ画像を変化させることもできます(フレームや日付スタンプの取り外しも可能です)。フォトフレームを付けた画像はFacebook、Twitter、LINEで投稿することができます。

YokohamaSiyohkanSanpo Screenshot

横浜山手西洋館にちなんだクイズ機能

「情報」タブの「横浜西洋館散歩検定」ボタンをタップすると、クイズで遊ぶことができます。クイズには4択となっており、回答すると正解と解説テキストが表示されます。10問中7問以上正解するとポイントを獲得することができます。クイズの問題は横浜山手地区の西洋館にちなんだものとなっており、遊びながら山手西洋館に関する知識を深めることが出来ます。

YokohamaSiyohkanSanpo Screenshot

Game Centerに対応したポイント機能

横浜山手西洋館散歩は、各西洋館にチェックインすると10ポイント、4択クイズ「横浜西洋館散歩検定」に10問中7問以上正解すると10ポイント、さらにこのアプリからFacebook、Twitter、LINEに投稿すると5ポイント獲得することができます。ポイントは加算されて、そのポイントに応じて「横浜西洋館散歩の達人」ランキングの称号が変わります。またiOSのGame Center機能に対応し「横浜西洋館散歩」ユーザーのポイントランキング(Leaderboard)も確認することができます。獲得したポイントは「情報」タブでチェックすることができます。

YokohamaSiyohkanSanpo Screenshot

横浜山手西洋館の通年イベント & 各種SNS投稿機能

「イベント」タブには横浜山手西洋館の通年イベントを紹介しています。山手西洋館では四季折々のイベントが開催され、各西洋館もそのイベントにちなんだ展示などが行われており、1年を通して楽しむことができます。
その他、「横浜西洋館散歩」バージョン2.0にアップデートして、アプリからFacebook、Twitter、LINEへ投稿できるようになりました。

YokohamaSiyohkanSanpo Screenshot
※Facebook、Twitterへの投稿はiOS6.0以上に対応した機能となります。LINEへの投稿にはLINEアプリをインストールする必要があります。

GPS機能が使えないときは…

横浜西洋館散歩のGPS機能が使用できない時は、iOSの「設定」アイコンをタップし、「プライバシー」メニューの「位置情報サービス」がオンになっているか確認してください。
GPS機能は通常使用時よりもバッテリーを消費してしまうことがあります。横浜西洋館散歩を横浜山手地区で使用しないときはGPSをオフにしておくことをおすすめします。

YokohamaSiyohkanSanpo Screenshot



横浜西洋館散歩 Icon

横浜西洋館散歩
配信:iTunes Store
価格:無料
カテゴリ:旅行

横浜西洋館散歩AppStoreLinkImage


TestFlightでアプリを配布しよう

2012/12/02

TestFlightの使い方をスクリーンショット多めで紹介しました。

title
iPhoneアプリの開発をおこなう上で、開発メンバーとアプリをテストしたり、クライアントに公開前のアプリを確認してもらうのはどうすればいいでしょうか。いちいちテスト端末のあるところに、Xcodeが入ったMacBookを持ってインストールをしてというのは面倒です。iTunesを使ってテスターにインストールしてもらう方法もあるのですが、これも面倒な上に相手にそのやり方を説明するのも面倒で…。このような問題にひじょーに便利なのがTestFlightというサービスです。

TestFlightは開発中のアプリの配布をサポートするサービスです。アプリ開発者はTestFlightにアプリ(IPAファイル)をアップロードします。そうすると通知を受けたテスターは予め登録しているiOS端末から、そのアプリをインストールすることができます。

How It Works

1.TestFlightに登録

まずTestFlight(https://testflightapp.com)にアクセスし、ユーザー登録を行いしょう。管理者の方はDeveloperのスイッチを”オン”にします。

TestFlight

2.Teamを作成しましょう

TestFlight
テストアプリを配布する開発チームを登録します。開発チームはいくつでも作成することができ、後から追加も可能です。なのでプロジェクト単位で作成することも出来ますし、クライアントごとチームを作成することもできます。

3.チームメンバーを加えましょう

TestFlight
開発チームの登録をしたら、TestFlightからチームメンバー(テストアプリを配布したい人)の端末にメールを送ります。

4.チームメンバーにメールが届きます

TestFlight
TestFlightからチームメンバーにメールが届きます。今回はiPad端末を持っているテスター宛に招待メールを送りました。

TestFlight
TestFlightのチームメイト管理画面にはメールを送ったチームメンバーが表示されます。この時はまだチームメイトが「Accept」ボタンを押してないので、Statusは「Pending」となっています。

5.招待をうけたテスターがチームに参加する

TestFlight
招待メールをうけたテスターがメール上の「Accept」ボタンを押すと、TestFlightサイトに移動します。「Accept Invitation」を押してチームに入ってもらいます。

6.管理者にテスターのUDIDが記されたメールが送られる

TestFlight
テスターがiOS端末を使って「Accept」すると、招待を送った管理者にメールが送られてきます。このメールにはテスターの端末識別番号であるUDIDが記述されています。

7.開発者のプロビジョニングポータルにテスト端末を登録

TestFlightでアプリの配布を行うには、配布用にiOS Dev Centerでプロビジョニングファイルを作成しなければいけません。その前に、プロビジョニングポータルでテスト端末の登録を行います。
TestFlight
Provisioning PortalのDevicesを選択し、Add Devicesボタンを押します。テスト端末の名前とUDIDを登録します。
TestFlight

8.プロビジョニングファイルを作成し、開発者のXcodeに登録

開発用のプロビジョニングファイルを作成します。その際にテスト端末が「Devices」に加わっているかどうか確認し、チェックリストにチェックをします。作成したプロビジョニングファイルはダウンロードして、Xcodeに登録します。
TestFlight

Xcodeのプロジェクトファイルを選択し、Build SettingsのCode Signing IdentityをダウンロードしたProvisioning Profileを設定します。

TestFlight

9.配布用のIPAファイルを出力する

XcodeでテストアプリをArchiveします。問題がなければOrganizerが起動しますので、Distributeボタンを押し、「Save for Enterprise or Ad-Hoc Deployment」を選んでIPAファイルを出力します。このIPAファイルがアプリをiOSで動かすファイルとなります。
TestFlight

10.TestFlightにIPAファイルをアップロードする

TestFlight
さて、ようやくTestFlightに戻ってきました。ダッシュボードから「Add a Build」ボタンを押します。アップロード画面に遷移したら、IPAファイルをドロップしてアップロードします。
TestFlight

11.テスターにテストアプリをアップロードしたことを告知する

TestFlight
IPAファイルをアップロードしたら、Permissions画面へと遷移します。ここで通知するテストユーザーを選択し、「Update & Notify」ボタンを押します。このボタンが押されるとユーザーには下のようなメールが送られます。
TestFlight

12.テスターがアプリをインストールする

TestFlight
送られてきたメールにテスターがAcceptをすると、TestFlightへと遷移します。TestFlightにはアップロードされたテストアプリが表示されており、インストールボタンを押すとインストールが行えます。
TestFlight
TestFlightのActivity画面ではテスターがそのアプリをインストールしたかどうか確認することもできます。

最後に…。スムーズにいけば、これでテストアプリが配布されるはずですが、上手くいかないことも多々あります。例えばBundle Identiferがプロビジョニングファイルと合っていなかったり、Code Signingの設定がされてなかったり、これらのミスはなかなか発見しづらいので気をつけましょう。



Rainbow Apps iPhoneアプリマスターコース講座紹介ブログ
講座紹介1:初めてのiOSアプリ
講座紹介2:カウンター
講座紹介3:ドル円換算機
講座紹介4:手拍子アプリ
講座紹介5:クイズアプリ
講座紹介6:ジェスチャーフラッシュ


 

ジェスチャーフラッシュ:RainbowApps iPhoneアプリマスターコース講座紹介6

2012/11/29

06:ジェスチャーフラッシュ

Gesture Flash
RainbowApps iPhoneアプリマスターコースの第6講では、ジェスチャーフラッシュアプリの制作を行います。このアプリはスワイプ、回転、ピンチなどiPhoneのスクリーン上で行うタッチジェスチャーを出題し、ユーザーが実際にそのジェスチャーをしていくゲームです。問題はランダムで30問あり、ユーザーは30のタッチジェスチャーを完了するまでのタイムを競います。アプリ上ではハイスコアが1〜3位まで表示されます。

ジェスチャーフラッシュ

ジェスチャーフラッシュアプリは、第5講で制作したクイズアプリと同じくスタート画面、ゲーム画面、スコア画面で構成されています。画面遷移のためのSegueなどの使い方は第5講と同じです。Storyboardを使って3つのView Controllerを制作し、その上に必要なラベルや画像などを配置します。これはタイムを競うゲームなので、ゲーム画面の上部には経過時間を表示するラベルを設置します。結果画面には30のジェスチャーをクリアした所要時間が表示され、スタート画面には1〜3位までのハイスコアが表示されます。

ハイスコアはiPhoneの電源をオフにしても、アプリが終了しても保存されるものなので、アプリ自体にスコアデータを保存させるNSUserDefaultsを使用します。NSUserDefaultsはint、double、BOOL、NSDataなどの型の変数を使用することができますが、このアプリではハイスコアタイムを記録させるのでdouble型の変数を使用します。ユーザーがゲームを終えると結果画面に遷移し、そのタイムがベスト3に入っていればNSUserDefaultsで記録し、スタート画面では保存されているNSUserDefaultsデータを呼びます。

Gesture Flash

ユーザーがゲーム内で行うジェスチャーは8つです。
ゲーム画面では上の画像をランダムで表示させます。UIGestureRecognizerクラスのメソッドを使用し、ユーザーが画面に表示されたジェスチャーと同じジェスチャーをすれば1問クリアとなります。このアプリではこれを30回繰り返します。

ゲームのプレイ時間を計測するのにはNSTimerを使用します。ゲームスタート時点の時間を取得し、ユーザーが30問目のジェスチャーをクリアして、結果画面に遷移するときの時間が取得できれば経過時間を出すことができます。また画面上のタイマーは0.1秒ごとにラベルの数字を0.1カウントアップさせることで表示させます。

ジェスチャーフラッシュ

スマートフォンアプリは、ユーザーのタッチ操作によって直感的に扱えることが魅力です。このタッチジェスチャーを使いこなすことで、UXの表現も広がるでしょう。また第5講に引き続きゲームアプリを制作しましたが、第6講ではタイマーの扱い方を学びます。タイマーによる制御や進行はゲームアプリの基本となる技術です。

TEXT : 桑村治良(onTheHammock)



Rainbow Apps iPhoneアプリマスターコース講座紹介ブログ
講座紹介1:初めてのiOSアプリ
講座紹介2:カウンター
講座紹介3:ドル円換算機
講座紹介4:手拍子アプリ
講座紹介5:クイズアプリ
講座紹介6:ジェスチャーフラッシュ


 

クイズアプリ:RainbowApps iPhoneアプリマスターコース講座紹介5

2012/11/26

05:クイズアプリ

Counter
RainbowApps iPhoneアプリマスターコースの第5講では、クイズアプリの制作を行います。このアプリはランダムで10問の問題を出題し、ユーザーがそれに○か×で答えるゲームです。スコア画面では正解率と、得点に応じた評価画像が表示されます。
第5講のポイントはStoryboardを使った画面遷移の方法を学ぶことです。このアプリはスタート画面、ゲーム本編、結果画面がそれぞれ3つのViewControllerで管理します。スタート画面に設置されたボタンを押すと、ゲーム画面に遷移し、ユーザーが10問の問題に答えた時点でスコア画面に遷移します。スコア画面に設置されたボタンを押すとスタート画面へと遷移します。

クイズアプリ

上の画像がスタート画面→ゲーム画面→結果画面→スタート画面を繋いだStoryboardとなります。スタートボタンからゲーム画面への遷移はStoryboard上だけで設定できます。SegueでボタンからゲームをコントロールするViewControllerをつなぐだけです。結果画面からスタート画面への遷移もボタンをSegueでボタンからゲームをスタート画面を管理するViewControllerをつなぐだけで行えます。しかしゲーム画面から結果画面へと遷移するためには”ユーザーが問題に10問答える”という条件が必要となります。その遷移設定はStoryboard Segueで遷移のためのIdentifierを設定し、遷移するためのコードを書く必要があります。

この講義では3つのViewControllerクラスと、問題をCSVファイルを読み込み初期化して、ゲーム画面を管理するViewControllerに受け渡す独自クラスを制作します。
スタート画面を管理するViewControllerクラスには何も記述するコードはありません。Storyboard上でラベル、テキストビュー、ボタンを設置し、ゲーム画面の設定までおこなっているからです。

ゲーム画面を管理するViewControllerクラスでは、独自クラスから問題を受け取り可変配列を扱えるNSMutableArrayに格納します。この可変配列を使って、10問のなかで同じ問題を出すことなくランダムに出題する仕組みを作ります。問題が10問出題されたらperformSegueWithIdentifier:メソッドを使って、結果画面へと遷移するコードを書きます。この時にStoryboard上で設定したIdentifierが必要となります。またprepareForSegue:メソッドを使用し、ゲーム画面で取得した正答率を結果画面へと受け渡します。

結果画面を管理するViewControllerでは、正答率をゲームViewControllerから参照するpropertyに対応した変数を宣言し、正答率とその正答率に応じて画像を表示するコードを記述します。

クイズアプリ
この講座ではStoryboarを使った画面遷移と、CSVファイルの読み込み、そしてランダムに問題を取り出すテクニックを学べます。また、このクイズアプリを応用すれば、簡単にオリジナルアプリの作成をすることができるでしょう。Segueの使い方をマスターすることで複数の画面を使ったアプリの制作も行えるようになります。

TEXT : 桑村治良(onTheHammock)

Rainbow Apps iPhoneアプリマスターコース講座紹介ブログ
講座紹介1:初めてのiOSアプリ
講座紹介2:カウンター
講座紹介3:ドル円換算機
講座紹介4:手拍子アプリ
講座紹介5:クイズアプリ
講座紹介6:ジェスチャーフラッシュ


 

遊びながら学べる!英語学習アプリ「ゲームで学ぼう!英単語キッズ」

2012/11/21

英単語キッズ Screenshot

こどもも大人も、みんなでチャレンジ!聴いて、遊んで、英単語を学ぼう!!
楽しく学べる英単語学習ゲーム(無料ダウンロード)

2012年11月30日、キッズアプリ「英単語キッズ」(iOSアプリ)をリーリースします。同アプリはかわいいキャラクターが登場するキッズ向けの英単語学習ゲームです。

「英単語キッズ」は、単語帳に次々と出題される英単語の意味を選択して答えていくシンプルな内容です。1問1問の解答には時間制限があり、時間内に答えを選択しないと間違いとなってしまいます。ゲームは「Easy」「Normal」「Hard」の3モードから成り、 「Easy」モードは出題数30問・1問の解答時間8秒、「Normal」モードは出題数50問・1問の解答時間6秒、 そして「Hard」モードは出題数100問で、1問答えるごとに解答時間が少しずつ短くなっていきます。
英単語学習アプリにゲームの要素を組み込むことによって、お子さんが飽きずに楽しみながら学習が続けられるしくみになっています。「Hard」モードは大人でも高得点をとることは難しく、 親子で楽しく真剣に英単語の学習ができます。

英単語キッズ Screenshot

また、Twitter、Facebookとも連携しており、獲得した点数を投稿することができます。
この機能で投稿すると、”英単語キッズ検定”のグレードが発表され、スコアに応じたメダル画像が添付されます。 「英単語キッズ」はゲームで高得点を目指すことによって、目と耳で自然と英単語を覚えることができ、お子さんの勉強意欲を高めます。

英単語キッズ Screenshot

各単語帳は100単語で構成されており、1つの単語帳を完全にマスターした後に、 新しい単語帳を購入することで、さらに多くの英単語を学ぶことができます。

英単語キッズ Screenshot

英単語キッズの主な機能

【英単語学習】

・日常生活で使う子ども向けの英単語を厳選。
・親しみやすい子どもの音声で英単語を再生。
・問題はランダムに出題されます。
・解答時間にタイムリミットがあるのでスリリングです。

【投稿機能】

・Twitter、Facebookと連携し、得点を投稿できます。
・獲得点数に対応したグレードメダルが添付されます。

【単語帳購入機能】

・アプリ内で新しい英単語帳(価格85円/問題数100問)を購入することが出来ます。
・一度購入した単語帳が使えなくなったときは「リストア」ボタンで単語帳を購入状態に戻すことができます。

英単語キッズ Screenshot



英単語キッズ Icon

iPhone App: 英単語キッズ
配信:iTunes Store
価格:無料
カテゴリ:教育
開発:onTheHammock

英単語キッズ


英単語キッズはレビューメディアやブログでも紹介していただいております。
キッズアプリ.com
http://www.kids-app.com/archives/2001.html
Apply
http://www.iphone-apply.com/2012/12/blog-post.html
Zenbackキーワード
http://zenback.itmedia.co.jp/contents/www.iphone-apply.com/2012/12/blog-post.html
AppMama
http://www.appmama.net/2012/12/eitangokids.html?spref=fb
ふるやまんの算数塾
http://furuyaman.jugem.jp/?eid=1613
Appliv
http://app-liv.jp/570906772/
日刊Appliv
http://nikkan.app-liv.jp/archives/14268

ありがとうございます!


★onTheHammockからクリスマスプレゼント★
抽選でiPad mini、iPhone5ケースが当たる!「英単語キッズ満点キャンペーン!!」

onTheHammockでは「英単語キッズ」のリリースを記念して、iPad mini Wi-Fi 16GB(1名)、オリジナルiPhone 5ケース(5名)が当たるクリスマスプレゼントキャンペーンを実施します。応募方法は簡単ですが、応募条件は簡単ではありません! 高得点目指してがんばろう!!

【応募期間】

2012年11月30日から12月21日 23時59分まで

【応募条件】

【iPad miniプレゼント希望】
①キッズアプリ「英単語キッズ」をプレイして、全問正解の100点を獲得します。
②スコア画面から、TwitterかFacebookにて、「#iPadminiプレゼント」と一文を追加記載して、結果を投稿します。(満点の証であるExpertメダルを添付した状態で投稿してください)


【iPhone5ケースプレゼント希望】
①キッズアプリ「英単語キッズ」をプレイして、90点以上を獲得します。
②スコア画面から、TwitterかFacebookにて、「#iPhone5ケースプレゼント」と一文を追加記載して、結果を投稿します。(90点以上の証であるGRADE1メダルを添付した状態で投稿してください)
※プレイする単語帳は無料の「単語帳1」でも有料(85円)の「単語帳2」「単語帳3」でもかまいません。

【当選発表】

2012年12月24日、onTHeHammockのWebサイト(http://onTheHammock.com)にて発表

【応募上の諸注意】

・Facebookで投稿応募する場合は、投稿のプライバシー設定を”公開”にしてください。
・当選者にはFacebookのメッセージもしくはTwitterの返信にてご連絡させて頂きます。
・当選者の権利は譲渡・換金・変更することはできません。
・なお、賞品のお届け先は日本国内に限らせていただきます。
・お預かりした個人情報は厳重にお取り扱いいたします。
・住所・電話番号などが不明確な場合や住所・電話番号の変更、当選通知のご返答が7日以上いただけない場合など、なんらかの理由により賞品がお届けできない場合は、当選を無効とさせて頂きます。

…………………………….
※子ども向けの学習アプリですが、どなたでも参加可能です♪
※応募回数は、各プレゼントにつき、お一人様1回までとさせて頂きます。
(iPad miniに応募1回 / iPhone5ケースに応募1回 )

iPad miniが当たる!英単語キッズ満点キャンペーン!!11/30スタート★

2012/11/21

 


★onTheHammockからクリスマスプレゼント★

抽選でiPad mini、iPhone5ケースが当たる!「英単語キッズ満点キャンペーン!!」

onTheHammockでは「英単語キッズ」のリリースを記念して、iPad mini Wi-Fi 16GB(1名)、オリジナルiPhone 5ケース(5名)が当たるクリスマスプレゼントキャンペーンを実施します。応募方法は簡単ですが、応募条件は簡単ではありません! 高得点目指してがんばろう!!

【応募期間】

2012年11月30日から12月21日 23時59分まで

【応募条件】

【iPad miniプレゼント希望】
①キッズアプリ「英単語キッズ」をプレイして、全問正解の100点を獲得します。
②スコア画面から、TwitterかFacebookにて、「#iPadminiプレゼント」と一文を追加記載して、結果を投稿します。(満点の証であるExpertメダルを添付した状態で投稿してください)


【iPhone5ケースプレゼント希望】
①キッズアプリ「英単語キッズ」をプレイして、90点以上を獲得します。
②スコア画面から、TwitterかFacebookにて、「#iPhone5ケースプレゼント」と一文を追加記載して、結果を投稿します。(90点以上の証であるGRADE1メダルを添付した状態で投稿してください)
※プレイする単語帳は無料の「単語帳1」でも有料(85円)の「単語帳2」「単語帳3」でもかまいません。

【当選発表】

2012年12月24日、onTHeHammockのWebサイト(http://onTheHammock.com)にて発表

【応募上の諸注意】

・Facebookで投稿応募する場合は、投稿のプライバシー設定を”公開”にしてください。
・当選者にはFacebookのメッセージもしくはTwitterの返信にてご連絡させて頂きます。
・当選者の権利は譲渡・換金・変更することはできません。
・なお、賞品のお届け先は日本国内に限らせていただきます。
・お預かりした個人情報は厳重にお取り扱いいたします。
・住所・電話番号などが不明確な場合や住所・電話番号の変更、当選通知のご返答が7日以上いただけない場合など、なんらかの理由により賞品がお届けできない場合は、当選を無効とさせて頂きます。

…………………………….
※子ども向けの学習アプリですが、どなたでも参加可能です♪
※応募回数は、各プレゼントにつき、お一人様1回までとさせて頂きます。
(iPad miniに応募1回 / iPhone5ケースに応募1回 )


<アプリ紹介>
英単語キッズ

英単語キッズ Screenshot

聴いて、遊んで、英単語を学ぼう!!
楽しく学べる英単語学習ゲーム(無料ダウンロード)

2012年11月30日、キッズアプリ「英単語キッズ」をリーリースします。同アプリはかわいいキャラクターが登場するキッズ向けの英単語学習ゲームです。

「英単語キッズ」は、単語帳に次々と出題される英単語の意味を選択して答えていくシンプルなゲームです。1問1問の解答には時間制限があり、時間内に答えを選択しないと間違いとなってしまいます。ゲームは「Easy」「Normal」「Hard」の3モードから成り、 「Easy」モードは出題数30問・1問の解答時間8秒、「Normal」モードは出題数50問・1問の解答時間6秒、 そして「Hard」モードは出題数100問で、1問答えるごとに解答時間が少しずつ短くなっていきます。
英単語学習アプリにゲームの要素を組み込むことによって、お子さんが飽きずに楽しみながら学習が続けられるしくみになっています。「Hard」モードは大人でも高得点をとることは難しく、 親子で楽しく真剣に英単語の学習ができます。

英単語キッズ Screenshot

また、Twitter、Facebookとも連携しており、獲得した点数を投稿することができます。
この機能で投稿すると、”英単語キッズ検定”のグレードが発表され、スコアに応じたメダル画像が添付されます。 「英単語キッズ」はゲームで高得点を目指すことによって、目と耳で自然と英単語を覚えることができ、お子さんの勉強意欲を高めます。

英単語キッズ Screenshot

各単語帳は100単語で構成されており、1つの単語帳を完全にマスターした後に、 新しい単語帳を購入することで、さらに多くの英単語を学ぶことができます。

英単語キッズ Screenshot

英単語キッズの主な機能

【英単語学習】

・日常生活で使う子ども向けの英単語を厳選。
・親しみやすい子どもの音声で英単語を再生。
・問題はランダムに出題されます。
・解答時間にタイムリミットがあるのでスリリングです。

【投稿機能】

・Twitter、Facebookと連携し、得点を投稿できます。
・獲得点数に対応したグレードメダルが添付されます。

【単語帳購入機能】

・アプリ内で新しい英単語帳(価格85円/問題数100問)を購入することが出来ます。
・一度購入した単語帳が使えなくなったときは「リストア」ボタンで単語帳を購入状態に戻すことができます。

英単語キッズ Screenshot



英単語キッズ Icon

iPhone App: 英単語キッズ
配信:iTunes Store
価格:無料
カテゴリ:教育
開発:onTheHammock

英単語キッズ


手拍子アプリ:RainbowApps iPhoneアプリマスターコース講座紹介4

2012/11/15

04:手拍子アプリ

手拍子

RainbowApps iPhoneアプリマスターコースの第4講では、手拍子アプリの制作を行います。これはPickerというスロットのような選択メニューからカウント数を選び、ボタンを押すとそのカウント数だけ手拍子を繰り返すというものです。アプリとしてはあまり実用性は感じられないかもしれませんが、この講座ではオブジェクト指向プログラミング基礎概念や、クラス、インスタンス、メソッドの概念を学びます。これからObjective-cでアプリ開発をおこなっていく上では重要な講座です。

手拍子

オブジェクト指向型プログラミングを理解するためにこの講座では手拍子サウンドの初期化や再生、リピート処理を担う独自クラスの制作を行います。

オブジェクティブ指向

さて、なぜ独自のクラスを制作する必要があるのでしょうか?
ここで制作するような画面も遷移しないシンプルなアプリであれば、音声ファイルをコントロールする独立したクラスを作成する必要性はないかもしれません。インターフェイスを管理するView Controllerクラスに音声ファイルを再生する処理を書いてもいいと思います。
しかし、インターフェイス画面が切り替わるような複雑なアプリになってくると、各View Controllerクラスでいちいち同じ手順で音声ファイルを再生するためのコードを記述するのは面倒です。また、プログラムを管理する上でも機能を独立させておくほうがメンテナンスや更新を効率的に行えます。
このように目的や機能でクラスを作り、それが関連し合いながら全体を構成するプログラムを作っていくことをオブジェクト指向型プログラミングといいます。

例えば会社などに置き換えるとわかりやすいかもしれません。
個人の範囲で仕事をしていくのなら、個人事業主として営業・制作・販売・経理などを行っていくことができます。
しかし、事業の規模が大きくなってくると、営業部門、制作部門、販売部門、経理部門など機能ごとに分かれた部署が出来ます。もし経理の部署がなく、営業部門、制作部門、販売部門にそれぞれ経理機能を持たせたとしましょう。そうすると個々の経理担当者によって経理機能のクオリティは大きく左右されます。また、各経理担当者が知識やノウハウを共有するのも難しいかもしれません。独立した経理部署があれば、その機能に特化した知識やノウハウが蓄積でき、安定した経理機能を各々の部署に提供できます。

この会社の例えで言うところの部署にあたるのが、オブジェクティブ指向型プログラミングのクラスと呼ばれるものになります。

クラス、インスタンス

今回の手拍子アプリのように、エンジニアが独自のクラスを作成することも可能ですが、Objective-Cには既に知識やノウハウが蓄積された多くのクラスが用意されています。それが、これまでのアプリ制作でも使用してきたUILabelやUIButton、NSStringといったクラスになります。iOSアプリのプログラミングはこうした様々なクラスを利用し、自分でもクラスを制作して行っていきます。

そしてこのクラスを利用して、実際にプログラミングで使用するオブジェクトをインスタンスと呼びます。会社の経理部門でも実際に仕事をするのはその部署のAさんやBさんですよね。同じような作業をしているかもしれませんが、AさんとBさんがやっている仕事は異なります。このようにクラスに属して、個々の働きや役割を持つものがインスタンスとなります。

このインスタンスを使って具体的な操作をしていくことをメソッドと呼びますが、あらかじめObjective-Cに用意されているクラスには、メソッドやプロパティ(インスタンスに付加できる特性)も用意されています。
例えば第3講で使用した- (BOOL)textFieldShouldReturn:(UITextField *)textField;はUITextFieldというクラスに用意された、”キーボードのReturnを押したときに処理をする”というメソッドでした。
この第4講ではUIPickerViewクラスのメソッドを使ってピッカーの設定などを行っていきます。このような用意されたメソッドを使う上でも、Objective-c独特のメソッドの記述方法を理解しておくことは大事なことです。

手拍子

こうしたメソッドにはインスタンスに対しての処理を記述するインスタンスメソッド(-で始めるメソッド)と、クラスに対しての処理を記述するクラスメソッド(+で始まるメソッド)があります。
この講座では音声ファイルを再生するための独自クラスを制作しますが、View Controller上で独自クラスを呼び初期化処理を行うときに+で始まるクラスメソッドを使用します。

フレームワーク

さて、一口に音を再生するといっても、これはすごく大変な処理です。
そのためのプログラミングをイチから組んでいくとなると、膨大な時間が掛かり豊富な知識も必要になります。
そこで利用することになるのがフレームワークであり、音の再生や描画処理など汎用的な機能をまとめて提供しているものとなります。
今回、音を再生するためにはAudioToolBoxというフレームワークを使用しますが、そのためにはプロジェクトメニューからフレームワークの取り込み処理を行う必要があります。
しかし、なぜそのような便利な機能が最初から備わっていないのでしょうか?
今度はパソコンに例えてみましょう。購入したばかりのパソコンには基本的なソフトしかインストールされていません。この基本的な状態からデザイナーはデザインソフトをインストールし、営業マンはOfficeなどのビジネスソフトをインストールしたりして自分に必要な機能を付加していきます。使わないのであれば便利であってもIllustratorやPhotoshopなどのソフトは必要ないですよね。
フレームワークも同じで、Xcodeでプロジェクトを立ち上げたときには必要最小限のフレームワークしか使用されていません。そこから開発していくアプリの必要に応じて様々なフレームワークを取り込んでいきます。
フレームワークの利用はアプリ制作をしていく上でなくてはならないものであり、地図アプリやツイッター・Facebook投稿、さらには広告の設置などにも必要になります。

手拍子

第4講ではオブジェクティブ指向型プログラミングの概念だけでなく、while文やfor文を使った繰り返し処理、そして配列処理などプログラミングを行っていく上で頻繁に使用するテクニックも登場します。制作するアプリは非常にシンプルなものですが、その中身は非常に濃いものです。

繰り返しになりますが、第4講では独自クラスの作成、フレームワークの取り込み、UIPickerViewを利用を通じてObjective-cの基本となるクラス、インスタンス、メソッドの概念を学びます。Objective-cの概念や考え方は複雑であり、簡単に理解できるものではありません。ただ、このアプリマスターコースでアプリ制作を続けていくことによって少しずつ理解を深めていけるはずです。

最後により理解を深めたい方のためにリンクを紹介しておきます。
Objective-cの概念やオブジェクティブ指向型プログラミングについては様々な解説書がありますが、アップル社でも開発者向けのドキュメント(日本語です!!)を用意し、無料で配布しています。
そのものズバリ「Objective-Cの概念」なんてドキュメントもあるのでより理解を深めたい方は読まれることをおすすめします。
また、フレームワークの使い方などが書かれた日本語のプログラミングガイドなども用意されています。
iOS関連日本語ドキュメント https://developer.apple.com/jp/devcenter/ios/library/japanese.html

TEXT : 桑村治良(onTheHammock)

Rainbow Apps iPhoneアプリマスターコース講座紹介ブログ
講座紹介1:初めてのiOSアプリ
講座紹介2:カウンター
講座紹介3:ドル円換算機
講座紹介4:手拍子アプリ
講座紹介5:クイズアプリ
講座紹介6:ジェスチャーフラッシュ


 

ドル円換算機:RainbowApps iPhoneアプリマスターコース講座紹介3

2012/11/11

03:ドル円換算機

Counter

RainbowApps iPhoneアプリマスターコースの第3講では、ドル円換算機アプリの制作を行います。ユーザーがインプットした入力値を計算して出力値を出す、このフローを理解しプログラミングしていくことでメソッドの作り方、使い方などを学ぶことができます。

ドル円換算機アプリは、ユーザーがテキストフィールド(Text Field)に金額を入力し、キーボードの「Return」を押すと換算結果が表示されます。また、セグメンテッドコントロール(Segmented Control)により「ドル→円」換算と「円→ドル」換算の切り替えを行います。

まずStoryBoardでは動的なラベルを4つ配置します。

ドル円換算機

レートを表示するラベルの値はコード上で設定します。このアプリでは80.5円ですが、その時の通貨レートによって任意で変更することができます。
“円”と”ドル”の通貨ラベルは換算の切り替えを行った時に変化します。
結果ラベルには最初は0.00と入力しておきます。

さらにText FieldオブジェクトとSegmented Controlオブジェクトを配置します。

ドル円換算機

第2講座で制作したカウンターアプリは整数を扱うint型の変数を使用しましたが、今回は少数を扱うことができるdouble型の変数を使い換算を行います。

また「ドル→円」換算と「円→ドル」換算の切り替えをbool型の変数を使って、条件設定を行います。例えばbool型変数がTRUEなら「ドル→円」換算、FALSEなら「円→ドル」換算という具合です。この切り替えによりラベルに表示する通貨が変化します。

ドル円換算機

このアプリでは下記の3つのメソッドをコーディングします。
1.「円→ドル」「ドル→円」換算メソッド
2.通貨換算切り替えIBAction型メソッド
3.UITextFieldクラスのメソッド

1.「円→ドル」「ドル→円」換算メソッド

「円→ドル」換算が選ばれているときは、入力された円をレートで割った金額を計算し、その金額を結果ラベルに表示します。
【例】入力値:100(円) レート:1ドル80.5円 計算結果:1.24ドル
【計算式】100(円) / 80.5(レート) = 1.24(ドル)
※プログラム上では割り算の計算式は / (スラッシュ)を使用します。
「ドル→円」が選ばれているときは、入力されたドルにレートを掛けた金額を計算し、その金額を結果ラベルに表示します。
【例】入力値:100(ドル) レート:1ドル80.5円 計算結果:8050円
【計算式】100(ドル) * 80.5(レート) = 8050(円)
※プログラム上では掛け算の計算式は * (アスタリスク)を使用します。

2.通貨換算切り替えIBAction型メソッド

Segmented Controlの切り替えに対して、通貨ラベルを変化させます。また「円→ドル」「ドル→円」換算メソッドを使って、切り替えられた時の換算結果を結果ラベルに表示させます。
UISegmentedControlにはselectedSegmentIndexというプロパティが用意されており、セグメントの切り替えを管理することができます。

3.UITextFieldクラスの通知メソッド

テキストフィールドに金額を入力し、キーボードの「Return」が押されたときに呼ばれる処理です。
これは- (BOOL)textFieldShouldReturn:(UITextField *)textField;というUITextFieldクラスのデリゲート通知を使ったメソッドになります。
ユーザーが数字を入力しReturnを押すと、その数字をdouble型に変換し、「円→ドル」「ドル→円」換算メソッドを呼び出して結果を表示させます。

最後にStoryBoardでViewControllerで宣言したUILabel、UITextField、UISegmentedControlにひも付けします。またIBAction型メソッドもセグメンテッドコントロールにひも付けします。

これでドル円換算機の完成です。

ドル円換算機

この講座のポイントはメソッドの使い方を覚えることです。今回使用したUITextFieldクラスのメソッドのように、用意されたクラスメソッドも多くあるので、その使い方をよく理解しましょう。
iOSに用意された様々なクラスの機能を組み合わせることによってより高度なアプリを制作することができます。

TEXT : 桑村治良(onTheHammock)

Rainbow Apps iPhoneアプリマスターコース講座紹介ブログ
講座紹介1:初めてのiOSアプリ
講座紹介2:カウンター
講座紹介3:ドル円換算機
講座紹介4:手拍子アプリ
講座紹介5:クイズアプリ
講座紹介6:ジェスチャーフラッシュ


 

カウンター:RainbowApps iPhoneアプリマスターコース講座紹介2

2012/11/06

02:カウンター

Counter

RainbowApps iPhoneアプリマスターコースの第2講では、カウンターアプリを制作しながら、変数やインスタンス、UIオブジェクトなどの概念を学びます。また条件式や計算式を使用することによって、アプリを動かす仕組みを理解します。

カウンターアプリは「プラスボタン」を押すと画面上の数字がカウントアップされ、「マイナスボタン」を押すと数字がカウントダウンします。また「リセットボタン」を押すと数字は「0」になります。

Counter

この講座で理解したいポイントは数字をデータとして扱う場合はintやfloat、doubleといった型、文字列を扱う場合はNSString、ラベルはUILabel、ボタンはUIButtonというように、データの型を宣言し、コーディングしていくということです。

基本的なインターフェイス上のアクションメソッドは次の3つです。
1.「プラスボタン」が押されたらint型の変数に1を足します。
2.「マイナスボタン」が押されたらint型の変数から1を引きます。
3.「カウンターボタン」が押されたらint型の変数に0を代入します。

このint型の変数を画面上に表示するには文字列として扱わなくてはいけません。
なのでint型の変数をNSSTring型に変換し、画面上に配置したラベルに表示させます。

StoryBoardではLabelオブジェクトとButtonオブジェクトを3つ配置します。
各ボタンには対応するアクションメソッドを設定し、ラベルにはコード上で宣言しているUILabelをひも付けします。

Counter

以上が基本的なカウンターの仕組みとなりますが、この講座で制作する「カウンター」アプリはマイナスの数字は表示しないという工夫を施しています。
そこでint型の変数が0より大きいときだけ「マイナスボタン」が押されたときのメソッドを実行するという、if文を使った条件を設定します。

条件設定を複雑にすると数字によってラベルの文字の色を変化することも出来ますよ。

Counter

「カウンター」アプリの仕組みはシンプルなものですが、実用的なツールとして使用できるものです。プログラム上でデータを扱う基礎的な概念を理解し計算式や条件式の使い方を学べば、実際に使える簡単なアプリを作ることができます。

TEXT : 桑村治良(onTheHammock)

Rainbow Apps iPhoneアプリマスターコース講座紹介ブログ
講座紹介1:初めてのiOSアプリ
講座紹介2:カウンター
講座紹介3:ドル円換算機
講座紹介4:手拍子アプリ
講座紹介5:クイズアプリ
講座紹介6:ジェスチャーフラッシュ


 

初めてのiOSアプリ:RainbowApps iPhoneアプリマスターコース講座紹介1

2012/11/04

一昨日(2012.11.3)、藤沢でRainbowApps湘南校が開校しました。
その湘南校のiPhoneアプリマスターコースの講師を務めさせていただくことになったので、このブログで講座の内容の紹介をしていきたいと思います。
受講生の皆さん、また今後受講される方の復習・予習のポイントになれば幸いです。

01:My Very First App -初めてのiOSアプリ-

MyFirstApp

RainbowApps iPhoneアプリマスターコースの第1講では、iOSアプリの開発を行っていくために必要なXcodeの基礎的な使い方を学びます。そのために画面上のボタンを押すと表示されている文字が消え、もう一度押すと文字が表れるというシンプルなアプリを制作します。

この講座でのポイントは、下記の3つです。
1.UI設計ツール「StoryBoard」を使った画面設計
2.記述したコードとUIオブジェクトのひも付け
3.アプリの設定

1.UI設計ツール「StoryBoard」を使った画面設計

Xcodeで新規プロジェクトを立ち上げたら、StoryBoardを使って、画像、ボタン、テキストを表示するためのラベルといったオブジェクトを配置していきます。

StoryBoard

2.記述したコードとUIオブジェクトのひも付け

次にUIViewControllerファイルにコードを記述します。
ここではインスタンスの宣言や、ボタンを押したときのアクションとして、if文を使い、”もしラベルが隠れていなかったら、ラベルを隠す”、そうでない場合は”ラベルを隠さない”というメソッドを書きます。
そしてStoryBoard上に配置したオブジェクトに記述したインスタンスとメソッドをひも付けします。

StoryBoard

3.アプリの設定

アイコンやiPhone画面に表示される名前、アプリが縦向き(Portrait)か横向き(Landscape)かを設定します。

MyFirstApp

これで「My Very First App」の完成です。
非常にシンプルですが、このアプリを制作することでXcodeの基礎的な使い方を学ぶことができます。

TEXT : 桑村治良(onTheHammock)

Rainbow Apps iPhoneアプリマスターコース講座紹介ブログ
講座紹介1:初めてのiOSアプリ
講座紹介2:カウンター
講座紹介3:ドル円換算機
講座紹介4:手拍子アプリ
講座紹介5:クイズアプリ
講座紹介6:ジェスチャーフラッシュ