Submit Search
Upload
App Extensions in iOS ver JP
•
0 likes
•
650 views
Q
qohj
Follow
kjcode 2015/03/21 プレゼンテーション App Extensions in iOSの日本語版です 過去の情報ですので現在の情報と変わったところがあると思います
Read less
Read more
Engineering
Report
Share
Report
Share
1 of 76
Download now
Download to read offline
Recommended
App extension for iOS
App extension for iOS
toyship
iOS 8 App Extension
iOS 8 App Extension
Takeo Nanba
iOS 8 App Extension「Action」でアプリ間連携してみる
iOS 8 App Extension「Action」でアプリ間連携してみる
Kosuke Ogawa
【社内LT】iPhoneアプリ開発のすすめ
【社内LT】iPhoneアプリ開発のすすめ
Vitalify.Inc
iOS13 SDK による 全機能置き換え Part1
iOS13 SDK による 全機能置き換え Part1
Kaname Noto
Everyplayで遊んでみよう1
Everyplayで遊んでみよう1
Makoto Sugano
Swiftではじめる動画再生
Swiftではじめる動画再生
Yusuke Ariyoshi
6秒動画アプリ Vineの作り方
6秒動画アプリ Vineの作り方
Hiramatsu Ryosuke
Recommended
App extension for iOS
App extension for iOS
toyship
iOS 8 App Extension
iOS 8 App Extension
Takeo Nanba
iOS 8 App Extension「Action」でアプリ間連携してみる
iOS 8 App Extension「Action」でアプリ間連携してみる
Kosuke Ogawa
【社内LT】iPhoneアプリ開発のすすめ
【社内LT】iPhoneアプリ開発のすすめ
Vitalify.Inc
iOS13 SDK による 全機能置き換え Part1
iOS13 SDK による 全機能置き換え Part1
Kaname Noto
Everyplayで遊んでみよう1
Everyplayで遊んでみよう1
Makoto Sugano
Swiftではじめる動画再生
Swiftではじめる動画再生
Yusuke Ariyoshi
6秒動画アプリ Vineの作り方
6秒動画アプリ Vineの作り方
Hiramatsu Ryosuke
iOS 8 App Extensions
iOS 8 App Extensions
ravi kumar
iOS 8 Widget ~ 導入から Tips まで
iOS 8 Widget ~ 導入から Tips まで
Yuki Tanabe
iOS 8 Action Extension Training
iOS 8 Action Extension Training
Yuichi Fujiki
Keyboard Extension sharing
Keyboard Extension sharing
Grady Zhuo
EDUCARNIVAL 2014 at IIT Delhi- Responsive reading ideas and strategies by Nee...
EDUCARNIVAL 2014 at IIT Delhi- Responsive reading ideas and strategies by Nee...
Eduexcellence
iOS App Extensions
iOS App Extensions
Ketan Raval
Nonfiction text features
Nonfiction text features
dpeet
Build Features, Not Apps
Build Features, Not Apps
Natasha Murashev
Audio Unit Extensions 〜オーディオエフェクトのアプリ間共有〜
Audio Unit Extensions 〜オーディオエフェクトのアプリ間共有〜
Shuichi Tsutsumi
ゲリラ的サービスの育て方
ゲリラ的サービスの育て方
Hidetoshi Mori
Windows Phone アプリに認証と認可を実装する V1.0
Windows Phone アプリに認証と認可を実装する V1.0
junichi anno
モバイルアプリケーション管理(MAM)自社アプリ開発手法
モバイルアプリケーション管理(MAM)自社アプリ開発手法
Dai Matsui
Wave analyticsによるダッシュボード開発
Wave analyticsによるダッシュボード開発
Salesforce Developers Japan
IBM Notes 9.0 Social EditionとIBM Connections 4.5を貫く一本の線
IBM Notes 9.0 Social EditionとIBM Connections 4.5を貫く一本の線
Muneyuki Ohkawa
App014 デスクトップ アプ
App014 デスクトップ アプ
Tech Summit 2016
App014 デスクトップ アプ
App014 デスクトップ アプ
Tech Summit 2016
エンジニアのためのOSSライセンス管理~OSS管理ツールの池の水全部抜く~
エンジニアのためのOSSライセンス管理~OSS管理ツールの池の水全部抜く~
Daisuke Morishita
App005 xamarin と_azure_で、超効率的
App005 xamarin と_azure_で、超効率的
Tech Summit 2016
App005 xamarin と_azure_で、超効率的
App005 xamarin と_azure_で、超効率的
Tech Summit 2016
アプリケーション識別子.pdf
アプリケーション識別子.pdf
幸雄 村上
モバイルがモーションセンサーに出会ったら
モバイルがモーションセンサーに出会ったら
Akira Hatsune
DevOps を前提としたユーザー インターフェイスの構造解析
DevOps を前提としたユーザー インターフェイスの構造解析
インフラジスティックス・ジャパン株式会社
More Related Content
Viewers also liked
iOS 8 App Extensions
iOS 8 App Extensions
ravi kumar
iOS 8 Widget ~ 導入から Tips まで
iOS 8 Widget ~ 導入から Tips まで
Yuki Tanabe
iOS 8 Action Extension Training
iOS 8 Action Extension Training
Yuichi Fujiki
Keyboard Extension sharing
Keyboard Extension sharing
Grady Zhuo
EDUCARNIVAL 2014 at IIT Delhi- Responsive reading ideas and strategies by Nee...
EDUCARNIVAL 2014 at IIT Delhi- Responsive reading ideas and strategies by Nee...
Eduexcellence
iOS App Extensions
iOS App Extensions
Ketan Raval
Nonfiction text features
Nonfiction text features
dpeet
Build Features, Not Apps
Build Features, Not Apps
Natasha Murashev
Viewers also liked
(8)
iOS 8 App Extensions
iOS 8 App Extensions
iOS 8 Widget ~ 導入から Tips まで
iOS 8 Widget ~ 導入から Tips まで
iOS 8 Action Extension Training
iOS 8 Action Extension Training
Keyboard Extension sharing
Keyboard Extension sharing
EDUCARNIVAL 2014 at IIT Delhi- Responsive reading ideas and strategies by Nee...
EDUCARNIVAL 2014 at IIT Delhi- Responsive reading ideas and strategies by Nee...
iOS App Extensions
iOS App Extensions
Nonfiction text features
Nonfiction text features
Build Features, Not Apps
Build Features, Not Apps
Similar to App Extensions in iOS ver JP
Audio Unit Extensions 〜オーディオエフェクトのアプリ間共有〜
Audio Unit Extensions 〜オーディオエフェクトのアプリ間共有〜
Shuichi Tsutsumi
ゲリラ的サービスの育て方
ゲリラ的サービスの育て方
Hidetoshi Mori
Windows Phone アプリに認証と認可を実装する V1.0
Windows Phone アプリに認証と認可を実装する V1.0
junichi anno
モバイルアプリケーション管理(MAM)自社アプリ開発手法
モバイルアプリケーション管理(MAM)自社アプリ開発手法
Dai Matsui
Wave analyticsによるダッシュボード開発
Wave analyticsによるダッシュボード開発
Salesforce Developers Japan
IBM Notes 9.0 Social EditionとIBM Connections 4.5を貫く一本の線
IBM Notes 9.0 Social EditionとIBM Connections 4.5を貫く一本の線
Muneyuki Ohkawa
App014 デスクトップ アプ
App014 デスクトップ アプ
Tech Summit 2016
App014 デスクトップ アプ
App014 デスクトップ アプ
Tech Summit 2016
エンジニアのためのOSSライセンス管理~OSS管理ツールの池の水全部抜く~
エンジニアのためのOSSライセンス管理~OSS管理ツールの池の水全部抜く~
Daisuke Morishita
App005 xamarin と_azure_で、超効率的
App005 xamarin と_azure_で、超効率的
Tech Summit 2016
App005 xamarin と_azure_で、超効率的
App005 xamarin と_azure_で、超効率的
Tech Summit 2016
アプリケーション識別子.pdf
アプリケーション識別子.pdf
幸雄 村上
モバイルがモーションセンサーに出会ったら
モバイルがモーションセンサーに出会ったら
Akira Hatsune
DevOps を前提としたユーザー インターフェイスの構造解析
DevOps を前提としたユーザー インターフェイスの構造解析
インフラジスティックス・ジャパン株式会社
2013 summercamp 05
2013 summercamp 05
openrtm
20101022
20101022
信次郎 兼久
App007 ほしい機能を作ろ
App007 ほしい機能を作ろ
Tech Summit 2016
App007 ほしい機能を作ろ
App007 ほしい機能を作ろ
Tech Summit 2016
エンジニアリングするデザイナーが領域を超えて見えたこと
エンジニアリングするデザイナーが領域を超えて見えたこと
Mayumi Narisawa
エンジニアリングするデザイナーが領域を超えて見えたこと
エンジニアリングするデザイナーが領域を超えて見えたこと
Mayumi Narisawa
Similar to App Extensions in iOS ver JP
(20)
Audio Unit Extensions 〜オーディオエフェクトのアプリ間共有〜
Audio Unit Extensions 〜オーディオエフェクトのアプリ間共有〜
ゲリラ的サービスの育て方
ゲリラ的サービスの育て方
Windows Phone アプリに認証と認可を実装する V1.0
Windows Phone アプリに認証と認可を実装する V1.0
モバイルアプリケーション管理(MAM)自社アプリ開発手法
モバイルアプリケーション管理(MAM)自社アプリ開発手法
Wave analyticsによるダッシュボード開発
Wave analyticsによるダッシュボード開発
IBM Notes 9.0 Social EditionとIBM Connections 4.5を貫く一本の線
IBM Notes 9.0 Social EditionとIBM Connections 4.5を貫く一本の線
App014 デスクトップ アプ
App014 デスクトップ アプ
App014 デスクトップ アプ
App014 デスクトップ アプ
エンジニアのためのOSSライセンス管理~OSS管理ツールの池の水全部抜く~
エンジニアのためのOSSライセンス管理~OSS管理ツールの池の水全部抜く~
App005 xamarin と_azure_で、超効率的
App005 xamarin と_azure_で、超効率的
App005 xamarin と_azure_で、超効率的
App005 xamarin と_azure_で、超効率的
アプリケーション識別子.pdf
アプリケーション識別子.pdf
モバイルがモーションセンサーに出会ったら
モバイルがモーションセンサーに出会ったら
DevOps を前提としたユーザー インターフェイスの構造解析
DevOps を前提としたユーザー インターフェイスの構造解析
2013 summercamp 05
2013 summercamp 05
20101022
20101022
App007 ほしい機能を作ろ
App007 ほしい機能を作ろ
App007 ほしい機能を作ろ
App007 ほしい機能を作ろ
エンジニアリングするデザイナーが領域を超えて見えたこと
エンジニアリングするデザイナーが領域を超えて見えたこと
エンジニアリングするデザイナーが領域を超えて見えたこと
エンジニアリングするデザイナーが領域を超えて見えたこと
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 now