iOS7にどんな新機能があるのかも把握しきれないままベータ期間が終わってしまい、せっかくのメジャーバージョンアップ祭に乗り遅れた感があったので、先週末に開催された『もくもく開発会@鎌倉 #2 by Qiita』にて、 iOS 7 で新たに加えられたAPI の使い方等を勉強しつつ、簡単なサンプルを集めたアプリをつくりました。
ソースコードは GitHub に置いてあります。
https://github.com/shu223/iOS7-Sampler
今のところ21個のサンプルが入っています。何か調べた折に随時追加していきます。
以下サンプルのリストです。
Dynamic Behaviors
iOS7 では UIView サブクラスに簡単に物理演算を適用することができるようになりました。
本サンプルでは、UIDynamicAnimator, UIGravityBehavior, UICollisionBehavior, UIDynamicItemBehavior を用いて 重力と衝突をシミュレート しています。
Speech Synthesis
AVSpeechSynthesizer, AVSpeechUtterance を用いた音声合成のサンプル。
任意の文字列を iOS が読み上げ てくれます。Macのsayコマンドのようなもの。
Custom Transition
UIViewControllerAnimatedTransitioning, UIViewControllerTransitioningDelegateを用いた カスタムトランジション (画面遷移)のサンプル。
トランジションエフェクトは下記のOSSを入れています。
3D マップ
MKMapView の camera プロパティ (MKMapCamera という新クラス)を用いた 3D 地図表示 のサンプル。
iBeacon
iBeacon を 2台のiPhone(iPad)同士で試せるようにしたサンプル。
一方をビーコン(Peripheral)、もう一方を監視側(Central)として使用します。
120fps ビデオ録画(SLO-MO)
AVFoundationでスローモーション動画撮影を行うサンプル。iPhone5sでは120fpsでの撮影が可能です。
笑顔検出
CIDetectorに新たに追加された CIDetectorSmile と、CIFeature に追加されたプロパティ bounds, hasSmile を用いた 笑顔検出 のサンプル。
画像フィルタ
CIFilter に追加されたフィルタのサンプル
下記の画像処理ををピッカーで選択してかけられるようになっています。
- CILinearToSRGBToneCurve
- CIPhotoEffectChrome
- CIPhotoEffectFade
- CIPhotoEffectInstant
- CIPhotoEffectMono
- CIPhotoEffectNoir
- CIPhotoEffectProcess
- CIPhotoEffectTonal
- CIPhotoEffectTransfer
- CISRGBToneCurveToLinear
- CIVignetteEffect
Sprite Kit
Sprite Kit の SKView, SKScene, SKSpriteNode, SKActionを用いて キャラのスプライトを生成し、アニメーションさせる サンプル。
ほぼCocos2Dと同じようなAPIです。
Map Directions
MKDirections, MKDirectionsResponse, MKPolylineRenderer 等を用いた 経路探索とルートの描画 サンプル。
Motion Effects (Parallax)
UIMotionEffect を用いた パララックスエフェクト(視差効果) のサンプル。
Multipeer Connectivity
Multipeer Connectivity Framework で Peer-to-Peer 通信を行うサンプル。P2P通信には Wi-Fi または Bluetooth LE を使用します。
AirDrop / Flickr / Vimeo / ReadingList
新たに追加された UIActivityType (UIActivityTypeAirDrop, UIActivityTypePostToFlickr, UIActivityTypePostToVimeo, UIActivityTypeAddToReadingList)のサンプル。
AirDropはデバイスが対応している必要があり、Flickr, Vimeo は Settings でアカウントを設定している必要があります。
QR Code Reader
新たに追加された `AVMetadataObjectTypeQRCode` を利用してQRコードを読み取るサンプル。
QR Code Generator
CIFilter の CIQRCodeGenerator を用いた QRコード生成 のサンプル。
歩数カウントと移動状態
Core Motion に新たに追加された CMStepCounter と CMMotionActivityManager を用いて、 歩数のカウント と 移動状態(歩いている/走っている/車に乗っている)をトラッキング するサンプルです。
本機能を使用するにはM7コプロセッサが必要なので、2013年10月現在出ているiOSデバイスでは iPhone5sでのみ動作 します。
Static Map Snapshots
MKMapSnapshotOptions, MKMapSnapshotter を用いた 地図のスナップショットを取得する サンプル。
Safari Reading List
新たに追加された Safari Services framework を使用して Safari の Reading List にWebサイトを追加 するサンプル。
(※スクショは地味なので省略しました。)
New Fonts
iOS 7 で新たに追加された全フォント36種類をフォント名と共に確認できます。
ばね風アニメーション
ばね風のタイミングカーブでアニメーションさせることのできるUIViewのメソッドの挙動を確認できるサンプル。
UIWebViewのページネーション
UIWebViewの新機能、paginationMode のサンプル。Webページを書籍のように pagination して表示してくれます。
おわりに
iOSアプリに友達招待機能を追加できる『AppSocially SDK』も iOS 7 サポートしております。
関連:http://d.hatena.ne.jp/shu223/20130906/1378423853