2015年7月24日金曜日

WWDC2015 開発者として気になるアレコレをおさえよう!

こんにちはみかんです。夏も本格的に始まり、滝汗が止まりません。

もう半月もすればお盆。そしてあっという間に秋が来ます。
iOS9リリースは例年通りであれば今秋になるので、iOS9に向けての試行錯誤がまだでーすという方()はそろそろ取り組みを始めておきたい時期です。

というわけでWWDC2015で発表され、おさえておきたい(と思った)ところをまとめました。

御本家はコチラ。
WWDC2015 Videos     iOS 9.0    iOS 8.3 to iOS 9.0 API Diffs

Keynote等の解説のくだりは色々な記事が出ているので割愛します。

StackView

縦または横方向にViewを整列させられるViewです。



Constraints地獄から脱出できるアメージングなViewだよ!とAppleの人は言っていたような気がします。使い方はちょっと癖がありましたが、確かにアメージングでした。
AndroidのLinearLayoutみたいなもんですね。今更感がありますが、すごく嬉しいです。
大変残念というか当たり前の話なのですが、iOS9専用らしいです。
iOS8はおろかiOS7も切りづらいところあるので、現行のプロダクトに反映させるのはだいぶ先の話になってしまいますね。


Multitasking
特定のiPadで、なんとアプリが同時に2つ使えるようになります!これでゲームの攻略情報開きながらゲームが出来ますね!LINEとかでチャットしながらゲームが出来ますね!・・・とまぁ実際どれだけ便利になるかわかりませんが、問題は開発側です。
iPhone/iPad、さらに縦横だけでも全対応するにはかなりの労力が必要なのですが、さらに追い打ちとばかりに対応が必要なレイアウトパターンが増えます。


これは、Slide Overです。Multitaskingは、画面の右端からフリックすると開始し、画像のように縦長のレイアウトになったアプリが表示されます。


次に、SplitViewです。SlideOverの状態から、つまみをぐいっと引っ張るとこの状態になります。注目なのは最初に表示されていたほうのアプリが、3/4のレイアウトになっているということです。



SplitViewは、1/2にもなります。つまりそれだけのレイアウトパターンを用意する必要があるということです。

SizeClassesを駆使して試しにやってみましたが、なかなか大変です。Previewを見ながらなので非力なMacでやっていると更にツライ。何画面もあるアプリだと・・・。
ただ、対応するレイアウトを実装していない場合は、めちゃくちゃなレイアウトでMultitaskingされてしまうわけではなく、単に一覧に出てこないなどの挙動になるようです。
なので必要かどうかを検討した上での対応になるのではないのかと思います。

Getting Started with Multitasking on iPad in iOS 9


StoryBoard References
分割できるようになりました!





StoryBoardの内部に、別のStoryBoardへのリファレンスが設定できるようです。
StoryBoardが巨大になるとチーム開発などでも大変な労力を伴う部分になるので、是非活用していきたいところです。

What's New in Storyboards


Swift2
オープンソースになります。WWDC2015で一番会場が盛り上がったトピックでした。
これで細かい挙動を追っていけるようになるといいですね。




また、Swift2になったことで、Swift1との互換性や、エラーハンドリングなど、新しいAPIも追加されています。
さらにPlaygroundも強化されたようです。




リッチなコメントを付けられるようになったり、インラインで実行結果を確認出来たりなどですね。学習目的の用途に最適なデザインを心がけたとのことです。

What's New in Swift  What's New in Xcode


UI Testing
UI Testingに強力な機能が追加されました。それがUI Recorderです。



UIのテストを書くときは、実際にUIを操作しているかのような動きを指示するために、どこどこのボタンを押して、こっちのスライダーを動かして、下のテキストボックスに"太郎"と入力して・・・みたいなことをコードで記述することになるかと思います。
UI Recorderでは、エディタを開いている状態でおもむろにシミュレータを立ち上げ、その中でアプリを操作するとその操作の通りにエディタにコードが自動で追加されていきます!ラクチンですね!

これは是非動画でご確認ください。
UI Testing in Xcode


Search API
これは簡単に言うと自分のアプリがSafariやSpotlightの検索結果に表示されるようにするものです。





自分のアプリへの導線が追加できるのでこれは是非とも対応したい機能になるかと思います。

Introducing Search APIs


SafariView
WebViewよりもSafariに近いViewが組み込めるようになりました。



進むだとか戻るだとかのUIもくっついてくるようです。他にも色々なメリットがあるようなので、特殊な用途にWebViewを使っていない限りは有効な選択肢になるのではないでしょうか。

Introducing Safari View Controller


Watch OS2
Apple Watchの次バージョンのOSです。大きな変更ポイントとして、Apple Watch上で動作するNativeアプリを作成できるようになったということがあります。iPhone/iPad側のアプリに記載していたロジック部分がAppleWatch自体に移せるようになったという触れ込みです。


Apple Watchで取れる各種センサーにアクセスできたりとかすると、いじりがいがありますね!
普及率がちょっと気になるAppleWatchではありますが、対応しているアプリも数多くあるので対応を検討してみても良いのではと思います。

Introducing WatchKit for watchOS 2


他にもチラホラ気になるトピックがあるので一覧を残しておきます。

Xcode7
・On Demand Resources APIs 
・Battery Log
・Crash Logs
・Code Coverage

iOS9
・省電力モード

watchOS2
・TimeTravelでComplication未来/過去の情報を確認できる機能
・Complicationの開放
・マイクへアクセス可能
・スピーカーへのアクセス
・動画再生
・healthKitへアクセス可能
・加速度計にアクセス可能
・TABTICエンジンへのアクセス可能
・デジタルクランも開放
・Wi-Fiラジオの使用

国際化対応
・NSPersonNameCompomentsFormatter 名前のフォーマッター 
・Right to Left Languages 右から左に読む文化に対応

CloudKit Web Services
AWSのようなもののApple版?
・Full access via JSON
・JS library
・Secure sign in with Apple ID


まとめ

こうして並べてみると、ここに載せてないものも含め数はそれなりにあるのですが、びっくりするような変更や追加はあまり無いような印象です。開発テクニックとして採用すると良さそうなものが大半ですね。大分落ち着いてきたというところでしょうか。新要素としてSearchAPI対応をしたり、やれることが広がったAppleWatchで面白いアプリ作ったりなどは楽しそうです。

ーーーーーーーー

WWDCは自分で撮影したスクリーンショットの公開はダメと厳しいので、本記事ではAppleが公開している動画から取ったキャプチャを使用しています。

2015年6月9日火曜日

WWDC2015直前レポート

こんにちはみかんです。りんごに侵食されています。

やってきましたWWDC!!筆者は朝7時頃に会場に到着し、行列にjoinしました。

会場前


最後尾

場所的にはここ


 恒例のお土産ですが、筆者は前日の早受付で手に入れています。

前日、会場に入るとpassbookが反応。iBeaconでしょうか。

ロゴがお出向え

ジャケットGET
あれ、iTunes カードは?


そんなこんなで会場入り。当日も受付をやっています。


2Fへ。

写真撮れませんでしたが、上がった直後Appleの中の人たちに拍手で迎えられました。


開放的な通路。トイレもありました


フードエリア。毎日ここで食べられるんでしょうか



これが噂のあまーいパン



8時頃。ここで開始されるまで待たされそうです。


現在9時頃。開始まであとわずかです。今年は何が発表されるのか楽しみですね!


2015年5月30日土曜日

Nexus9にM Previewをインストールする方法

1. システムイメージをダウンロード

http://developer.android.com/preview/download.html#images

から volantis-MPZ44Q-preview-d15ad483.tgz をダウンロード

2. イメージを解凍

volantis-MPZ44Q-preview-d15ad483.tgzを解凍します。
解凍後、中にはいっている image-volantis-MPZ44Q.zip をさらにunzipで解凍します。

# unizp image-volantis-MPZ44Q.zip

ファイルは、下記のファイル群があれば準備完了です。flash-all.shは使わず、手動でいきます(4.焼き込みの項目を参照)。


3. SIM UNLOCK

ビルド番号を何回も選択し、デベロッバーモードを有効にします。


開発者向けオプションの項目で、OEMロック解除を有効にします。



コマンドからfastbootでoem unlockをおこないます。

# fastboot oem unlock

4. 焼き込み

# fastboot flash vendor vendor.img 
# fastboot flash recovery recovery.img 
fastboot flash cache cache.img 
# fastboot flash boot boot.img 
# fastboot flash bootloader bootloader-flounder-3.47.0.0125.img
# fastboot flash system system.img
# fastboot reboot


2015年3月26日木曜日

[F8] Messenger Businessの全容



Messenger Platformに加え、Messenger Businessも発表された。Messenger Businessでは、店舗などがユーザとFacebook Messengerを用いてコミュニケーションができるようになる。

まず、WebにFacebookプラグインを組み込む。


プラグインの項目を選択すると、自分かどうかの確認が表示される。


店舗とのメッセージができるように、登録をおこなう。


その後は、店舗とユーザとのやりとりはFacebook Messengerベースでおこなえるようになる。





現在、Messenger Businessは、SDKは公開されていない。現在興味のある店舗オーナーや開発者向けに、情報登録はできるようになっているが、SDKや詳細情報にはアクセスできない状態である。 


こちらも、Webとメッセンジャーの世界を大きく変える門が開く技術だけに、今後の情報公開が待ち望まれる。

[F8]Messenger Platformの全容

今朝、F8でMessenger Platformが公開された。



Messenger Platfromは、Facebook Messenger 6億ユーザにアクセス可能なプラットフォームだ。Messenger Platformでは、提供されるSDKを用いることで、Facebook Messengerとアプリを連携させる事が可能になる。

Facebook Messengerの下のメニューバーには、「・・・」のアイコンが追加され、そこを選択すると、対応するアプリ一覧が表示される。


アプリの一覧から、インストールを選択すると、iTunes AppStoreに飛び、アプリをインストールする事ができるようになる。


Messenger Platformを用いれば、Facebook Messengerに加工静止画や、動画、音楽データなどをアプリから投稿できるよになる。


対応フォーマットは、JPEG,GIF,PNG,WebP, MP4が対応する。対応OSは、AndroidとiOSになる。AndroidとiOSには、SDKが提供される。

日本では、これと同じサービスでデコメやデコメアニメなどのサービスが、今から 7,8年前にローンチされている。デコメやデコメアニメが、スマフォでパワーアップした形で、再びやってきた感じだ。

すでに、サービスをサポートしているアプリが発表になっている。40本近いアプリがすでにサポートを始めたようだ。


Messenger Platformは、iOSとAndroidをサポートする。Androidでは、自分のアプリからIntentで、Facebookアプリに画像を渡す形になっている。

Android SDKから、Facebookメッセンジャーに画像を投稿するには、ローカルに保存されている画像のURIを渡すだけで、Facebook Messengerに投稿できるようになる。







早速、Messenger Platform対応アプリを作成してみた。画像を加工して、Facebook Messengerに投稿するシンプルなアプリだが、下記のような画面遷移で実現する事が可能である。(デザイナーの久保田さんに協力してもらっている)

 



SDKを組み込んだアプリには、SDKでアイコンにFacebook Messenger連携のアイコンが追加される仕組みになっている。


マークザッカーバーグが仕掛けてきたメッセンジャーのオープン化は、まさに数年に1度あるかないかの、大きなビジネスチャンスであると同時に、日本のCPにとっては、絶好の好機が訪れるのではないだろうか。