Introduction to Notifications WWDC 2016

iOS10からNotificationが変わります。
本記事では、WWDC 2016のセッションのIntroduction to Notificationsの紹介とまとめを行います。

User Notifications Frameworkという新しいフレームフレームが追加されました。
今後ローカルノーティフィケーションやリモートノーティフィケーションを使う際は、こちらのフレームフレームを使用することになると思います。

thumb_IMG_2441_1024

 

Visual Alert・Sound・App icon badgingは従来でもありましたが、vibrationを付けることができるようになりました。

thumb_IMG_2442_1024

 

表示は3種類(使用中、ロック中、ノーティフィケーションセンター)で今まで通り。

thumb_IMG_2443_1024

 

User Notifications Framework
ノーティフィケーションはiOS/watchOS/tvOSの3つのプラットフォームで使用することができます。

thumb_IMG_2454_1024

 

Authorizationの取得

thumb_IMG_2460_1024

 

リモートノーティフィケーションのトークン取得

thumb_IMG_2463_1024

 

表示できるコンテンツは以下で、Title・Subtitle・bodyを設定できる。

thumb_IMG_2466_1024 thumb_IMG_2468_1024 thumb_IMG_2469_1024

 

さらに、Media Attachmentで画像や動画なども追加できるようになった(が、小さくないか・・?)。

thumb_IMG_2470_1024

 

Triggerというものが追加された。

thumb_IMG_2472_1024 thumb_IMG_2473_1024 thumb_IMG_2474_1024

thumb_IMG_2477_1024 thumb_IMG_2478_1024

 

Notification Management
送信のPending・Completedといったステータス取得、ノーティフィケーションの削除、更新などができるようになった。

thumb_IMG_2482_1024

 

リモートノーティフィケーションの場合、HTTP/2のリクエストヘッダーに apns-collapse-id を追加。

thumb_IMG_2483_1024

 

ノーティフィケーションにアクションを追加できる。

thumb_IMG_2489_1024

 

customDismissAction というオプションを追加すると、Dismiss Actionをノーティフィケーションに付けることができる。

thumb_IMG_2494_1024

 

Service Extension
APNsのpayloadをユーザーに表示する前にフックし、コンテンツを入れ替えて表示することができる。

thumb_IMG_2500_1024

 

アタッチメントの追加、暗号化文字列の復号化などで使うことができる。

thumb_IMG_2501_1024thumb_IMG_2502_1024 thumb_IMG_2503_1024thumb_IMG_2504_1024

 

まとめ

thumb_IMG_2507_1024

What’s New in Swift | WWDC 2016

What’s New in Swift WWDC 2016の内容をまとめます。

El CapitanからSierraで、Mission ControlとAccessibility engineをSwiftに書き直した。

Toolchainsがダウンロード可能に。XcodeのバージョンとSwiftのバージョンが紐付かなくなるので、良いですね。

2016-06-15 1.09.53

Swiftプロジェクトは、3つにカテゴライズできる。

2016-06-15 1.10.42

Swift Package Manager

2016-06-15 1.11.43

2016-06-15 1.16.55

ネーミングの変更

2016-06-15 1.18.00

Before

2016-06-15 1.18.44

After

2016-06-15 1.19.31

Objective-C APIsのSwift化

2016-06-15 1.20.19

2016-06-15 1.21.53

2016-06-15 1.22.24

第一引数が省略ではなくなる。

2016-06-15 1.22.39

条件付きジェネリクスのwhereの位置が、返り値の型の後ろに移動。

2016-06-15 1.23.14

使われていない返り値に警告が出る。
警告を出さないために、_ = とすると良いらしい。んー微妙。

2016-06-15 1.24.31

Swift 3で以下が使えなくなります。ご注意を。

2016-06-15 1.25.42

シンタックスが変わります。

2016-06-15 1.27.12

2016-06-15 1.28.01

UnsafePointer Nullability

2016-06-15 1.28.07

2016-06-15 1.28.40

Swift 3の、IUO(Implicitly Unwrapped Optional)は良さそう。
使われるまでは、Optional型として動作してくれるらしいです。

2016-06-15 1.31.11

一旦ここまで。

【リアルタイム実況】WWDC 2016 Keynote

今年もAppleのデベロッパーカンファレンスWWDC2016が始まりました!
睡眠不足な1週間になりますね。

WWDC2016 Keynoteをまとめます。
実況で書いているので整理されていないですが、随時修正していきます。

watchOS 3

watchos_2016-06-14 2.10.01

  • 良く使用するアプリはメモリ上に維持される。
  • 動作が早くなった。
  • スクロールが早くなった。
  • 音声以外でもScribbleで入力できる。

プレビュー版は今日から試せる。
公開は秋頃の予定。

tvOS

  • Remoteアプリがリニューアルし、より使いやすくなる。
  • Siriがより便利になり、映画検索やYoutube検索ができるようになる
  • Single sign-onという認証機能が導入され、アプリごとの認証が不要になる。
  • 部屋が暗いときは、バックグラウンドが黒くなる。

プレビュー版は今日から試せる。
公開は秋頃の予定。

macOS(旧OSX)

OSX → macOSに名前が変更。

  • 新OS「macOS Sierra」
  • macos_2016-06-14 2.37.32

  • Auto Unlock
  • パスワードを入力することなく、ロックを解除できる機能が追加。

  • Universal clipboard
  • デスクトップ、ノート、iPhoneなどのマルチデバイスでコピー&ペーストや(同じ資料の修正?)などができるようになる。
    macos_2016-06-14 2.40.33

  • Optimized storage
  • 仕組みが良くわからなかったのですが、iCloudなどを使いストレージをうまいことやって減らしてくれるらしい。
    macos_2016-06-14 2.40.43

  • Apple Pay on the web
  • Picture-in-picture
  • iOSにはiOS9で導入された機能ですが、macOSでも動画にPicture-in-pictureできるボタンが追加。
    macos_2016-06-14 2.44.48

  • Siri
  • MacでもSiriが使えるようになります。

macos_2016-06-14 2.50.27

プレビュー版は今日から試せる。
公開は秋頃の予定。

iOS

今回の目玉かな?iOS10です!ものすごくボリュームがありました。
iOS10で、10個の特徴。

  • Experience
  • ios_2016-06-14 2.51.31
    iPhoneを持ち上げると、起動するようになりました。
    Apple Watchと同じような感じかと思われます。
    通知センターが大きく変わりました。以下のような感じ。デモを見ていると、3Dタッチでの操作がメインのようです。
    ios_2016-06-14 2.52.25 ios_2016-06-14 2.53.28 ios_2016-06-14 2.53.46 ios_2016-06-14 2.53.51
    ボタンだけではなく、自作のビューも置けそうです。
    ios_2016-06-14 2.55.00
    デモで、バスケの動画も再生することができていました。
    ios_2016-06-14 2.55.26
    今までは4つのボタンのみでしたが、デザイン的に色々できそうになってます。
    ios_2016-06-14 2.55.43

  • Siri
  • Siriの機能が向上しました。
    また開発者が使用できるようになります。
    ios_2016-06-14 2.56.17

  • Quick type
  • Deep learningによりサジェストがより賢く。
    日にちや時間の文字からスケジュールを作成できる。
    ios_2016-06-14 2.59.32

  • Photos
  • 写真の場所、顔認識、Object & scene認識。
    Date、People、Topicsでカテゴリされます。

  • Maps
  • 検索やナビゲーションでUIが変わりました。
    Maps Extensionsで開発者が利用可能になりました。

  • Music
  • Apple Musicが全く新しいUIへ。
    ios_2016-06-14 3.11.21

  • News
  • Newsアプリもデザインが一新します。

  • Home
  • Homeアプリが追加。
    鍵、照明、空調などがアプリから操作可能に。
    Siriでカーテンの開け閉めもできる。
    ios_2016-06-14 3.23.13

  • Phone
  • 留守電の文字起こしをしてくれます。

  • Messages
  • 10個の中で最も進化した機能はこのMessagesです。

    URLからアートワークを展開してくれるようになります。
    文字をタップすると絵文字に変えることができます。
    キーボードからカメラや写真が操作することができます。
    ios_2016-06-14 3.27.15

    エフェクトを付けることができます。
    ios_2016-06-14 6.15.14
    こちらはスワイプするまで見えなくできるエフェクトです。
    ios_2016-06-14 3.28.11

    フルスクリーンで花火を打ち上げるエフェクトを追加することもできます。
    ios_2016-06-14 3.29.16

    iMessage Appsを3rd Partyが作成することができるようになります。
    ios_2016-06-14 3.36.26
    ios_2016-06-14 6.26.54

    App Store for iMessageが開設され、アプリを配信することができ、App drawerからインストールすることができます。

    ios_2016-06-14 6.27.03

プレビュー版は今日から試せる。
Beta版は7月。
公開は秋頃の予定。

Swift Playgrounds

iPadでできる、Swift勉強用アプリ。
swift_playgrounds_2016-06-14 6.35.02
主に子供向けで、iPad上でコードを書いたり、実行したりできるアプリ。
秋頃から無料で配信される。
swift_playgrounds_2016-06-14 3.55.17