SlideShare a Scribd company logo
1 of 16
Mountain Lion の
Sharing Service
       宇佐見 公輔
   @usamik26 / usami-k
自己紹介
• 宇佐見 公輔(うさみ こうすけ)
• 本業は組み込みソフトエンジニア(デ
 バイスドライバ、ブートローダなど)

• CotEditor開発・メンテナンス
• MacPorts Port Maintainer
Sharing Service とは

• OS X 10.8 の新機能のひとつ
• Safari とかにあるこれ→
• Cocoaアプリから、ボタン1つで
 Twitter投稿/メール作成など
Cocoaの関連クラス


• NSSharingService
• NSSharingServicePicker
NSSharingService

NSSharingService	 *service	 =
	 	 [NSSharingService	 
	 	 	 	 sharingServiceNamed:
	 	 	 	 	 	 NSSharingServiceNamePostOnTwitter];

[service	 performWithItems:@[@"test"]];
NSSharingService
使えるサービス
•   NSSharingServiceNamePostOnTwitter

•   NSSharingServiceNameComposeEmail

•   NSSharingServiceNameComposeMessage

•   NSSharingServiceNameSendViaAirDrop

•   NSSharingServiceNameAddToSafariReadingList

•   NSSharingServiceNameAddToIPhoto

•   NSSharingServiceNamePostImageOnFlickr

•   ・・・など(NSSharingServiceのリファレンスを参照)
渡せるitem
• NSString
• NSImage
• NSURL
 • NSPasteboardWritingプロトコルを実
   装しているもの

• これらをNSArrayに入れて渡す
NSSharingServicePicker


NSSharingServicePicker	 *picker	 =	 
	 	 [[NSSharingServicePicker	 alloc]
	 	 	 	 initWithItems:@[@"test"]];

[picker	 showRelativeToRect:[sender	 bounds]
	 	 ofView:sender	 preferredEdge:NSMinYEdge];
NSSharingServicePicker
表示されるサービス

• Pickerはitemの種類に応じて適切な
  サービスを選んで表示する

• NSSharingService	 の
  canPerformWithItems:	 メソッドでitem
  を扱えるか判定する
表示されるサービス
• Pickerに表示するサービスをカスタマイ
 ズすることもできる

• 以下のdelegateメソッドで表示したい
 NSSharingService	 の配列を返せばよい

 sharingServicePicker:sharingServicesForIte
 ms:proposedSharingServices:
自前のサービス

• 独自のSharing Serviceを作成して、
 Pickerに表示することができる

• 先ほどのdelegateを使う
• NSSharingServiceの独自インスタンス
 を生成する
自前のサービス

NSSharingService	 *customService	 =
	 	 [[NSSharingService	 alloc]
	 	 	 	 initWithTitle:@"ServiceName"
	 	 	 	 image:image
	 	 	 	 alternateImage:nil
	 	 	 	 handler:^{
	 	 	 	 	 	 /*	 自前のサービスの処理	 */
	 	 	 	 }];
自前のサービス
• Pickerのdelegateでサービス一覧を返
 す際に、カスタムサービスを追加して
 返す

• 自前のサービスの実装は、アプリごと
 に行う必要がある(システム全体に適
 用する方法が今のところなさそう)
まとめ

• OS X 10.8 Mountain Lion では
 Sharing Service でお手軽に Share ボ
 タンを実装できる

• 今後、対応サービスの追加に期待した
 い

More Related Content

What's hot

Aws elastic beanstalk-handson-summit2012
Aws elastic beanstalk-handson-summit2012Aws elastic beanstalk-handson-summit2012
Aws elastic beanstalk-handson-summit2012Akio Katayama
 
CloudFront構築事例 ハートビーツ 20121025
CloudFront構築事例 ハートビーツ 20121025CloudFront構築事例 ハートビーツ 20121025
CloudFront構築事例 ハートビーツ 20121025Toshiaki Baba
 
Lightsailシンプルプランのご紹介
Lightsailシンプルプランのご紹介Lightsailシンプルプランのご紹介
Lightsailシンプルプランのご紹介eyeon1
 
AWS Elastic Beanstalk 詳細 -ほぼ週刊AWSマイスターシリーズ第9回-
AWS Elastic Beanstalk 詳細 -ほぼ週刊AWSマイスターシリーズ第9回-AWS Elastic Beanstalk 詳細 -ほぼ週刊AWSマイスターシリーズ第9回-
AWS Elastic Beanstalk 詳細 -ほぼ週刊AWSマイスターシリーズ第9回-SORACOM, INC
 
5分で振り返る windows azure の歴史
5分で振り返る windows azure の歴史5分で振り返る windows azure の歴史
5分で振り返る windows azure の歴史Sunao Tomita
 
Bluemix体験レポート@第3回soft layer勉強会 20140901_ver.2
Bluemix体験レポート@第3回soft layer勉強会 20140901_ver.2Bluemix体験レポート@第3回soft layer勉強会 20140901_ver.2
Bluemix体験レポート@第3回soft layer勉強会 20140901_ver.2YoshiyukiKonno
 
[福井]Amimoto ハンズオン
[福井]Amimoto ハンズオン[福井]Amimoto ハンズオン
[福井]Amimoto ハンズオンHiromichi Koga
 
[沖縄]Amimoto ハンズオン
[沖縄]Amimoto ハンズオン[沖縄]Amimoto ハンズオン
[沖縄]Amimoto ハンズオンHiromichi Koga
 
Vsug day 2010 summer windows azure でやってみよう
Vsug day 2010 summer windows azure でやってみようVsug day 2010 summer windows azure でやってみよう
Vsug day 2010 summer windows azure でやってみようmizusawa
 
[秋田ハンズオン]網元起動隊資料
[秋田ハンズオン]網元起動隊資料[秋田ハンズオン]網元起動隊資料
[秋田ハンズオン]網元起動隊資料Hiromichi Koga
 
Technical session 1 新機能web サイトで実現する web アプリケーション高速開発
Technical session 1 新機能web サイトで実現する web アプリケーション高速開発Technical session 1 新機能web サイトで実現する web アプリケーション高速開発
Technical session 1 新機能web サイトで実現する web アプリケーション高速開発GoAzure
 

What's hot (20)

Aws de OmniOS
Aws de OmniOSAws de OmniOS
Aws de OmniOS
 
Aws elastic beanstalk-handson-summit2012
Aws elastic beanstalk-handson-summit2012Aws elastic beanstalk-handson-summit2012
Aws elastic beanstalk-handson-summit2012
 
VM-Manager
VM-ManagerVM-Manager
VM-Manager
 
CloudFront構築事例 ハートビーツ 20121025
CloudFront構築事例 ハートビーツ 20121025CloudFront構築事例 ハートビーツ 20121025
CloudFront構築事例 ハートビーツ 20121025
 
OSC 2012.Cloud
OSC 2012.CloudOSC 2012.Cloud
OSC 2012.Cloud
 
Amazon EC2 LINUX編
Amazon EC2 LINUX編Amazon EC2 LINUX編
Amazon EC2 LINUX編
 
Lightsailシンプルプランのご紹介
Lightsailシンプルプランのご紹介Lightsailシンプルプランのご紹介
Lightsailシンプルプランのご紹介
 
AWS 2014
AWS 2014AWS 2014
AWS 2014
 
AWS Elastic Beanstalk 詳細 -ほぼ週刊AWSマイスターシリーズ第9回-
AWS Elastic Beanstalk 詳細 -ほぼ週刊AWSマイスターシリーズ第9回-AWS Elastic Beanstalk 詳細 -ほぼ週刊AWSマイスターシリーズ第9回-
AWS Elastic Beanstalk 詳細 -ほぼ週刊AWSマイスターシリーズ第9回-
 
5分で振り返る windows azure の歴史
5分で振り返る windows azure の歴史5分で振り返る windows azure の歴史
5分で振り返る windows azure の歴史
 
20130222 osc tokyo
20130222 osc tokyo20130222 osc tokyo
20130222 osc tokyo
 
Oss on Azure, Websites, WordPress
Oss on Azure, Websites, WordPressOss on Azure, Websites, WordPress
Oss on Azure, Websites, WordPress
 
Bluemix体験レポート@第3回soft layer勉強会 20140901_ver.2
Bluemix体験レポート@第3回soft layer勉強会 20140901_ver.2Bluemix体験レポート@第3回soft layer勉強会 20140901_ver.2
Bluemix体験レポート@第3回soft layer勉強会 20140901_ver.2
 
Docker入門
Docker入門Docker入門
Docker入門
 
WordBeach 2012
WordBeach 2012WordBeach 2012
WordBeach 2012
 
[福井]Amimoto ハンズオン
[福井]Amimoto ハンズオン[福井]Amimoto ハンズオン
[福井]Amimoto ハンズオン
 
[沖縄]Amimoto ハンズオン
[沖縄]Amimoto ハンズオン[沖縄]Amimoto ハンズオン
[沖縄]Amimoto ハンズオン
 
Vsug day 2010 summer windows azure でやってみよう
Vsug day 2010 summer windows azure でやってみようVsug day 2010 summer windows azure でやってみよう
Vsug day 2010 summer windows azure でやってみよう
 
[秋田ハンズオン]網元起動隊資料
[秋田ハンズオン]網元起動隊資料[秋田ハンズオン]網元起動隊資料
[秋田ハンズオン]網元起動隊資料
 
Technical session 1 新機能web サイトで実現する web アプリケーション高速開発
Technical session 1 新機能web サイトで実現する web アプリケーション高速開発Technical session 1 新機能web サイトで実現する web アプリケーション高速開発
Technical session 1 新機能web サイトで実現する web アプリケーション高速開発
 

Similar to Mountain Lion Sharing Service

"NAZE? NANI? CloudStack" on OSC Sendai 2011 / May 21 2011
"NAZE? NANI? CloudStack" on OSC Sendai 2011 / May 21 2011"NAZE? NANI? CloudStack" on OSC Sendai 2011 / May 21 2011
"NAZE? NANI? CloudStack" on OSC Sendai 2011 / May 21 2011Masahito Zembutsu
 
Docker ホスティングサービス 'Arukas' での Mesos + Marathon の活用について(Mesos勉強会)
Docker ホスティングサービス 'Arukas' での Mesos + Marathon の活用について(Mesos勉強会)Docker ホスティングサービス 'Arukas' での Mesos + Marathon の活用について(Mesos勉強会)
Docker ホスティングサービス 'Arukas' での Mesos + Marathon の活用について(Mesos勉強会)さくらインターネット株式会社
 
Docker on azure!進化していくcontainerを覗いてみよう!
Docker on azure!進化していくcontainerを覗いてみよう! Docker on azure!進化していくcontainerを覗いてみよう!
Docker on azure!進化していくcontainerを覗いてみよう! Tsukasa Kato
 
クラウド勉強会in北陸Azure資料
クラウド勉強会in北陸Azure資料クラウド勉強会in北陸Azure資料
クラウド勉強会in北陸Azure資料Shinichiro Isago
 
NET MAUI for .NET 7 for iOS, Android app development
 NET MAUI for .NET 7 for iOS, Android app development  NET MAUI for .NET 7 for iOS, Android app development
NET MAUI for .NET 7 for iOS, Android app development Shotaro Suzuki
 
serverless openstack 101
serverless openstack 101serverless openstack 101
serverless openstack 101Naoto Gohko
 
Cloudianと連携するCloudStack (Cloudian Summit 2012)
Cloudianと連携するCloudStack (Cloudian Summit 2012)Cloudianと連携するCloudStack (Cloudian Summit 2012)
Cloudianと連携するCloudStack (Cloudian Summit 2012)CLOUDIAN KK
 
Microsoft Azure の概要と最近のアップデート(2016年6月25日)
Microsoft Azure の概要と最近のアップデート(2016年6月25日)Microsoft Azure の概要と最近のアップデート(2016年6月25日)
Microsoft Azure の概要と最近のアップデート(2016年6月25日)kekekekenta
 
[Microsoft Tech Summit 2017] マイクロサービスだけじゃない! コンテナー オーケストレーターとしての「Azure Servic...
[Microsoft Tech Summit 2017] マイクロサービスだけじゃない! コンテナー オーケストレーターとしての「Azure Servic...[Microsoft Tech Summit 2017] マイクロサービスだけじゃない! コンテナー オーケストレーターとしての「Azure Servic...
[Microsoft Tech Summit 2017] マイクロサービスだけじゃない! コンテナー オーケストレーターとしての「Azure Servic...Naoki (Neo) SATO
 
AWS Lake Formation で実現、マイクロサービスのサーバーレスな分散トレーシング
AWS Lake Formation で実現、マイクロサービスのサーバーレスな分散トレーシングAWS Lake Formation で実現、マイクロサービスのサーバーレスな分散トレーシング
AWS Lake Formation で実現、マイクロサービスのサーバーレスな分散トレーシング江藤 武司
 
dstn交流会_data_spider 3.0最新情報とデモ
dstn交流会_data_spider 3.0最新情報とデモdstn交流会_data_spider 3.0最新情報とデモ
dstn交流会_data_spider 3.0最新情報とデモdstn
 
「hbstudy#23 OpenStack祭!!」資料 ~OpenStackプロジェクトの全体像~
「hbstudy#23 OpenStack祭!!」資料 ~OpenStackプロジェクトの全体像~「hbstudy#23 OpenStack祭!!」資料 ~OpenStackプロジェクトの全体像~
「hbstudy#23 OpenStack祭!!」資料 ~OpenStackプロジェクトの全体像~Masanori Itoh
 
[Java Festa in 札幌 2012] Windows Azure を活用した Windows 8 アプリケーション開発
[Java Festa in 札幌 2012] Windows Azure を活用した Windows 8 アプリケーション開発[Java Festa in 札幌 2012] Windows Azure を活用した Windows 8 アプリケーション開発
[Java Festa in 札幌 2012] Windows Azure を活用した Windows 8 アプリケーション開発Naoki (Neo) SATO
 
作られては消えていく泡のように儚いクラスタの運用話
作られては消えていく泡のように儚いクラスタの運用話作られては消えていく泡のように儚いクラスタの運用話
作られては消えていく泡のように儚いクラスタの運用話Tsuyoshi Torii
 
[Microsoft Tech Summit] Linux/Java にも対応! Azure Service Fabric を使ったマイクロサービス開発
[Microsoft Tech Summit] Linux/Java にも対応! Azure Service Fabric を使ったマイクロサービス開発[Microsoft Tech Summit] Linux/Java にも対応! Azure Service Fabric を使ったマイクロサービス開発
[Microsoft Tech Summit] Linux/Java にも対応! Azure Service Fabric を使ったマイクロサービス開発Naoki (Neo) SATO
 
Istio, Kubernetes and Cloud Foundry
Istio, Kubernetes and Cloud FoundryIstio, Kubernetes and Cloud Foundry
Istio, Kubernetes and Cloud FoundryKazuto Kusama
 
Cloudってどんなもの?
Cloudってどんなもの?Cloudってどんなもの?
Cloudってどんなもの?Kazuto Kusama
 

Similar to Mountain Lion Sharing Service (20)

"NAZE? NANI? CloudStack" on OSC Sendai 2011 / May 21 2011
"NAZE? NANI? CloudStack" on OSC Sendai 2011 / May 21 2011"NAZE? NANI? CloudStack" on OSC Sendai 2011 / May 21 2011
"NAZE? NANI? CloudStack" on OSC Sendai 2011 / May 21 2011
 
Docker ホスティングサービス 'Arukas' での Mesos + Marathon の活用について(Mesos勉強会)
Docker ホスティングサービス 'Arukas' での Mesos + Marathon の活用について(Mesos勉強会)Docker ホスティングサービス 'Arukas' での Mesos + Marathon の活用について(Mesos勉強会)
Docker ホスティングサービス 'Arukas' での Mesos + Marathon の活用について(Mesos勉強会)
 
Docker on azure!進化していくcontainerを覗いてみよう!
Docker on azure!進化していくcontainerを覗いてみよう! Docker on azure!進化していくcontainerを覗いてみよう!
Docker on azure!進化していくcontainerを覗いてみよう!
 
クラウド勉強会in北陸Azure資料
クラウド勉強会in北陸Azure資料クラウド勉強会in北陸Azure資料
クラウド勉強会in北陸Azure資料
 
NET MAUI for .NET 7 for iOS, Android app development
 NET MAUI for .NET 7 for iOS, Android app development  NET MAUI for .NET 7 for iOS, Android app development
NET MAUI for .NET 7 for iOS, Android app development
 
JAWS-UG Meets Windows (JAWS Days 2017)
JAWS-UG Meets Windows (JAWS Days 2017)JAWS-UG Meets Windows (JAWS Days 2017)
JAWS-UG Meets Windows (JAWS Days 2017)
 
Ops jaws meetup#3
Ops jaws meetup#3Ops jaws meetup#3
Ops jaws meetup#3
 
serverless openstack 101
serverless openstack 101serverless openstack 101
serverless openstack 101
 
Cloudianと連携するCloudStack (Cloudian Summit 2012)
Cloudianと連携するCloudStack (Cloudian Summit 2012)Cloudianと連携するCloudStack (Cloudian Summit 2012)
Cloudianと連携するCloudStack (Cloudian Summit 2012)
 
Microsoft Azure の概要と最近のアップデート(2016年6月25日)
Microsoft Azure の概要と最近のアップデート(2016年6月25日)Microsoft Azure の概要と最近のアップデート(2016年6月25日)
Microsoft Azure の概要と最近のアップデート(2016年6月25日)
 
[Microsoft Tech Summit 2017] マイクロサービスだけじゃない! コンテナー オーケストレーターとしての「Azure Servic...
[Microsoft Tech Summit 2017] マイクロサービスだけじゃない! コンテナー オーケストレーターとしての「Azure Servic...[Microsoft Tech Summit 2017] マイクロサービスだけじゃない! コンテナー オーケストレーターとしての「Azure Servic...
[Microsoft Tech Summit 2017] マイクロサービスだけじゃない! コンテナー オーケストレーターとしての「Azure Servic...
 
AWS Lake Formation で実現、マイクロサービスのサーバーレスな分散トレーシング
AWS Lake Formation で実現、マイクロサービスのサーバーレスな分散トレーシングAWS Lake Formation で実現、マイクロサービスのサーバーレスな分散トレーシング
AWS Lake Formation で実現、マイクロサービスのサーバーレスな分散トレーシング
 
dstn交流会_data_spider 3.0最新情報とデモ
dstn交流会_data_spider 3.0最新情報とデモdstn交流会_data_spider 3.0最新情報とデモ
dstn交流会_data_spider 3.0最新情報とデモ
 
「hbstudy#23 OpenStack祭!!」資料 ~OpenStackプロジェクトの全体像~
「hbstudy#23 OpenStack祭!!」資料 ~OpenStackプロジェクトの全体像~「hbstudy#23 OpenStack祭!!」資料 ~OpenStackプロジェクトの全体像~
「hbstudy#23 OpenStack祭!!」資料 ~OpenStackプロジェクトの全体像~
 
[Java Festa in 札幌 2012] Windows Azure を活用した Windows 8 アプリケーション開発
[Java Festa in 札幌 2012] Windows Azure を活用した Windows 8 アプリケーション開発[Java Festa in 札幌 2012] Windows Azure を活用した Windows 8 アプリケーション開発
[Java Festa in 札幌 2012] Windows Azure を活用した Windows 8 アプリケーション開発
 
作られては消えていく泡のように儚いクラスタの運用話
作られては消えていく泡のように儚いクラスタの運用話作られては消えていく泡のように儚いクラスタの運用話
作られては消えていく泡のように儚いクラスタの運用話
 
[Japan Tech summit 2017] CLD 006
[Japan Tech summit 2017]  CLD 006[Japan Tech summit 2017]  CLD 006
[Japan Tech summit 2017] CLD 006
 
[Microsoft Tech Summit] Linux/Java にも対応! Azure Service Fabric を使ったマイクロサービス開発
[Microsoft Tech Summit] Linux/Java にも対応! Azure Service Fabric を使ったマイクロサービス開発[Microsoft Tech Summit] Linux/Java にも対応! Azure Service Fabric を使ったマイクロサービス開発
[Microsoft Tech Summit] Linux/Java にも対応! Azure Service Fabric を使ったマイクロサービス開発
 
Istio, Kubernetes and Cloud Foundry
Istio, Kubernetes and Cloud FoundryIstio, Kubernetes and Cloud Foundry
Istio, Kubernetes and Cloud Foundry
 
Cloudってどんなもの?
Cloudってどんなもの?Cloudってどんなもの?
Cloudってどんなもの?
 

More from Kosuke Usami

View 系ライブラリに関する悩み
View 系ライブラリに関する悩みView 系ライブラリに関する悩み
View 系ライブラリに関する悩みKosuke Usami
 
Xamarin で Apple Watch アプリを作る
Xamarin で Apple Watch アプリを作るXamarin で Apple Watch アプリを作る
Xamarin で Apple Watch アプリを作るKosuke Usami
 
iBeacon Applications
iBeacon ApplicationsiBeacon Applications
iBeacon ApplicationsKosuke Usami
 
JXUG Conference 2 West
JXUG Conference 2 WestJXUG Conference 2 West
JXUG Conference 2 WestKosuke Usami
 
すごいHaskell読書会
すごいHaskell読書会すごいHaskell読書会
すごいHaskell読書会Kosuke Usami
 
Semantic Versioning
Semantic VersioningSemantic Versioning
Semantic VersioningKosuke Usami
 
Mac アプリの Retina 対応
Mac アプリの Retina 対応Mac アプリの Retina 対応
Mac アプリの Retina 対応Kosuke Usami
 
OS X LionのVersions対応
OS X LionのVersions対応OS X LionのVersions対応
OS X LionのVersions対応Kosuke Usami
 

More from Kosuke Usami (20)

SnapKit
SnapKitSnapKit
SnapKit
 
View 系ライブラリに関する悩み
View 系ライブラリに関する悩みView 系ライブラリに関する悩み
View 系ライブラリに関する悩み
 
RxSwift
RxSwiftRxSwift
RxSwift
 
Auto Layout Tips
Auto Layout TipsAuto Layout Tips
Auto Layout Tips
 
RxSwift x APIKit
RxSwift x APIKitRxSwift x APIKit
RxSwift x APIKit
 
RxSwift x Realm
RxSwift x RealmRxSwift x Realm
RxSwift x Realm
 
RxSwift
RxSwiftRxSwift
RxSwift
 
Eddystone Beacon
Eddystone BeaconEddystone Beacon
Eddystone Beacon
 
Xamarin で Apple Watch アプリを作る
Xamarin で Apple Watch アプリを作るXamarin で Apple Watch アプリを作る
Xamarin で Apple Watch アプリを作る
 
iBeacon Applications
iBeacon ApplicationsiBeacon Applications
iBeacon Applications
 
APIKit
APIKitAPIKit
APIKit
 
Swift Library
Swift LibrarySwift Library
Swift Library
 
JXUG Conference 2 West
JXUG Conference 2 WestJXUG Conference 2 West
JXUG Conference 2 West
 
すごいHaskell読書会
すごいHaskell読書会すごいHaskell読書会
すごいHaskell読書会
 
Xamarin.iOS
Xamarin.iOSXamarin.iOS
Xamarin.iOS
 
CotEditor Script
CotEditor ScriptCotEditor Script
CotEditor Script
 
Affine Transform
Affine TransformAffine Transform
Affine Transform
 
Semantic Versioning
Semantic VersioningSemantic Versioning
Semantic Versioning
 
Mac アプリの Retina 対応
Mac アプリの Retina 対応Mac アプリの Retina 対応
Mac アプリの Retina 対応
 
OS X LionのVersions対応
OS X LionのVersions対応OS X LionのVersions対応
OS X LionのVersions対応
 

Mountain Lion Sharing Service

Editor's Notes

  1. \n
  2. \n
  3. \n
  4. \n
  5. \n
  6. \n
  7. \n
  8. \n
  9. \n
  10. \n
  11. \n
  12. \n
  13. \n
  14. \n
  15. \n
  16. \n