こんにちは。
最近自分のiPhone 5sをiOS 8からiOS 10にアップデートしました、mukaiyachiです。
2017年6月5日から9日の間、WWDC17が開催されました。
WWDCはApple主催の開発者向けイベントです。
開催からもうだいぶ日が経ってしまいましたが、最新ハードウェアやMac OSなどAppleが行っていることについて様々発表されたので、今回その中からiOSに関わることを自分の勉強も兼ねてざっくりおさらいします。
ほんとざっくりなので説明が足りない部分があることをご了承願います!
※一部動画はSafariもしくはMicrosoft Edgeを使用しなければ視聴できません。
ちなみにWWDC17はこの動画で開幕しました。
[arve url=”https://www.youtube.com/watch?v=FC0pT9xg1oI&” maxwidth=”560″ /]
目次
(1)Xcode 9
■エディタ部分をパフォーマンス改善のためにすべて書き直した。
・しかもObjective-CからSwiftに書き直した。
■Swift 4サポート。
■テストターゲットの同時起動が可能になった。
■Wireless Debug
・MacにiPhoneなどを接続しなくても開発が可能に。
・ケーブルの長さの制約を受けずデバッグできる。
■ViewController Debug
・ViewControllerのView階層を可視化する機能が強化。
・Debug View Hierarchyよりも視認性がアップ。
■GitHub連携を強化しソース管理が簡単になった。
■詳しくはこちら
『What’s New in Xcode 9』https://developer.apple.com/library/content/documentation/DeveloperTools/Conceptual/WhatsNewXcode/xcode_9/xcode_9.html#//apple_ref/doc/uid/TP40004626
『Clone in Xcode』
https://github.com/blog/2375-clone-in-xcode
■参考動画
『Platforms State of the Union(開発者向けKeynote)』
https://developer.apple.com/videos/play/wwdc2017/102/
『What’s New in Testing』
https://developer.apple.com/videos/play/wwdc2017/409/
『Debugging with Xcode 9』
https://developer.apple.com/videos/play/wwdc2017/404/
(2)iTunes Connect
■自動アップデート用の段階的リリース
段階的リリースにより、自動更新がオンになっているユーザに対して、7日間かけて徐々にバージョンのアップデートがリリースされていく。
■アプリサブタイトル
アプリ名に加え、Appを簡潔に説明する最大30文字のサブタイトルを追加できる。
■Apple Developer ProgramにPromoteフォームが追加
App Storeのフィーチャー枠への掲載依頼が、これまではメールだったが専用フォームから行えるようになった。
■詳しくはこちら
『自動アップデート用の段階的リリースが利用可能になりました。』
https://itunespartner.apple.com/jp/apps/news/31070842
『新しい App Store における新規およびアップデートされた App 情報。』
https://itunespartner.apple.com/jp/apps/news/61604499?sc_cid=ITC-AP-UPDIN
■参考動画
『Apple — WWDC 2017 Keynote(新しいApp Storeの紹介)』
[arve url=”https://www.youtube.com/watch?v=oaqHdULqet0&t=1h17m4s” maxwidth=”560″ parameters=”start=4624″ /]
『What’s New in iTunes Connect』
https://developer.apple.com/videos/play/wwdc2017/302/
『Introducing the New App Store』
https://developer.apple.com/videos/play/wwdc2017/301/
(3)HEIF & HEVC
■写真や動画のフォーマットが変更。
・写真
JPEG⇒HEIF(ヒーフって呼ぶらしいです)
・動画
H.264⇒HEVC(H.265)
■画質は従来とほぼ変わることなく、ファイルの容量が半分にまで減る。
■これらのフォーマットを使用するためには端末にA9チップが搭載されている必要がある。
■詳しくはこちら
『HEIFでアプリの通信量を削減する/wwdc-heif』
https://speakerdeck.com/tamanyan/wwdc-heif
■参考動画
『Introducing HEIF and HEVC』
https://developer.apple.com/videos/play/wwdc2017/503/
(4)カメラアプリの機能追加
■標準機能としてQRコードの読み込みが追加。
■写真や動画のフォーマットが変更。
小さなファイルサイズで高品質な動画が撮影できるようになった。
・写真
JPEG⇒HEIF
・動画
H.264⇒HEVC(H.265)
■参考動画
『Apple — WWDC 2017 Keynote(カメラアプリの紹介)』
[arve url=”https://www.youtube.com/watch?v=oaqHdULqet0″ maxwidth=”560″ parameters=”start=3525″ /]
(5)ARKit
■AR機能を実装するためのフレームワーク。
■サポートデバイスはiPhone 6s、iPhone 6s Plus以降、iPad Pro以降。
・A9チップが内蔵されている端末以降。
・サポートOSはiOS 11以降。
■現状では水平方向の平面の検出が行える。
・壁のような垂直方向の平面を検出したり、任意のオブジェクトを検出したりはできない。
■カメラ画像、端末のセンサを駆使してOSレベルで処理されるため、従来のARライブラリよりも低負荷で高精度に処理を行える。
■Unity、Unreal Engine、SceneKitにも対応し、iPadとiPhone用アプリを開発できる。
■現在ARKitでできること
・ポジショントラッキング
・平面検出
・ポイントクラウド(3次元の点座標情報)取得
・周囲の明るさ推定
・現実空間への当たり判定
・現実空間とのスケール一致
・カメラ画像の取得
■詳しくはこちら
『ARKit – Apple Developer』
https://developer.apple.com/arkit/
■参考動画
『Apple — WWDC 2017 Keynote(ARKitの紹介)』
[arve url=”https://www.youtube.com/watch?v=oaqHdULqet0″ maxwidth=”560″ parameters=”start=5129″ /]
(6)Vision
■顔、バーコード、テキスト、画像の水平線や長方形の領域などを検出するフレームワーク。
■デバイス単体で顔認識や特徴検出、画像の分類などを行う。
■提供される機能
・顔検出
・機械学習による画像分析
・バーコード検出
・画像の位置合わせ
・テキスト検出
・水平線検出
・オブジェクト検出とトラッキング
■詳しくはこちら
『Vision | Apple Developer Documentation』
https://developer.apple.com/documentation/vision
■参考動画
『Vision Framework: Building on Core ML』
https://developer.apple.com/videos/play/wwdc2017/506/
(7)Core ML
■機械学習のためのフレームワーク。
■iOS向けにデザインされていて、すべての処理が端末内で実行される。
■画像認識以外に文字の解析技術も組み込まれている。
■詳しくはこちら
『Core ML | Apple Developer Documentation』
https://developer.apple.com/documentation/coreml
『Machine Learning – Apple Developer』
https://developer.apple.com/machine-learning/
■参考動画
『Introducing Core ML』
https://developer.apple.com/videos/play/wwdc2017/703/
(8)位置情報利用の仕様変更
■位置情報データの利用をこれまで以上にユーザーが制限できるようになった。
・これまでオプションだった「このアプリを使用中のみ」が全アプリで選択可能にすることを義務付け。
・この変更はすでに公開済みの古いアプリにも適用される。
◎位置情報の権限の種類
・NSLocationWhenInUseUsageDescription(使用中のみ許可)
・NSLocationAlwaysUsageDescription(常に許可)
・NSLocationWhenInUseUsageDescription(使用中のみ許可) ←必須に
■この変更に伴い「常に許可」と「使用中のみ許可」を両方含む新しいプライバシー項目が追加。
NSLocationAlwaysAndWhenInUseUsageDescription
■iOS 11からは、「常に許可」のアプリがバックグラウンド中に位置情報を使用した場合も、常に画面上部に青いバーが表示されるようになる。
■詳しくはこちら
『【iOS 11対応】知っておきたい位置情報周りの変更点』
http://qiita.com/koogawa/items/83883a0282207be7751c
■参考動画
『What’s New in Location Technologies』
https://developer.apple.com/videos/play/wwdc2017/713/
(9)MapKitの機能追加
■MapTypeにmutedStandard追加
標準マップの交通機関のような見た目になる。
■コンパス、スケールバーなどコントロール可能になった。
・3つのクラスが追加。
1.MKUserTrackingButton
・トラッキングモードに切り替えるボタン。
・地図上の好きな場所に設置できる。
2.MKCompassButton
・コンパスボタンの表示を制御。
・地図上の好きな場所に設置できる。
◎compassVisibilityプロパティ
・hidden – 常に非表示
・visible – 常に表示
・adaptive – 地図の方位を動かしたとき(北が上ではない状態)だけ表示。
タップすると元の状態に戻り、コンパスは非表示になる。
3.MKScaleView
・地図の縮尺を表すスケールバーを制御。
◎legendAlignmentプロパティ
・leading – 0を左起点にする。
・trailing – 0を右起点にする。
■MKMarkerAnnotationView
標準マップのようなAnnotation(マーカー、ピン)の表示が可能になった。
■Annotationに優先度を設定できるdisplayPriority。
・Annotationが密集している場合などに便利。
◎優先度の種類
・required – 必ず表示
・defaultHigh – 優先度高
・defaultLow – 優先度低
■AnnotationをまとめることができるclusteringIdentifier。
・地図の縮尺に合わせてAnnotationをまとめる。
■Annotationの衝突判定を設定するcollisionMode
◎collisionModeの種類
・circle – 円形
・rectangle – 矩形
■詳しくはこちら
『iOS 11で大幅に強化されたMapKit』
http://qiita.com/koogawa/items/9ea87bc0f28605b02588
■参考動画
『What’s New in MapKit』
https://developer.apple.com/videos/play/wwdc2017/237/
(10)Codable
■Swift 4のFoundationから採用される。
■Codableを使用するとサーバから得た情報を処理する事が楽になる。
■JSONをパースしたデータとSwiftオブジェクトのマッピングを行ってくれる。
・マッピングのコードを書かなくて良いのでコードが簡略化される。
■様々なオブジェクトのデコード・エンコード処理が簡単になる。
■詳しくはこちら
『Codable – Swift Standard Library』
https://developer.apple.com/documentation/swift/codable
『Swift 4からFoundationに採用されるCodableプロトコルに感動した #wwdc2017』
http://techblog.timers-inc.com/entry/swift_codable
『Swift4.0 で追加される Codable』
http://qiita.com/hanawat/items/f3fffac2a4ea2e8a1767
『Swift 4 Codable』
■参考動画
『What’s New in Foundation』
https://developer.apple.com/videos/play/wwdc2017/212/
(11)iPad Pro 10.5インチ
■9.7インチのiPad proが、ベゼル部分を削って20%大きくなり10.5インチディスプレイに。
・端末サイズは9.7インチモデルと同じ。
■ディスプレイは264ppi を維持。
・12.9インチ(2732 x 2048)と9.7インチ(2048 x 1536) の中間、2224 x 1668 ピクセル。
■A10X Fusion CPU搭載。
・CPUは30%、GPUは40%高速化。
・バッテリ持続時間は連続使用で10時間。
■背景カメラ。
・12メガピクセルのカメラ。
・最大5倍のデジタルズーム、光学式手ぶれ補正、6枚構成のレンズ、クアッドLED True Toneフラッシュ。
・手ぶれ補正機能を使ったLive Photos、写真とLive Photosの広色域キャプチャ。
・人体検出と顔検出。
■前面カメラ。
・7メガピクセルのFacetimeカメラ。
・写真とLive Photosの広色域キャプチャ。
・人体検出と顔検出。
■動画撮影。
・4Kビデオ。
・2倍光学ズーム、クアッドLED True Toneフラッシュ。
・連続オートフォーカスビデオ、人体検出と顔検出、ノイズリダクション、4Kビデオの撮影中に8メガピクセルの静止画を撮影。
■FilesというMacのFinderのようなアプリを標準搭載。
・iCloudの他にDropboxなどサードパーティのファイルシステムにも対応。
(ちなみにFilesはiPhoneでも使用可能)
■MacのようなDock機能が追加。
■ドラッグアンドドロップ機能が追加。
■スキャナ機能をもつカメラで書類を取り込む事が可能。
■参考動画
『The New iPad Pro — On Any Given Wednesday — Apple』
[arve url=”https://www.youtube.com/watch?v=UR5ODc5Wbbo&” maxwidth=”560″ /]
以上となります。
今回新しいiPadに関しての発表はありましたが、iPhoneに関する発表はありませんでした。
街の噂ではホームボタンが無くなるという噂があります。
噂は本当なのでしょうか。発表が楽しみですね!