Submit Search
App Extensions in iOS ver JP
0 likes
653 views
Q
qohj
kjcode 2015/03/21 プレゼンテーション App Extensions in iOSの日本語版です 過去の情報ですので現在の情報と変わったところがあると思います
Engineering
Read more
1 of 76
Download now
Download to read offline
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
More Related Content
PDF
App extension for iOS
toyship
PDF
iOS 8 App Extension
Takeo Nanba
PDF
iOS 8 App Extension「Action」でアプリ間連携してみる
Kosuke Ogawa
PDF
【社内LT】iPhoneアプリ開発のすすめ
Vitalify.Inc
PPTX
iOS13 SDK による 全機能置き換え Part1
Kaname Noto
PDF
Everyplayで遊んでみよう1
Makoto Sugano
PDF
Swiftではじめる動画再生
Yusuke Ariyoshi
PDF
6秒動画アプリ Vineの作り方
Hiramatsu Ryosuke
App extension for iOS
toyship
iOS 8 App Extension
Takeo Nanba
iOS 8 App Extension「Action」でアプリ間連携してみる
Kosuke Ogawa
【社内LT】iPhoneアプリ開発のすすめ
Vitalify.Inc
iOS13 SDK による 全機能置き換え Part1
Kaname Noto
Everyplayで遊んでみよう1
Makoto Sugano
Swiftではじめる動画再生
Yusuke Ariyoshi
6秒動画アプリ Vineの作り方
Hiramatsu Ryosuke
Viewers also liked
(8)
PPTX
iOS 8 App Extensions
ravi kumar
PDF
iOS 8 Widget ~ 導入から Tips まで
Yuki Tanabe
PDF
iOS 8 Action Extension Training
Yuichi Fujiki
PDF
Keyboard Extension sharing
Grady Zhuo
PPTX
EDUCARNIVAL 2014 at IIT Delhi- Responsive reading ideas and strategies by Nee...
Eduexcellence
PPTX
iOS App Extensions
Ketan Raval
PPT
Nonfiction text features
dpeet
PDF
Build Features, Not Apps
Natasha Murashev
iOS 8 App Extensions
ravi kumar
iOS 8 Widget ~ 導入から Tips まで
Yuki Tanabe
iOS 8 Action Extension Training
Yuichi Fujiki
Keyboard Extension sharing
Grady Zhuo
EDUCARNIVAL 2014 at IIT Delhi- Responsive reading ideas and strategies by Nee...
Eduexcellence
iOS App Extensions
Ketan Raval
Nonfiction text features
dpeet
Build Features, Not Apps
Natasha Murashev
Ad
Similar to App Extensions in iOS ver JP
(20)
PDF
「変化と戦うロガー開発(iOS_App_Extensions編)」#yjdsw4
Yahoo!デベロッパーネットワーク
PDF
Windows phone & windows 8で見えてくるメトロの世界
Makoto Nishimura
PPTX
iPhoneアプリ開発の歩き方〜Swift編〜
Yusuke SAITO
PPTX
App extensionでテストコードを書く
Yusuke Kita
PDF
デジタルアートセミナー#2 openFrameworksで学ぶ、 クリエイティブ・コーディング Session 1: openFrameworks入門
Atsushi Tadokoro
PDF
[iOS 8] iOS8勉強会 PhotoKit
Shingo Hiraya
PDF
[20140625]wwdc2014 feedback
VOYAGE GROUP
PPTX
Share Extension@pixiv
Yusuke Kita
PDF
iOS の動画アプリ開発に Xamarin を使ってみた @JXUG #2 East
irgaly
PDF
既存アプリのiOS8対応 #ios8yahoo
Yahoo!デベロッパーネットワーク
PDF
⑬I phoneアプリを作ってみよう!(超初心者向け)
Nishida Kansuke
PDF
iOS 8/Swift 概要 #ios8yahoo
Hiramatsu Ryosuke
PDF
C# を使い倒す!クロス プラットフォーム アプリ開発とクラウド連携の新潮流 - Xamarin セッション
Yoshito Tabuchi
PDF
BNN CAMP vol.3 インタラクションデザインの現在―プログラミング初心者のためのopenFrameworks入門 1
Atsushi Tadokoro
PDF
DevLOVE iPhoneアプリ勉強会
Toshimitsu Takahashi
PDF
iPhone アプリ開発の実例
Tokyo City University, Ueno Lab.
PDF
yidev 第18回勉強会 「業務でSwiftで3ヶ月開発してきたので一旦振り返り」
佐藤 俊太郎
PDF
openFrameworks iOS 入門
Atsushi Tadokoro
KEY
1.29.user,user,user
Tonny Xu
PDF
iPhoneアプリを作ってみよう
Nagao Shun
「変化と戦うロガー開発(iOS_App_Extensions編)」#yjdsw4
Yahoo!デベロッパーネットワーク
Windows phone & windows 8で見えてくるメトロの世界
Makoto Nishimura
iPhoneアプリ開発の歩き方〜Swift編〜
Yusuke SAITO
App extensionでテストコードを書く
Yusuke Kita
デジタルアートセミナー#2 openFrameworksで学ぶ、 クリエイティブ・コーディング Session 1: openFrameworks入門
Atsushi Tadokoro
[iOS 8] iOS8勉強会 PhotoKit
Shingo Hiraya
[20140625]wwdc2014 feedback
VOYAGE GROUP
Share Extension@pixiv
Yusuke Kita
iOS の動画アプリ開発に Xamarin を使ってみた @JXUG #2 East
irgaly
既存アプリのiOS8対応 #ios8yahoo
Yahoo!デベロッパーネットワーク
⑬I phoneアプリを作ってみよう!(超初心者向け)
Nishida Kansuke
iOS 8/Swift 概要 #ios8yahoo
Hiramatsu Ryosuke
C# を使い倒す!クロス プラットフォーム アプリ開発とクラウド連携の新潮流 - Xamarin セッション
Yoshito Tabuchi
BNN CAMP vol.3 インタラクションデザインの現在―プログラミング初心者のためのopenFrameworks入門 1
Atsushi Tadokoro
DevLOVE iPhoneアプリ勉強会
Toshimitsu Takahashi
iPhone アプリ開発の実例
Tokyo City University, Ueno Lab.
yidev 第18回勉強会 「業務でSwiftで3ヶ月開発してきたので一旦振り返り」
佐藤 俊太郎
openFrameworks iOS 入門
Atsushi Tadokoro
1.29.user,user,user
Tonny Xu
iPhoneアプリを作ってみよう
Nagao Shun
Ad
App Extensions in iOS ver JP
1.
App Extensions in
iOS 李 俊河
2.
本プレゼンは2015年3月に発表したものです
3.
• App Extensionsとは? •
Extension Pointの種類 • App Extensionsの基礎知識 1. App ExtensionsのLife Cycle 2. App Extensionsのデータ通信 - App Groups - Embedded Framework - NSUserDefaultsの場合 - CoreDataの場合 • 注意事項
4.
iOS8 & OS
X - Yosemiteから追加された技術であり App Extensionsとは?
5.
共有・通知センター・キーボードなどiOSシステム の特定領域と紐付いてその領域の機能を拡張させ ます App Extensionsとは?
6.
そのそれぞれの領域をExtension Pointと言います App Extensionsとは?
7.
Extension Pointの種類については後で説明します App Extensionsとは?
8.
その前に二つの言葉の意味について説明します App Extensionsとは?
9.
Host appとContaining app App
Extensionsとは?
10.
まずはHost appから App Extensionsとは?
11.
ユーザー自らApp Extensionsを選択できる ようになっているアプリのことを言います App Extensionsとは?
12.
Safari , Photo(基本の「写真」アプリ)などを表します App
Extensionsとは?
13.
次はContaining appについて App Extensionsとは?
14.
App Extensionsが含まれているアプリのことを表します App Extensionsとは?
15.
ちなみにContaining appには App Extensionsとは?
16.
いくらでもApp Extensionsを含められるそう です(確認はしていません) App Extensionsとは?
17.
それではExtension Pointの種類について説明します App Extensionsとは?
18.
• Extension Pointは大きく分けて7種類が存在します Extension
Pointの種類 Today Share Action Photo Editing Finder Sync Document Provider Custom Keyboard
19.
Extension Pointの種類 Today • アプリを起動せずにそのアプリ の一部の機能を簡単に使えるよ うにするExtension •
「ウィジェット」とも呼びます
20.
Extension Pointの種類 Share • Host
appに存在する ボタン を押し、情報をSNSなどで他 ユーザーと共有するExtension
21.
Extension Pointの種類 Action • Host
app上で表示される コンテンツを操作・表示する Extension
22.
Extension Pointの種類 Photo Editing(iOS
Only) • 写真(iOS基本アプリ)で 写真や動画をカスタム編集する Extension
23.
Photo Editing(iOS Only) •
写真(iOS基本アプリ)で 写真や動画をカスタム編集する Extension • 写真アプリ内部から該当する Extensionを選択してカスタム 編集できるようにする Extension Pointの種類
24.
Finder Sync(OS X
Only) • フォルダ/ファイルの同期状態を Finder上に表示するExtension Extension Pointの種類
25.
Document provider(iOS Only) •
Containing appの内部ファイル をHost appが操作できるように するExtension Extension Pointの種類
26.
Document provider(iOS Only) •
Containing appの内部ファイルを Host appが操作できるようにする Extension • Import / Export / Open / Moveの操 作ができる • それぞれの操作は自前で実装する必要 がある Extension Pointの種類
27.
Custom Keyboard(iOS Only) •
キーボードをカスタマイズして いろんなアプリ上で使える Extension Extension Pointの種類
28.
–Johnny Appleseed 1. ユーザーがApp
Extensionを選択 App Extensionsの基礎知識 App ExtensionsのLife Cycle
29.
–Johnny Appleseed 2. システムがApp
Extensionを実行 App Extensionsの基礎知識 App ExtensionsのLife Cycle
30.
–Johnny Appleseed 3. App
Extensionのコードが走る App Extensionsの基礎知識 App ExtensionsのLife Cycle
31.
–Johnny Appleseed 4. システムがApp
Extensionを終了 App Extensionsの基礎知識 App ExtensionsのLife Cycle
32.
Host appとContaining appは直接通信することができません App
Extensionsのデータ通信 App Extensionsの基礎知識
33.
なのでその間をApp Extensionが繋ぐ方法で通信ができます App Extensionsのデータ通信 App
Extensionsの基礎知識
34.
詳しい説明の前に App Extensionsのデータ通信 App Extensionsの基礎知識
35.
Host app App
Extension Containing appの間に データ通信を行うための二つ準備が必要です App Extensionsのデータ通信 App Extensionsの基礎知識
36.
準備 1. App
Groups App Extensionsのデータ通信 App Extensionsの基礎知識
37.
App Groups App ExtensionとContaining
appが互いのデータを一つの Group Idを持つ共用コンテナーの中で書き込むことで通信できるようになります App Extensionsの基礎知識
38.
App Groups iOS DevCenterから「App
groups」を作ります App Extensionsの基礎知識
39.
App Groups 実際のプロジェクトからは Targets→Capabilities→App GroupsをONに App
Extensionsの基礎知識
40.
App Extensionsの基礎知識 App Groups その後表示されるApp
Groupsを確認してチェックしますとその Targetに当たる「.entitlements」ファイルが作成されます
41.
App Extensionsの基礎知識 App Groups App
Extension側のTargetにも同じ作業をすると完了です
42.
準備 2. EmbeddedFramework App
Extensionsの基礎知識 App Extensionsのデータ通信
43.
App Extensionsの基礎知識 EmbeddedFramework App ExtensionとContaining
appが 共通したクラスやリソースを使う場合に必要です
44.
App Extensionsの基礎知識 EmbeddedFramework File→New→Targetを選択
45.
App Extensionsの基礎知識 EmbeddedFramework Framework&Library →
Cocoa Touch Framework 選択
46.
App Extensionsの基礎知識 EmbeddedFramework Product Nameに名前を入れてFinishします
47.
App Extensionsの基礎知識 EmbeddedFramework 実際のTargetsにはこのように表示されます
48.
App Extensionsの基礎知識 EmbeddedFramework General →
Deployment Info → App Extensionsの Allow app extension API only 項目にチェック
49.
App Extensionsの基礎知識 EmbeddedFramework プロジェクト上のTarget →
General → Embedded Binariesと Linked Frameworks and Librariesにさっき作りました EmbeddedFrameworkが存在するか確認し、存在しない場 合は追加します
50.
App Extensionsの基礎知識 EmbeddedFramework App ExtensionsのTargetにも同様に確認します (Linked
Frameworks and Librariesだけ)
51.
App Extensionsの基礎知識 EmbeddedFramework 共用するクラスの.hファイルをEmbeddedFramework Targetの Build
Phases→ Headers→Projectに追加します
52.
App Extensionsの基礎知識 EmbeddedFramework 共用するクラスの.mファイルはEmbeddedFramework Targetの Build
Phases→ Compile Sourcesに追加します
53.
App Extensionsの基礎知識 EmbeddedFramework 共用するクラスの中でEmbeddedFrameworkの外部に公開するクラ スは.hファイルをHeaders→ProjectからHeaders→Publicへ移動し
54.
App Extensionsの基礎知識 EmbeddedFramework EmbeddedFrameworkを作る時一緒に生成された.hファイル (この場合ではEmbeddedDB.h)の下に下記のように書きます
55.
App Extensionsの基礎知識 EmbeddedFramework 実際利用するクラスでは@importで宣言すると使えます
56.
これで準備が完了しましたので App Extensionsの基礎知識 App Extensionsのデータ通信
57.
実際の共用コンテナーを使ってみます App Extensionsの基礎知識 App Extensionsのデータ通信
58.
まずは大人気のNSUserDefaultsを使用する場合から App Extensionsの基礎知識 App Extensionsのデータ通信
59.
initWithSuiteName:でAppGroups Idを 指定してインスタンスを生成 App Extensionsの基礎知識 NSUserDefaultsの場合
60.
その後オブジェクトを作ったり呼び出したりする場合は 普通のNSUserDefaultsと同じです App Extensionsの基礎知識 NSUserDefaultsの場合
61.
次はCoreDataの場合 App Extensionsの基礎知識 App Extensionsのデータ通信
62.
実際のDBファイルを利用する指定先を containerURLForSecurityApplicationGroupIdentifier:に AppGroups Idを指定すると使えます App Extensionsの基礎知識 CoreDataの場合
63.
実際の保存先はprivate/var…に存在するappGroups専用の フォルダに指定されるため脱獄をしない限りは大丈夫です App Extensionsの基礎知識 App Extensionsのデータ通信
64.
最後にExtensionを使う時の幾つかの注意事項があります 注意事項
65.
1. iOS8から使用できます(iOS7はできません) 注意事項
66.
理由はEmbeddedFrameworkと関係している上で 注意事項
67.
App ExtensionがiOS8からサポートするためです 注意事項
68.
2. Extensionを入れる予定のアプリには 64ビット(arm64)対応が必須です 注意事項
69.
3. App Extension上で使用できないAPIが存在します 注意事項
70.
ヘッダーにNS_EXTENSION_UNAVAILABLEなどの 説明(マクロ)が付いているAPIは使用できません 注意事項
71.
4. カメラとマイクを使用できません 注意事項
72.
5. BG上で長時間タスクを起動することができません (フラットフォームにより違いがあるようです) 注意事項
73.
6. AirDropを使いデータ通信をすることができません 注意事項
74.
注意事項 代わりにUIActivityViewControllerクラスを利用して 既存アプリと一緒にAirDropを使うのは可能だそうです
75.
レファレンス https://developer.apple.com/jp/documentation/UserExperience/Conceptual/MobileHIG/AppExtensions/AppExtensions.html http://www.raywenderlich.com/83809/ios-8-today-extension-tutorial http://qiita.com/monoqlo/items/6ed93f0d2e719acd9474 http://www.cnet.com/how-to/how-to-set-up-ios-8-action-extensions-in-safari/ http://dev.classmethod.jp/smartphone/ios8-photo-kit-9/ http://qiita.com/takebayashi/items/f29617d56ceed9ee7e9d http://www.macstories.net/mac/extensibility-and-automation-changes-in-os-x-yosemite/ http://www.slideshare.net/ssuser9c7e21/document-provider https://itunes.apple.com/jp/app/morse-code-telegraph-keyboard/id921290705?mt=8 http://dev.classmethod.jp/references/ios-8-app-extension-5/ http://dev.classmethod.jp/references/ios-8-app-extension-6/ http://dev.classmethod.jp/references/ios-8-action-extension/ http://swift-studying.com/blog/swift/?p=508 http://dev.classmethod.jp/references/ios-8-embedded-framework/ http://techblog.yahoo.co.jp/ios/today-widget/ http://stackoverflow.com/questions/24641768/accessing-core-data-sql-database-in-ios-8-extension-sharing-data- between-app-an https://developer.apple.com/library/prerelease/ios/documentation/General/Conceptual/ExtensibilityPG/index.html
76.
ありがとうございました
Download