検索
特集

開発者向けiOS 9、WatchOS 2、Swift 2、Xcode 7の新機能と新しいApple Developer Programの参考情報まとめ夏休みに捗る(2/3 ページ)

iOS 9、WatchOS 2、Swift 2、Xcode 7の新機能や、Apple Developer Programについて、その概要とアップルが公開している参考情報をまとめて紹介します。

PC用表示 関連情報
Share
Tweet
LINE
Hatena

Apple Watch向けOSの最新版「WatchOS 2」

 WatchOS 1の場合、Apple Watch用のアプリはApple Watch上で動作するWatchアプリとiPhone上で動作するWatchKit extensionから構成されていました。WatchOS 2では、WatchKit extensionもApple Watch上で動作します。Watchアプリとextensionが共にApple Watch上で動作するので、両者間のやりとりはWatchOS 1のときよりも高速です。また、WatchOS 2用のアプリはユーザーのiPhoneが近くになくても動作するようになりました。

 さらに、WatchOS 2ではサードパーティのアプリでも「Digital Crown」「Taptic Engine」「加速度センサー」などを使用できるようになっており、アプリから利用できる機能が大幅に増えています。

WatchKit for WatchOS 2

 WatchOS 2用のWatchKitで利用できる主な機能は以下の通りです。

  • アイテム選択のためにDigital Crownを使用する
  • オーディオやビデオを再生する
  • マイクを使用して録音する
  • Taptic engineを使用してユーザーにフィードバックを与える
  • HealthKitを使用して心拍数データを取得する
  • 加速度センサーの値を取得する
  • アラートやアクションシートを表示する

ClockKit Framework

 ClockKit FrameworkはWatchKitアプリに関連するcomplicationの管理をサポートします。

 Complicationは時計の文字盤上に表示できる小さなエレメントであり、最新かつ有用な情報を表示するために使用できます。これまでApple Watchユーザーが使用できたのは組み込みのComplicationのみでしたが、WatchOS 2で追加されたClockKitを使用することで、サードパーティのアプリ開発者もComplicationを作成できるようになりました。

Watch Connectivity

 Watch Connectivity Frameworkは「Apple Watch上のWatchKit extension」と「iPhone上のcontaining app」との間の双方向の通信を提供します。デバイス間でのファイルやデータの受け渡しに使用できます。

 また、WatchOS 2はNSURLSessionを使用できます。例えば、Apple WatchからWebサーバーにリクエストを投げて新しいコンテンツを取得できます。

参考資料

iOS/WatchOS/OS Xアプリ開発向けプログラミング言語の最新版「Swift 2」

 SwiftはWWDC 2014で発表された新しいプログラミング言語であり、以下のような特徴を備えています。

  • モダンな言語仕様
  • 安全な設計
  • 高速かつパワフル
  • Playground

 WWDC 2015ではSwift 2が発表されました。この新バージョンの主な変更点は以下の通りです。

  • パフォーマンスの改善
  • 新しい APIの追加
  • 言語機能の追加・改善

OSS(Open Source Software)化

 WWDC 2015の基調講演で、Swiftは2015年末までにOSSとしてリリースする予定であることが発表されました。この発表が行われた瞬間、会場は大きく盛り上がりました。

 OSS化に関して現時点で公表されている情報は以下の通りです。

  • Swiftのソースコードは、OSD(The Open Source Definition)準拠のライセンスで公開予定
  • オープンソースコミュニティからの貢献も積極的に受け入れる方針
  • まずは、OS X、iOS、Linux向けでリリースする予定
  • 公開するソースコードにはSwiftのコンパイラーや標準ライブラリも含む

エラーハンドリング

 Swift 2ではdo-catch文を使用して、エラーの検出と対処する処理を記述することができます。

// do-catch 文を使用したエラーハンドリング
do {
    // エラーを起こしうるメソッドを呼ぶ
    try validateName(name)
 
} catch ValidateNameError.LongLength {
    print("too long")
} catch ValidateNameError.ShortLength {
    print("too short")
} catch _ {
    assert(false)
}

 エラーを投げる可能性がある関数・メソッドは「throws」キーワードとともに定義します。

// 名前(文字列)の長さをチェックするメソッド
func validateName(name: String) throws {
    if name.utf8.count > 10 {
        throw ValidateNameError.LongLength
    } else if name.utf8.count < 4 {
        throw ValidateNameError.ShortLength
    }
}

 Swift 2ではErrorTypeプロトコルに準拠した型を使用してエラーを扱います。

enum ValidateNameError: ErrorType {
    case LongLength
    case ShortLength
}

OSのバージョンごとに処理を分岐

 最新のOSの機能を使いつつ、古いOSをサポートする場合、条件分岐のコードを書く必要が出てきます。Swift 2では「#available条件式」を用いてOSのバージョンごとに処理を分岐させることができます。

let locationManager = CLLocationManager()
if #available(iOS 8.0, *) {
    locationManager.requestWhenInUseAuthorization()
}

文法の改善点

 Swift 2のその他の改善点は以下の通りです。

  • 「do」「guard」「defer」「repeat」文を利用した制御フロー
  • if、while、for-inの条件式でパターンマッチングを使用
  • Protocol extensions

参考資料

Copyright © ITmedia, Inc. All Rights Reserved.

ページトップに戻る