Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
「シェア機能」について考えてみた
Search
PKPK-Carnage
October 23, 2019
Programming
120
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
「シェア機能」について考えてみた
PKPK-Carnage
October 23, 2019
More Decks by PKPK-Carnage
See All by PKPK-Carnage
iOSアプリを堅牢にデザインするために知っておくべきたった1つのこと
pkpkcarnage
0
520
アプリへの導線の増やし方.pdf
pkpkcarnage
0
750
リリースビルドでのみ起こる謎のバグに見舞われた話
pkpkcarnage
0
230
Any型をprotocolにキャストする時に 気をつけた方がいい話
pkpkcarnage
0
310
今日から使える! Optionalをいい感じに扱うtips
pkpkcarnage
0
1.3k
もっと早く教えて欲しかった画面遷移
pkpkcarnage
0
370
iOSの通信処理を簡潔に書く
pkpkcarnage
0
320
Other Decks in Programming
See All in Programming
Laravelで学ぶ Webアプリケーションチューニング入門/web_application_tuning_101
hanhan1978
4
1.7k
the container ship “Apple Silicon”@WWDC26 Recap -Japan-\(region).swift
shingangan
0
110
使いながら育てる Claude Code — 開発フローの1コマンド化 × 繰り返し指摘の自動仕組み化
shiki_kakaku
0
1.7k
Google Apps Script で Ruby を動かす
kawahara
0
130
ドリフトを絶対に許さない(?)CDK運用 / CDK Ops with Zero Tolerance for Drifts (?)
akihisaikeda
1
170
AIが無かった頃の素敵な出会いの話
codmoninc
1
380
S3 を使うアプリケーションをローカル完結で動かすことに全力を注いでみた / Running S3 Apps Offline
contour_gara
0
220
これって Effect でできたのでは? / TSKaigi Mashup Kansai #2
susisu
0
140
Japan Community Day at Kubecon + CloudNativeCon Japan 2026: Learning Container Privilege Control by Building My Own Low-Level Container Runtime
ternbusty
1
130
【やさしく解説 設計編・中級 #1】一つの車に、運転手は一人 ~ある倉庫システムの事例から~
panda728
PRO
0
200
ビデオ通話が繋がる0.2秒で何が起きているのか
supurazako
2
180
夏だ!祭りだ!祭りとはドメインモデリングでは?
ryugen04
0
140
Featured
See All Featured
Building the Perfect Custom Keyboard
takai
2
830
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
How GitHub (no longer) Works
holman
316
150k
Darren the Foodie - Storyboard
khoart
PRO
3
3.5k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
10
1.3k
Organizational Design Perspectives: An Ontology of Organizational Design Elements
kimpetersen
PRO
1
790
HDC tutorial
michielstock
2
780
世界の人気アプリ100個を分析して見えたペイウォール設計の心得
akihiro_kokubo
PRO
72
41k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
130k
Information Architects: The Missing Link in Design Systems
soysaucechin
0
1k
YesSQL, Process and Tooling at Scale
rocio
174
15k
Skip the Path - Find Your Career Trail
mkilby
1
180
Transcript
ʮγΣΞػೳʯʹ͍ͭͯߟ͑ͯΈͨ 1 2019/9/17 ͋Δ͋ΔLTʙiOSΞϓϦ։ൃΤϯδχΞʙ Vol.7 Tomosuke Okada
About me • Tomosuke Okada • iOSྺ3 • ອըͷΞϓϦΛ࡞ͬͯ·͢ •
SNS • Qiita → @fr0g_fr0g • Github → Frog-Frog • Twitter → @fr0g_fr0g • μϒϧϑϩοά
iOSͰγΣΞػೳͱݴ͑ʁ 3
UIActivityViewController 4
• ࣮͕؆୯ • Πϯετʔϧ͞Ε͍ͯΔΞϓϦ ͕ࣗಈతʹදࣔ͞ΕΔ • ग़͢ΞϓϦΛϢʔβʔ͕Χελ ϚΠζͰ͖Δ UIActivityViewControllerͱɾɾɾ 5
UIActivityViewController͍͢͝ 6
͓͠·͍ 7
͍ɺͪΐͬͱͯ 8
ͦΜͳΛ͠ʹ͖ͨΜ͡Όͳ͍ 9
10 Netflix Spotify
γΣΞࣗ࡞Ͱ࣮ͯ͠Δ 11
12 Netflix Spotify
13 Netflix Spotify
InstagramετʔϦʔζͱɾɾɾʁ • Instagram্ͷߘํ๏ͷҰछ • 24࣌ؒͰߘ͕ফ͑Δ • ߘը໘Ͱଟ࠼ͳฤूΛߦ͑Δ • ςΩετ •
ελϯϓ • ͦͷଞ৭ʑʢΞϯέʔτɺΫΠζɺ࣭ͳͲʣ 14
UIActivityViewController͔ΒγΣΞͰ͖ͳ͍ 15
ͭ·Γɾɾɾʁ • InstagramετʔϦʔζ͔ͳΓࣗ༝͕ߴ͍γΣΞΛߦ͏͜ͱ͕Ͱ͖Δ • NetflixSpotifyͷΑ͏ͳίϯςϯπϏδωεΛߦ͏ୈҰઢͷαʔϏεͰ ɺͦΕΛߦ͏ͨΊʹOSඪ४ͷUIActivityViewControllerΛ͋͑ͯΘͣ ʹࣗ࡞͍ͯ͠Δ • γΣΞ͢ΔࡍͷϢʔβʔମݧΛ্ͤ͞Δ͜ͱ͕ॏཁͩͱߟ͑ΒΕ͍ͯ Δ
16
17
࣮ͯ͠Έͨ 18 final class StoriesSharer { private let urlScheme =
URL(string: "instagram-stories://share")! func share() { guard UIApplication.shared.canOpenURL(self.urlScheme) else { return } let item: [String: Any] = [ "com.instagram.sharedSticker.backgroundImage": UIImage(named: "StoryBackgroundImage")!.pngData()!, "com.instagram.sharedSticker.stickerImage": UIImage(named: "StoryStickerImage")!.pngData()! ] let options = [UIPasteboard.OptionsKey.expirationDate: Date().addingTimeInterval(60 * 5)] UIPasteboard.general.setItems([item], options: options) UIApplication.shared.open(self.urlScheme, options: [:], completionHandler: nil) } }
ΊͪΌͪ͘Ό؆୯ 19
(PPE #BE 20 • ࣗ࡞ͰಋઢΛ࡞Δඞཁ͕͋Δ • എܠɺεςοΧʔͷ४උ͕͍Δ • ετʔϦʔζ͔ΒΞϓϦʹඈ ͢ʹInstagramଆʹਃ͕ඞཁ
• ࣮͕͔ͳΓ؆୯ • ࠓ࣌ͷएऀʹਓؾ • ଞΞϓϦͷγΣΞΑΓࣗ༝͕ߴ͍ • ΞϓϦެࣜΠϯελάϥϜΞΧϯ τͱ͔Γ্͛ΕΔ
·ͱΊ • NetflixSpotifyͷΑ͏ͳίϯςϯπϏδωεͷୈҰઢͷαʔϏεγΣΞͷ ϢʔβʔମݧΛ্ͤ͞ΔͨΊʹInstagramετʔϦʔζΛ׆༻͍ͯ͠Δ • ͦΕΒͷαʔϏε͕ͦͷͨΊʹࣗ࡞ͰγΣΞը໘Λ࣮͢Δ΄Ͳॏཁࢹ͞Ε ͍ͯΔ • ࣮͢Δ͜ͱࣗମͱͯ؆୯ͳͷͰΔՁ͕͋Δ •
γΣΞը໘Λࣗ࡞͢Δ͜ͱ͕ελϯμʔυʹͳΔະདྷ͕དྷΔ͔͠Εͳ͍ 21
͓͠·͍ 22