Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Introduction to New Cast SDK (v3) for iOS
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Daichi Furiya (Wasabeef)
September 02, 2016
Programming
660
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Introduction to New Cast SDK (v3) for iOS
Daichi Furiya (Wasabeef)
September 02, 2016
More Decks by Daichi Furiya (Wasabeef)
See All by Daichi Furiya (Wasabeef)
DevFest Tokyo 2025 - Flutter のアプリアーキテクチャ現在地点
wasabeef
6
2.9k
About Flutter Architecture
wasabeef
1
330
2023 Flutter/Dart Summary
wasabeef
0
140
I/O Extended 2023 - Dart と Flutter の新機能
wasabeef
0
250
I/O Extended 2023 - Flutter 活用事例
wasabeef
10
3.1k
What it Takes to be a Flutter Developer
wasabeef
0
270
FlutterKaigi 2022 Keynote
wasabeef
1
760
Flutter Hooks を使ったアプリ開発 / App Development with the Flutter Hooks
wasabeef
2
1.6k
Flutter 2021 の振り返りと今後のアプリ開発に向けて / Looking back on Flutter 2021 and for future app development.
wasabeef
4
2.3k
Other Decks in Programming
See All in Programming
変化を抱擁するドキュメントの作り方 - ビジネスルール駆動開発がもたらす、コードとの新しい関係
ioki
2
200
手動確認はもう限界 〜XCUITestでCustom URL Schemeの遷移を起動種別ごとに自動テストする〜 / Testing Custom URL Schemes with XCUITest
otouto
0
280
DroidKaigi 2026 「個人開発という実験場: Android エンジニアが手にする4つの自由」
slashnephy
0
230
C#の現在地 進化の歴史と、AI時代の.NET Everywhere
neuecc
0
270
【高い買い物LT会】初任給で話題の国産フィジカルAIを買った話
akagami
PRO
0
160
Claude Codeを組織的に動かして月400PRを実現した話
happy_ryo
0
280
Webの地図
yosuke_furukawa
PRO
6
4.5k
そのリトライ、死んだコネクションを使い回していませんか ── GoのHTTPクライアントとHTTP/2を実プロダクト障害から学び直す
myus4a
0
140
AI Agent時代のリアーキテクチャ戦略と実践
hokaccha
9
4.5k
Are APIs Still Relevant in the AI Era?
soyuka
0
220
モデルのリファクタリングが難しいと思ったら、そもそも複雑だったのはビジネス仕様だった ? / is-the-business-domain-the-real-complexity
hatsu38
0
260
スマート反転とウェブアクセシビリティ
camiha
0
210
Featured
See All Featured
How to Build an AI Search Optimization Roadmap - Criteria and Steps to Take #SEOIRL
aleyda
1
2.2k
How to Think Like a Performance Engineer
csswizardry
28
2.8k
Build The Right Thing And Hit Your Dates
maggiecrowley
39
3.4k
Have SEOs Ruined the Internet? - User Awareness of SEO in 2025
akashhashmi
0
500
Making the Leap to Tech Lead
cromwellryan
135
10k
Leadership Guide Workshop - DevTernity 2021
reverentgeek
1
370
More Than Pixels: Becoming A User Experience Designer
marktimemedia
3
520
We Are The Robots
honzajavorek
0
370
jQuery: Nuts, Bolts and Bling
dougneiner
66
8.6k
Rebuilding a faster, lazier Slack
samanthasiow
85
9.6k
Scaling GitHub
holman
464
140k
Stop Working from a Prison Cell
hatefulcrawdad
274
21k
Transcript
New Google Cast SDK for iOS wasabeef iOSDC Japan 2016
About me Daichi Furiya Google Developer Expert AbemaTV, Inc. wasabeef
@wasabeef_jp
Chromecast http://www.google.co.jp/intl/ja_jp/chromecast
Google Cast SDK v3
Session state management Connect, disconnect, and reconnect logic UX implementation
and UI Google Cast SDK v3
Sender
CocoaPods pod 'google-cast-sdk'
Initialize the Cast Context let options = GCKCastOptions(receiverApplicationID: “***D36F5”) GCKCastContext.setSharedInstanceWithOptions(options)
Add a Cast Button
Add a Cast Button let frame = CGRect(x: 0, y:
0, width: 24, height: 24) let castButton = GCKUICastButton(frame: frame) castButton.tintColor = UIColor.whiteColor() let item = UIBarButtonItem(customView: castButton) self.navigationItem.rightBarButtonItem = item
Load Media let meta = GCKMediaMetadata(metadataType: .Movie) meta.setString("わさビーフの奇妙な冒険 #1", forKey:
kGCKMetadataKeyTitle) meta.setString("堅あげポテトは砕けない", forKey: kGCKMetadataKeySubtitle) meta.addImage( GCKImage(URL: NSURL(string: “https://wasabeef.jp/cover.webp")!, width: 480, height: 720)) let mediaInfo = GCKMediaInformation( contentID: "https://wasabeef.jp/jojo-anim.m3u8", streamType: .Buffered, contentType: "application/x-mpegurl", metadata: meta, streamDuration: 0, mediaTracks: [], textTrackStyle: nil, customData: nil ) if let session = GCKCastContext.sharedInstance().sessionManager.currentCastSession { session.remoteMediaClient.loadMedia(mediaInfo, autoplay: true) }
Recover from a temporary loss of WiFi Recover from device
sleep Recover from backgrounding the app Recover if the app crashed Automatic Reconnection
googlecast/ CastVideos-ios
Receiver
Google Cast SDK Developer Console
Default Media Receiver Custom Receiver Styled Media Receiver Receiver
Custom Receiver https://developers.google.com/cast/docs/custom_receiver
googlecast/ CastReferencePlayer
Conclusion
Thank you. twitter.com/wasabeef_jp wasabeef.jp github.com/wasabeef