SlideShare a Scribd company logo
kitasuke@trippiece
Ref. http://cnet4.cbsistatic.com/hub/i/r/2014/09/09/1d101da2-7abd-40aa-b0c9- 
94e4f9b27b95/thumbnail/770x433/c2705e97ac76cc74f2c19abc83929de9/apple-event- 
apple-watch-5446.jpg 
Ref. http://cdn.macrumors.com/article-new/ 
2014/09/applewatch2.jpg
Today 
Share 
←今日はこれ 
Action 
Photo Editing 
Storage Provider 
Custom Keyboard
SNSへの投稿 
コンテンツの共有
e.g. Twitter e.g. Pocket
1. Share Extension用のターゲット追加 
2. App Groupsの設定 
3. NSExtensionAttributesの設定 
4. Containing app側での認証・バリデー 
ション・アップロード処理の実装 
5. Host app側での更新処理実装
Share Extension@pixiv
e.g. Capabilities
e.g. Info.plist
e.g. SLComposeServiceViewController
 ローカル→ NSUserDefaults 
 サーバー→ NSURLSessionでアップロード
1. NSExtensionContextのinputItemsからNSExtensionItemを取得 
2. NSExtensionItemのattachmentsから各NSItemProviderを取得 
3. loadItemForTypeIdentifier: options: completionHandler: で各コ 
ンテンツを取得
Pocketの辞書版を作りたい 
Safariで英語の記事を読んでいて、分 
からない単語があれば保存して後で 
調べる 
→ Safariで選択中のテキストを 
Share Extensionで保存する
1. Safari上での情報を取得したい(そもそも可能?) 
2. テキストだけ共有したい 
(NSExtensionActivationSupportsImageWithMaxCo 
untをゼロにしても駄目だった) 
←勝手に表示される 
この画像が不要
 Extensionタスク開始時に実行されるrun関数 
 Extensionタスク終了時に実行されるfinalize関数 
Info.plistのNSExtensionAttributes以下の 
NSExtensionJavaScriptPreprocessingFileにファイル名を指定する 
* JavaScriptファイルを使用すると、 
kUTTypePropertyListタイプのNSItemProviderがセット 
される
1. JavaScriptファイルを 
NSExtensionJavaScriptPreprocessingFileに設定 
2. Safariが選択中の文字列とサイトURLを取得する処 
理をJavaScriptで実装 
3. 選択された文字列をテキストビューに表示 
4. Postボタンを押すと、選択された文字列とURLを 
NSUserDefaultsに保存 
5. Host appでNSUserDefaultsからコンテンツ取得
デモ
 情報量が少ないが思ったより簡単 
 ログ見ながら手探りで進める 
Apple Watch用アプリを開発 
出来ると思って、わくわくし 
ながら開発するのが大事
Share Extension@pixiv

More Related Content

PPTX
Azure DevOps ハンズオン Vo.3 ~Delivery Plans を用いたプロジェクトのスケジュール管理~
PPTX
サービスリリースから安定軌道に乗せるまでに行った開発施策
PPTX
Azure DevOps ハンズオン Vo.2 ~Azure DevOps Wiki を用いたドキュメントの作成~
PPTX
Jupyterカーネルを魔改造した話
PPTX
WatchKit@potatotips
PPTX
App extensionでテストコードを書く
PPTX
Today & Share Extension@potatotips
PDF
SwiftCoreとFoundationを読んでみた
Azure DevOps ハンズオン Vo.3 ~Delivery Plans を用いたプロジェクトのスケジュール管理~
サービスリリースから安定軌道に乗せるまでに行った開発施策
Azure DevOps ハンズオン Vo.2 ~Azure DevOps Wiki を用いたドキュメントの作成~
Jupyterカーネルを魔改造した話
WatchKit@potatotips
App extensionでテストコードを書く
Today & Share Extension@potatotips
SwiftCoreとFoundationを読んでみた

Viewers also liked (14)

PDF
Search APIs & Universal Links
PDF
WKInterfaceMap on Apple Watch
PDF
Swift core
PDF
Useful and Practical Functionalities in Realm
PPTX
Uiテスト@yidev
PDF
WWDCのチケット外れてもSFに行った方が良い理由
PDF
Protocol in Swift
PDF
Introducing Cardio
PDF
Search APIs in Spotlight and Safari
PDF
Advanced realm in swift
PPTX
iOSにおけるUIテスト@potetotips
PDF
User Scenario based UI testing with KIF
PDF
How to make workout app for watch os 2
PDF
Command Line Tool in swift
Search APIs & Universal Links
WKInterfaceMap on Apple Watch
Swift core
Useful and Practical Functionalities in Realm
Uiテスト@yidev
WWDCのチケット外れてもSFに行った方が良い理由
Protocol in Swift
Introducing Cardio
Search APIs in Spotlight and Safari
Advanced realm in swift
iOSにおけるUIテスト@potetotips
User Scenario based UI testing with KIF
How to make workout app for watch os 2
Command Line Tool in swift
Ad

More from Yusuke Kita (19)

PDF
Integrating libSyntax into the compiler pipeline
PDF
Making your own tool using SwiftSyntax
PDF
[Deprecated] Integrating libSyntax into the compiler pipeline
PDF
Creating your own Bitrise step
PDF
Introducing swift-format
PDF
Unidirectional Data Flow Through SwiftUI
PDF
Open Source Swift Workshop
PDF
Contributing to Swift Compiler
PDF
Writing a compiler in go
PDF
Writing an interpreter in swift
PDF
SIL Optimizations - AllocBoxToStack
PDF
SIL for First Time Learners
PDF
var, let in SIL
PDF
SIL for First Time Leaners LT
PDF
How to try! Swift
PDF
SIL for the first time
PDF
Introducing protobuf in Swift
PDF
Type-safe Web APIs with Protocol Buffers in Swift at AltConf
PDF
Type-safe Web APIs with Protocol Buffers in Swift at iOSCon
Integrating libSyntax into the compiler pipeline
Making your own tool using SwiftSyntax
[Deprecated] Integrating libSyntax into the compiler pipeline
Creating your own Bitrise step
Introducing swift-format
Unidirectional Data Flow Through SwiftUI
Open Source Swift Workshop
Contributing to Swift Compiler
Writing a compiler in go
Writing an interpreter in swift
SIL Optimizations - AllocBoxToStack
SIL for First Time Learners
var, let in SIL
SIL for First Time Leaners LT
How to try! Swift
SIL for the first time
Introducing protobuf in Swift
Type-safe Web APIs with Protocol Buffers in Swift at AltConf
Type-safe Web APIs with Protocol Buffers in Swift at iOSCon
Ad

Share Extension@pixiv