Objective-C
iPhone
Xcode
iOS

iOS 7 の新機能のサンプルコード集『iOS7 Sampler』

More than 3 years have passed since last update.

先週末に開催された『もくもく開発会@鎌倉 #2 by Qiita』にて、 iOS 7 で新たに加えられたAPI の使い方等を勉強しつつ、簡単なサンプルを集めたアプリをつくってGitHubにアップしました。

https://github.com/shu223/iOS7-Sampler

今のところ21個のサンプルが入っています。何か調べた折に随時追加していきます。

以下サンプルのリストです。


Dynamic Behaviors

iOS7では UIView サブクラスに簡単に物理演算を適用することができるようになりました。

本サンプルでは、UIDynamicAnimator, UIGravityBehavior, UICollisionBehavior, UIDynamicItemBehavior を用いて 重力と衝突をシミュレート しています。

関連:UIKit で物理演算エンジンを使用する


Speech Synthesis

AVSpeechSynthesizer, AVSpeechUtterance を用いた音声合成のサンプル。

任意の文字列を iOS が読み上げ てくれます。Macのsayコマンドのようなもの。

関連:フリーの iOS 向け音声認識/音声合成ライブラリ『OpenEars』の使い方


Custom Transition

UIViewControllerAnimatedTransitioning, UIViewControllerTransitioningDelegateを用いた カスタムトランジション (画面遷移)のサンプル。

トランジションエフェクトは下記のOSSを入れています。


HUAnimator

細い線に分解されて遷移するエフェクト。


ZBCustomTransitions

ブロックに分解されガラガラと崩れ落ちて遷移するエフェクト。


3D マップ

MKMapView の camera プロパティ (MKMapCamera という新クラス)を用いた 3D 地図表示 のサンプル。

関連:Google Maps SDK for iOSの導入手順


iBeacon

iBeacon を 2台のiPhone(iPad)同士で試せるようにしたサンプル。

一方をビーコン(Peripheral)、もう一方を監視側(Central)として使用します。


関連

ビーコン的な演出をする


120fps ビデオ録画(SLO-MO)

AVFoundationでスローモーション動画撮影を行うサンプル。iPhone5sでは120fpsでの撮影が可能です。


作例

See the 120fps Slo-Mo video in Vimeo 120fps.


関連

AVFoundationで120fpsスローモーション動画撮影を実装する


笑顔検出

CIDetectorに新たに追加された CIDetectorSmile と、CIFeature に追加されたプロパティ bounds, hasSmile を用いた 笑顔検出 のサンプル。

smile_.png


画像フィルタ

CIFilter に追加されたフィルタのサンプル

下記の画像処理ををピッカーで選択してかけられるようになっています。


  • CILinearToSRGBToneCurve

  • CIPhotoEffectChrome

  • CIPhotoEffectFade

  • CIPhotoEffectInstant

  • CIPhotoEffectMono

  • CIPhotoEffectNoir

  • CIPhotoEffectProcess

  • CIPhotoEffectTonal

  • CIPhotoEffectTransfer

  • CISRGBToneCurveToLinear

  • CIVignetteEffect


Sprite Kit

Sprite Kit の SKView, SKScene, SKSpriteNode, SKActionを用いて キャラのスプライトを生成し、アニメーションさせる サンプル。

ほぼCocos2Dと同じようなAPIです。

spritekit__.png


Map Directions

MKDirections, MKDirectionsResponse, MKPolylineRenderer 等を用いた 経路探索とルートの描画 サンプル。

mapdirection_.png


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コードを読み取るサンプル。

参考:iOS 7でバーコード・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種類 をフォント名と共に確認できます。

関連:iOS 7 で使えるフォント名一覧


ばね風アニメーション

ばね風のタイミングカーブでアニメーションさせることのできるUIViewのメソッドの挙動を確認できるサンプル。

関連:[ばねっぽいアニメーションを実現するUIViewの新メソッド](http://qiita.com/shu223/items/bce33f6ab448c90e4d2b]


UIWebViewのページネーション

UIWebViewの新機能、paginationMode のサンプル。Webページを書籍のように pagination して表示してくれます。

関連:UIWebViewの新機能:UIWebPagination