More Related Content Similar to iOS 8 Widget ~ 導入から Tips まで (20) iOS 8 Widget ~ 導入から Tips まで1. iOS 8 Widget
導入から Tips まで
田邉 裕貴
iOS 8 / Swift エンジニア勉強会
2014/10/18 (Sat.)
7. Widget とは
通知センターに Today タブが
新しく追加された
Widget のコンテンツ
Today という名前の通り
リアルタイム性の高い
コンテンツが並ぶ
・カレンダー
・天気
・リマインダー
・株価
など
http://imgc.appbank.net/c/wp-content/uploads/2014/06/140603ios8widget-2.jpg
10. 前提知識
Extension はそれだけを申請することが出来ない。
そのため通常通りプロジェクトを作り、
本体アプリの中に Extension を追加して実装する流れとなる。
https://developer.apple.com/library/ios/documentation/General/Conceptual/ExtensibilityPG/Art/simple_communication_2x.png
27. 詰まりどころ& Tips 集
・Widget 表示名変更
・左余白の消し方
・ビューのライフサイクル
・Widget からアプリを起動
・本体アプリとデータ共有
・本体アプリとコード共有
・NG 事項
28. 詰まりどころ& Tips 集
・Widget 表示名変更
・左余白の消し方
・ビューのライフサイクル
・Widget からアプリを起動
・本体アプリとデータ共有
・本体アプリとコード共有
・NG 事項
33. 詰まりどころ& Tips 集
・Widget 表示名変更
・左余白の消し方
・ビューのライフサイクル
・Widget からアプリを起動
・本体アプリとデータ共有
・本体アプリとコード共有
・NG 事項
38. 詰まりどころ& Tips 集
・Widget 表示名変更
・左余白の消し方
・ビューのライフサイクル
・Widget からアプリを起動
・本体アプリとデータ共有
・本体アプリとコード共有
・NG 事項
40. 詰まりどころ& Tips 集
・Widget 表示名変更
・左余白の消し方
・ビューのライフサイクル
・Widget からアプリを起動
・本体アプリとデータ共有
・本体アプリとコード共有
・NG 事項
41. Widget からアプリを起動
カスタム URL スキーマでアプリを開く
TodayViewController.m
NSExtensionContext に openURL メソッドが用意されている
(逆にアプリからウィジェットを開くことは出来ない。)
42. 詰まりどころ& Tips 集
・Widget 表示名変更
・左余白の消し方
・ビューのライフサイクル
・Widget からアプリを起動
・本体アプリとデータ共有
・本体アプリとコード共有
・NG 事項
43. 本体アプリとデータ共有
本体アプリのプロセス
Widget のプロセス
本体アプリのデータ保存領域
Widget のデータ保存領域
https://developer.apple.com/library/ios/documentation/General/Conceptual/ExtensibilityPG/Art/app_extensions_container_restrictions_2x.png
47. 本体アプリとデータ共有
共有して保存できる領域
App Group により定義される
- group.jp.co.yahoo.search
- group.jp.co.yahoo.weather
- group.jp.co.yahoo.news
>この文字列が識別子となる
(アプリ~ウィジェット間に留まらず、
Developer が同じであれば他のアプリでもデータ共有が可能)
49. 本体アプリとデータ共有 /A pp Group の作成の前に
iOS Dev Center の Certificates のページにアクセス
ここで App Group 一覧を確認できる
60. 本体アプリとデータ共有 / まとめと補足
・本体アプリとのデータ共有には App Group を利用
・同一 Developer なら複数アプリのデータ共有も可能
・NSUserDefaults, CoreData, SQLite などの共有が可能
61. 詰まりどころ& Tips 集
・Widget 表示名変更
・左余白の消し方
・ビューのライフサイクル
・Widget からアプリを起動
・本体アプリとデータ共有
・本体アプリとコード共有
・NG 事項
64. 詰まりどころ& Tips 集
・Widget 表示名変更
・左余白の消し方
・ビューのライフサイクル
・Widget からアプリを起動
・本体アプリとデータ共有
・本体アプリとコード共有
・NG 事項
65. NG 事項
・キーボード使用
・スクロールビューの配置
・大きすぎるコンテンツ(高さ)
https://developer.apple.com/library/ios/documentation/General/Conceptual/ExtensibilityPG/NotificationCenter.html
66. 参考文献
App Extension Programming Guide
https://developer.apple.com/library/ios/documentation/General/Conceptual/ExtensibilityPG/index.html
WWDC2014 資料
https://developer.apple.com/videos/wwdc/2014/
Creating Extensions for iOS and OS X, Part 1
Creating Extensions for iOS and OS X, Part 2