Suche senden
Hochladen
iOS 8 App Extension
•
9 gefällt mir
•
3,948 views
Takeo Nanba
Folgen
この資料は発表当時(2014/7/29)のものです。既に仕様が変わっている部分もありますので、ご注意ください。
Weniger lesen
Mehr lesen
Technologie
Melden
Teilen
Melden
Teilen
1 von 39
Jetzt herunterladen
Downloaden Sie, um offline zu lesen
Empfohlen
iOS 8 App Extension「Action」でアプリ間連携してみる
iOS 8 App Extension「Action」でアプリ間連携してみる
Kosuke Ogawa
App extension for iOS
App extension for iOS
toyship
App Extensions in iOS ver JP
App Extensions in iOS ver JP
qohj
【社内LT】iPhoneアプリ開発のすすめ
【社内LT】iPhoneアプリ開発のすすめ
Vitalify.Inc
6秒動画アプリ Vineの作り方
6秒動画アプリ Vineの作り方
Hiramatsu Ryosuke
Swiftではじめる動画再生
Swiftではじめる動画再生
Yusuke Ariyoshi
iOS13 SDK による 全機能置き換え Part1
iOS13 SDK による 全機能置き換え Part1
Kaname Noto
vSphere Automation, [py | go | rb]Vmomi
vSphere Automation, [py | go | rb]Vmomi
Masahiro Tabuki
Empfohlen
iOS 8 App Extension「Action」でアプリ間連携してみる
iOS 8 App Extension「Action」でアプリ間連携してみる
Kosuke Ogawa
App extension for iOS
App extension for iOS
toyship
App Extensions in iOS ver JP
App Extensions in iOS ver JP
qohj
【社内LT】iPhoneアプリ開発のすすめ
【社内LT】iPhoneアプリ開発のすすめ
Vitalify.Inc
6秒動画アプリ Vineの作り方
6秒動画アプリ Vineの作り方
Hiramatsu Ryosuke
Swiftではじめる動画再生
Swiftではじめる動画再生
Yusuke Ariyoshi
iOS13 SDK による 全機能置き換え Part1
iOS13 SDK による 全機能置き換え Part1
Kaname Noto
vSphere Automation, [py | go | rb]Vmomi
vSphere Automation, [py | go | rb]Vmomi
Masahiro Tabuki
「ABCs2018」LT〝Intro to Google Play Instant〟
「ABCs2018」LT〝Intro to Google Play Instant〟
LIFULL Co., Ltd.
Prott for iOS
Prott for iOS
Seiya Shimokawa
mBaaS/C4SA howto
mBaaS/C4SA howto
史識 川原
Azure Updates from Build 2021
Azure Updates from Build 2021
Kazuyuki Miyake
Herokuのご紹介
Herokuのご紹介
Ayumu Aizawa
2017/05/24 potatotips #40
2017/05/24 potatotips #40
Akiyoshi Samukawa
ここが変わる!Unity 5のスマホ開発 ~アセットバンドル、ビルド、プラグイン~
ここが変わる!Unity 5のスマホ開発 ~アセットバンドル、ビルド、プラグイン~
MakotoItoh
Visual Studio2013 でGithub(1) セットアップ~同期
Visual Studio2013 でGithub(1) セットアップ~同期
Tomo Mizoe
dotcle 経験0から Meteor iOS アプリを2ヶ月半で作ってリリースしてみた
dotcle 経験0から Meteor iOS アプリを2ヶ月半で作ってリリースしてみた
Nobutaka OSHIRO
cloudmix GAE slides
cloudmix GAE slides
Kazunori Sato
GitHub Enterpriseの導入事例と実践GitHub Actions
GitHub Enterpriseの導入事例と実践GitHub Actions
Shuji Yamada
Meteor勉強会発表資料「MeteorでiOSアプリを作ろう!」
Meteor勉強会発表資料「MeteorでiOSアプリを作ろう!」
Nobutaka OSHIRO
最新UIフレームワーク Onsen UI2でカッコイイWordPress連携アプリを作る方法
最新UIフレームワーク Onsen UI2でカッコイイWordPress連携アプリを作る方法
アシアル株式会社
GGJ2016用UE4ヒストリアBLOGリファレンス
GGJ2016用UE4ヒストリアBLOGリファレンス
Shun Sasaki
書籍『Monacaで学ぶはじめてのプログラミング』発展資料(試験問題アプリ編)
書籍『Monacaで学ぶはじめてのプログラミング』発展資料(試験問題アプリ編)
アシアル株式会社
第1回 コデアルiOSアプリ勉強会
第1回 コデアルiOSアプリ勉強会
codeal
AppCodeNight testcode
AppCodeNight testcode
Akira SUGIMOTO
Android study part1
Android study part1
shinya sakemoto
XcodeのTargetについてのTIPS
XcodeのTargetについてのTIPS
Yoichiro Sakurai
Time for Xcode Behavior
Time for Xcode Behavior
toyship
できる!スマホアプリ:Webからはじまるアプリ
できる!スマホアプリ:Webからはじまるアプリ
Masami Yabushita
OpenAPI Specificationからネットワーク層を自動生成する
OpenAPI Specificationからネットワーク層を自動生成する
ImajinKawabe1
Weitere ähnliche Inhalte
Was ist angesagt?
「ABCs2018」LT〝Intro to Google Play Instant〟
「ABCs2018」LT〝Intro to Google Play Instant〟
LIFULL Co., Ltd.
Prott for iOS
Prott for iOS
Seiya Shimokawa
mBaaS/C4SA howto
mBaaS/C4SA howto
史識 川原
Azure Updates from Build 2021
Azure Updates from Build 2021
Kazuyuki Miyake
Herokuのご紹介
Herokuのご紹介
Ayumu Aizawa
2017/05/24 potatotips #40
2017/05/24 potatotips #40
Akiyoshi Samukawa
ここが変わる!Unity 5のスマホ開発 ~アセットバンドル、ビルド、プラグイン~
ここが変わる!Unity 5のスマホ開発 ~アセットバンドル、ビルド、プラグイン~
MakotoItoh
Visual Studio2013 でGithub(1) セットアップ~同期
Visual Studio2013 でGithub(1) セットアップ~同期
Tomo Mizoe
dotcle 経験0から Meteor iOS アプリを2ヶ月半で作ってリリースしてみた
dotcle 経験0から Meteor iOS アプリを2ヶ月半で作ってリリースしてみた
Nobutaka OSHIRO
cloudmix GAE slides
cloudmix GAE slides
Kazunori Sato
GitHub Enterpriseの導入事例と実践GitHub Actions
GitHub Enterpriseの導入事例と実践GitHub Actions
Shuji Yamada
Meteor勉強会発表資料「MeteorでiOSアプリを作ろう!」
Meteor勉強会発表資料「MeteorでiOSアプリを作ろう!」
Nobutaka OSHIRO
最新UIフレームワーク Onsen UI2でカッコイイWordPress連携アプリを作る方法
最新UIフレームワーク Onsen UI2でカッコイイWordPress連携アプリを作る方法
アシアル株式会社
GGJ2016用UE4ヒストリアBLOGリファレンス
GGJ2016用UE4ヒストリアBLOGリファレンス
Shun Sasaki
書籍『Monacaで学ぶはじめてのプログラミング』発展資料(試験問題アプリ編)
書籍『Monacaで学ぶはじめてのプログラミング』発展資料(試験問題アプリ編)
アシアル株式会社
Was ist angesagt?
(15)
「ABCs2018」LT〝Intro to Google Play Instant〟
「ABCs2018」LT〝Intro to Google Play Instant〟
Prott for iOS
Prott for iOS
mBaaS/C4SA howto
mBaaS/C4SA howto
Azure Updates from Build 2021
Azure Updates from Build 2021
Herokuのご紹介
Herokuのご紹介
2017/05/24 potatotips #40
2017/05/24 potatotips #40
ここが変わる!Unity 5のスマホ開発 ~アセットバンドル、ビルド、プラグイン~
ここが変わる!Unity 5のスマホ開発 ~アセットバンドル、ビルド、プラグイン~
Visual Studio2013 でGithub(1) セットアップ~同期
Visual Studio2013 でGithub(1) セットアップ~同期
dotcle 経験0から Meteor iOS アプリを2ヶ月半で作ってリリースしてみた
dotcle 経験0から Meteor iOS アプリを2ヶ月半で作ってリリースしてみた
cloudmix GAE slides
cloudmix GAE slides
GitHub Enterpriseの導入事例と実践GitHub Actions
GitHub Enterpriseの導入事例と実践GitHub Actions
Meteor勉強会発表資料「MeteorでiOSアプリを作ろう!」
Meteor勉強会発表資料「MeteorでiOSアプリを作ろう!」
最新UIフレームワーク Onsen UI2でカッコイイWordPress連携アプリを作る方法
最新UIフレームワーク Onsen UI2でカッコイイWordPress連携アプリを作る方法
GGJ2016用UE4ヒストリアBLOGリファレンス
GGJ2016用UE4ヒストリアBLOGリファレンス
書籍『Monacaで学ぶはじめてのプログラミング』発展資料(試験問題アプリ編)
書籍『Monacaで学ぶはじめてのプログラミング』発展資料(試験問題アプリ編)
Ähnlich wie iOS 8 App Extension
第1回 コデアルiOSアプリ勉強会
第1回 コデアルiOSアプリ勉強会
codeal
AppCodeNight testcode
AppCodeNight testcode
Akira SUGIMOTO
Android study part1
Android study part1
shinya sakemoto
XcodeのTargetについてのTIPS
XcodeのTargetについてのTIPS
Yoichiro Sakurai
Time for Xcode Behavior
Time for Xcode Behavior
toyship
できる!スマホアプリ:Webからはじまるアプリ
できる!スマホアプリ:Webからはじまるアプリ
Masami Yabushita
OpenAPI Specificationからネットワーク層を自動生成する
OpenAPI Specificationからネットワーク層を自動生成する
ImajinKawabe1
簡単に android アプリの開発を可能にする app inventor の紹介
簡単に android アプリの開発を可能にする app inventor の紹介
Tokyo City University, Ueno Lab.
20120413 nestakabaneworkshop
20120413 nestakabaneworkshop
Yoichiro Sakurai
はじめてのiOSアプリ開発 ①
はじめてのiOSアプリ開発 ①
Nagamine Hiromasa
できる!スマホアプリ:Webからはじまるアプリ for CMU16
できる!スマホアプリ:Webからはじまるアプリ for CMU16
Masami Yabushita
20120316 designerworkshoppublished
20120316 designerworkshoppublished
Yoichiro Sakurai
Visual Studio を使用した Cordova 開発
Visual Studio を使用した Cordova 開発
Osamu Monoe
iQONの開発手法 at iQONエンジニアセミナー
iQONの開発手法 at iQONエンジニアセミナー
Imamura Masayuki
Osc2012 appinventor のその後
Osc2012 appinventor のその後
Katsumi Honda
Watch connectivity
Watch connectivity
Motoki Narita
iOS豆知識ver0.0.5
iOS豆知識ver0.0.5
ppengotsu Name
デザイナーでも安心!はじめてのiOSアプリ開発 先生:関根 元和
デザイナーでも安心!はじめてのiOSアプリ開発 先生:関根 元和
schoowebcampus
iOSアプリを審査に提出してみた話
iOSアプリを審査に提出してみた話
Hideki Abe
プロ文.com 勉強会 Phase 1
プロ文.com 勉強会 Phase 1
Hiroki Toyokawa
Ähnlich wie iOS 8 App Extension
(20)
第1回 コデアルiOSアプリ勉強会
第1回 コデアルiOSアプリ勉強会
AppCodeNight testcode
AppCodeNight testcode
Android study part1
Android study part1
XcodeのTargetについてのTIPS
XcodeのTargetについてのTIPS
Time for Xcode Behavior
Time for Xcode Behavior
できる!スマホアプリ:Webからはじまるアプリ
できる!スマホアプリ:Webからはじまるアプリ
OpenAPI Specificationからネットワーク層を自動生成する
OpenAPI Specificationからネットワーク層を自動生成する
簡単に android アプリの開発を可能にする app inventor の紹介
簡単に android アプリの開発を可能にする app inventor の紹介
20120413 nestakabaneworkshop
20120413 nestakabaneworkshop
はじめてのiOSアプリ開発 ①
はじめてのiOSアプリ開発 ①
できる!スマホアプリ:Webからはじまるアプリ for CMU16
できる!スマホアプリ:Webからはじまるアプリ for CMU16
20120316 designerworkshoppublished
20120316 designerworkshoppublished
Visual Studio を使用した Cordova 開発
Visual Studio を使用した Cordova 開発
iQONの開発手法 at iQONエンジニアセミナー
iQONの開発手法 at iQONエンジニアセミナー
Osc2012 appinventor のその後
Osc2012 appinventor のその後
Watch connectivity
Watch connectivity
iOS豆知識ver0.0.5
iOS豆知識ver0.0.5
デザイナーでも安心!はじめてのiOSアプリ開発 先生:関根 元和
デザイナーでも安心!はじめてのiOSアプリ開発 先生:関根 元和
iOSアプリを審査に提出してみた話
iOSアプリを審査に提出してみた話
プロ文.com 勉強会 Phase 1
プロ文.com 勉強会 Phase 1
Kürzlich hochgeladen
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey
Toru Tamaki
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
Hiroki Ichikura
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Yuma Ohgami
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
sugiuralab
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Daniel
danielhu54
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdf
taisei2219
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
iPride Co., Ltd.
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet
Toru Tamaki
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
Ryo Sasaki
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
Toru Tamaki
Kürzlich hochgeladen
(10)
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Daniel
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdf
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
iOS 8 App Extension
1.
iOS8 App Extension LINE
Developer Meetup in Fukuoka #6 2014.07.29 難波 健雄
2.
自己紹介 • 難波 健雄 •
LINE Fukuoka iOS Developer • github.com/groovelab • no music no life
3.
自己紹介 JAZZ やってます
4.
自己紹介 福岡城のFacebookページ
5.
はじめに • 動作環境 • Xcode6
beta4 • iOS8 beta4 • iOS SDK 8 beta4
6.
はじめに • 動作環境 • Xcode6
beta4 • iOS8 beta4 • iOS SDK 8 beta4 beta5 で変わるかもしれません
7.
アジェンダ • App Extension •
Extension Point • Host AppとApp Extension • Containing AppとApp Extensionの配布 • App Extensionの実装とデバッグ
8.
App Extension • iOS8から新しく追加されたアプリ連携の仕組み •
iOS7まではURLスキームによる連携 (別アプリ起動) • 複数のアプリで同じ機能を使用できる 詳細は App Extension Programming Guide を参照
9.
App Extension 同じ機能 例えば、、、 • ブラウザからFacebook・Twitter以外のSNSへ投稿 •
現在のホークスの試合を通知センターで表示 • 画像・動画の編集 • 独自のキーボード
10.
App Extension • すでにGitHubには、たくさんのリポジトリが作ら れている •
たとえば • たとえば • たとえば • たとえば
11.
App Extension いま、App Extensionがアツイ! •
すでにGitHubには、たくさんのリポジトリが作ら れている
12.
Extension Point • AppExtensionには様々な種類がある
13.
Extension Point • AppExtensionには様々な種類がある •
種類 → Extension Point
14.
Extension Point • Today •
Share • Action • Photo Editing • Document Provider • Custom Keyboard iOSのみ
15.
Extension Point • Today •
Share • Action • Photo Editing • Document Provider ← 諸事情により割愛します • Custom Keyboard
16.
Extension Point • Today •
通知センターの「今日」に表示 • Widgetとも呼ぶ
17.
Extension Point • Share •
コンテンツの共有 • SNSへの投稿
18.
Extension Point • Action •
コンテンツの編集 • 画像・テキスト • サンプルコード • Extension Request Handling • Safari Plugin • JavaScriptで実装
19.
Extension Point • Photo
Editing • 写真アプリから連携 • 画像や動画を編集 • サンプルコード
20.
Extension Point • Custom
Keyboard • 独自のキーボードを作成可能
21.
Host AppとApp Extension •
App Extensionを呼び出すアプリ → Host App • Host AppとApp Extensionは別プロセスで動作する
22.
Host AppとApp Extension •
Host AppとApp Extensionのデータ受け渡しは NSExtensionContextインスタンスを利用する • NSExtensionContext → テキスト・画像などを含む
23.
Containing App • App
Extensionの作成方法 1. XcodeでiOSアプリProjectを作成 2. Targetの追加 → Application Extension → Extension Pointを決定
24.
Containing App • App
Extensionの作成方法 1. XcodeでiOSアプリProjectを作成 ← Containing App 2. Targetの追加 → Application Extension → Extension Pointを決定
25.
Containing App • App
Extensionの作成方法 1. XcodeでiOSアプリProjectを作成 ← Containing App 2. Targetの追加 → Application Extension → Extension Pointを決定 • App Extensionの配布 1. Containing App をAppStoreに登録 2. Containing App をAppStoreからインストール
26.
Containing App • App
Extensionの作成方法 1. XcodeでiOSアプリProjectを作成 ← Containing App 2. Targetの追加 → Application Extension → Extension Pointを決定 • App Extensionの配布 1. Containing App をAppStoreに登録 2. Containing App をAppStoreからインストール 同時にAppExtensionもインストールされる
27.
App Extensionの実装 • Containing
Appにtargetを追加する ここまでは同じ
28.
App Extensionの実装 • Containing
Appにtargetを追加する ここまでは同じ • Extension Pointによって実装が異なる • Todayの場合 1. StoryBoardでUIを作成 2. UIに表示するデータを取得する処理を実装 3. 取得したデータをUIにセットする処理を実装
29.
App Extensionのデバッグ 1. 追加したtargetをRun
▶ 2. どのアプリを起動するか選択 ← Containing AppはNG 3. 起動したアプリからApp Extensionを呼ぶ 4. RunしたAppExtensionがデバッガに接続される • デバッグコンソール • NSLog() • break point
30.
App Extensionのデバッグ 1. 追加したtargetをRun
▶ 2. どのアプリを起動するか選択 ← Containing AppはNG 3. 起動したアプリからApp Extensionを呼ぶ 4. RunしたAppExtensionがデバッガに接続される • デバッグコンソール • NSLog() • break point
31.
Today Extension • UIViewControllerを継承したTodayViewController •
StoryBoardを使用可能 • UILabel, UIButton • キーボード入力できないのでUITextFieldは利用不可 • preferredContentSizeでサイズ変更 • viewDidLoad は通知センターを表示するたびに呼ばれる • NSURLConnectionで外部コンテンツ参照可能
32.
Share Extension • SLComposeServiceViewControllerを継承した ShareViewController •
デフォルトのUI(ダイアログ)を使用する • Storyboardは背景に使用される • configurationItemsでダイアログのフッターにアイテムを追 加 • didSelectPostで投稿処理を実装する
33.
Action Extension • UIViewControllerを継承したActionViewController •
StoryBoardを使用可能 • NSExtensionContextを通じて編集するコンテンツ を取得・セットする • done で処理を実装する
34.
Photo Editing Extension •
UIViewControllerを継承した PhotoEditingViewController • StoryBoardを使用可能 • startContentEditingWithInputで編集するコンテンツを 表示 • finishContentEditingWithCompletionHandlerで編集し たコンテンツを保存する
35.
Custom Keyboard • UIInputViewControllerを継承した KeyboardViewController •
StoryBoardを使用できない • viewDidLoadでUIButtonをaddSubviewしていく • textDocumentProxyのinsertText にテキストを渡す
36.
実装で注意すること • 使用できないクラス・メソッドがある • NS_EXTENSION_UNAVAILABLE •
[UIApplication sharedApplication] • [UIApplication openURL] • [self.extensionContext openURL: …] • ↑ContainingAppを起動することは可能 • UIAlertController ← iOS8版UIAlertView • Todayでは使用できず
37.
実装で注意すること • Containing AppとAppExtensionのデータ共有 •
AppGroupを設定することで実現可能 • info.plist で受け付けるコンテンツを制限 • NSExtensionActivationRule • NSExtensionActivationSupportsText • NSExtensionActivationSupportsImageWithMaxC ount
38.
実装で注意すること • バッドノウハウ (beta4だけ?) •
TodayはiOSシミュレータのほうがデバッグしやすい • 修正内容を反映させるのにiOSの再起動が必要 • iOSシミュレータを終了 → Run • Photo Editing、Custom Keyboardは 実機のみデバッガを使用できる • Custom KeyboardはUserDefaultsでContainingAppとデータ共有で きない? ↑公式ドキュメントにはできると書いてあるので、beta4のバグかも
39.
最後に LINE Fukuokaでは 開発エンジニアを募集しています https://linefukuoka.co.jp/career/developer
Jetzt herunterladen