SlideShare ist ein Scribd-Unternehmen logo
1 von 47
Downloaden Sie, um offline zu lesen
tvOSネイティブアプリを作る
デジタルサーカス(株)長谷川智希
長谷川智希
とも き
@tomzoh

とむぞう
趣味 Webサイト開発, iOSアプリ開発
レンタルカートレース, ビール, 電子工作 (mbed), …
hasegawa

tomoki
デジタルサーカス㈱ 副団長CTO
Facebook CakePHP iOS
UntappedTwitter
デジタルサーカス(株)
・ Webサイト開発
・ スマホアプリ開発
・ 自社サービス
( )
(iOS, Android)
(http://appbuilder.jp)
Twitter: @tomzoh
Twitter: @tomzoh
tvOSネイティブアプリを作る
今日のテーマ:
tv
♥
tvでできること
・ プリインストールアプリで動画・⾳楽を再⽣
・ AirPlayでiOS/OSXから
・ 動画・⾳楽を再⽣
・ ミラーリング表⽰
tvでできること
・ プリインストールアプリで動画・⾳楽を再⽣
・ AirPlayでiOS/OSXから
・ 動画・⾳楽を再⽣
・ ミラーリング表⽰
・ AppStoreからアプリをインストールして実⾏
・ Xcodeでアプリを⾃作
NEW
NEW
もくじ
・ tvOS開発概要
・ COCOAPODSのライブラリを使う
・ ハマりポイント
・ こんなことやってます
tvOSアプリ
・ TVML + JavaScript
・ CocoaTouch + Obj-C / Swift
プロジェクト作成
プロジェクト作成
プロジェクト作成
Simulator / Device
UDID
http://itpro.nikkeibp.co.jp/atcl/watcher/14/334361/073000338
http://www.ebay.com/itm/Nokia-Lumia-CA-190CD-Micro-USB-Data-Cable-High-Quality-Universal-Charge-Sync-/141080483145
http://taisy0.com/2013/02/16/14223.html
Photos:
http://itpro.nikkeibp.co.jp/atcl/watcher/14/334361/073000338
http://www.ebay.com/itm/Nokia-Lumia-CA-190CD-Micro-USB-Data-Cable-High-Quality-Universal-Charge-Sync-/141080483145
http://taisy0.com/2013/02/16/14223.html
Photos:
Lightning
http://itpro.nikkeibp.co.jp/atcl/watcher/14/334361/073000338
http://www.ebay.com/itm/Nokia-Lumia-CA-190CD-Micro-USB-Data-Cable-High-Quality-Universal-Charge-Sync-/141080483145
http://taisy0.com/2013/02/16/14223.html
Photos:
Lightning
http://itpro.nikkeibp.co.jp/atcl/watcher/14/334361/073000338
http://www.ebay.com/itm/Nokia-Lumia-CA-190CD-Micro-USB-Data-Cable-High-Quality-Universal-Charge-Sync-/141080483145
http://taisy0.com/2013/02/16/14223.html
Photos:
Lightning MicroUSB
http://itpro.nikkeibp.co.jp/atcl/watcher/14/334361/073000338
http://www.ebay.com/itm/Nokia-Lumia-CA-190CD-Micro-USB-Data-Cable-High-Quality-Universal-Charge-Sync-/141080483145
http://taisy0.com/2013/02/16/14223.html
Photos:
Lightning MicroUSB
http://itpro.nikkeibp.co.jp/atcl/watcher/14/334361/073000338
http://www.ebay.com/itm/Nokia-Lumia-CA-190CD-Micro-USB-Data-Cable-High-Quality-Universal-Charge-Sync-/141080483145
http://taisy0.com/2013/02/16/14223.html
Photos:
Lightning MicroUSB TypeC
http://itpro.nikkeibp.co.jp/atcl/watcher/14/334361/073000338
http://www.ebay.com/itm/Nokia-Lumia-CA-190CD-Micro-USB-Data-Cable-High-Quality-Universal-Charge-Sync-/141080483145
http://taisy0.com/2013/02/16/14223.html
Photos:
Lightning MicroUSB TypeC
http://itpro.nikkeibp.co.jp/atcl/watcher/14/334361/073000338
http://www.ebay.com/itm/Nokia-Lumia-CA-190CD-Micro-USB-Data-Cable-High-Quality-Universal-Charge-Sync-/141080483145
http://taisy0.com/2013/02/16/14223.html
Photos:
このケーブル使えてます
http://www.amazon.co.jp/dp/B0119RLTN4
・ tvOS開発概要
・ COCOAPODSのライブラリを使う
・ ハマりポイント
・ こんなことやってます
既存iOSライブラリの使⽤
・ 基本的にiOS⽤のObj-C / Swiftのライブラリは使えると思っ
て良い。
・ COCOAPODSではplatformとして「:tvos, '9.0'」を指定。
・ この指定により「 [!] The platform of the target `Pods`
(tvOS 9.0) is not compatible with `**** (0.x.x)`, which
does not support `tvos`. 」となっても少しの⼿間で⼤抵は
使える。
COCOAPODS
platform :tvos, '9.0'
use_frameworks!
pod 'Alamofire'
COCOAPODS
platform :tvos, '9.0'
use_frameworks!
pod 'Alamofire'
COCOAPODS
COCOAPODS
*.podspec
*.podspec
fork
fork
edit
edit
COCOAPODS
platform :tvos, '9.0'
use_frameworks!
pod 'Alamofire'
pod "SwiftyJSON", :git => 'https://github.com/hasegawa-
tomoki/SwiftyJSON.git'
COCOAPODS
platform :tvos, '9.0'
use_frameworks!
pod 'Alamofire'
pod "SwiftyJSON", :git => 'https://github.com/hasegawa-
tomoki/SwiftyJSON.git'
・ tvOS開発概要
・ COCOAPODSのライブラリを使う
・ ハマりポイント
・ こんなことやってます
tvOSの制約
・ アプリは200MB以内
・ データの永続化にディスクを使えない
tvOSの制約
・ アプリは200MB以内
・ データの永続化にディスクを使えない
・ UIWebViewが無い
tvOSの制約
・ アプリは200MB以内
・ データの永続化にディスクを使えない
・ UIWebViewが無い
・ デバイストークンは取れるし送信してもエラーに
ならないけどPUSH通知は使えない。
もくじ
・ tvOS開発概要
・ COCOAPODSのライブラリを使う
・ ハマりポイント
・ こんなことやってます
Server
http://www.apple.com
Photos:
動画登録
Web Socket
Web API
Web / Web API
React.js
動画URL
取得
動画再⽣
デモ
ありがとうございました
@tomzoh
デジタルサーカス(株)
Drupal / スマホエンジニア
絶賛 募集中!

Weitere ähnliche Inhalte

Ähnlich wie tvOSネイティブアプリを作る

PUSH通知証明書作成ツールを作った
PUSH通知証明書作成ツールを作ったPUSH通知証明書作成ツールを作った
PUSH通知証明書作成ツールを作ったTomoki Hasegawa
 
iOSアプリ制作ツールアプリビルダーを支える技術
iOSアプリ制作ツールアプリビルダーを支える技術iOSアプリ制作ツールアプリビルダーを支える技術
iOSアプリ制作ツールアプリビルダーを支える技術Tomoki Hasegawa
 
Titanium mokumoku 20140319
Titanium mokumoku 20140319Titanium mokumoku 20140319
Titanium mokumoku 20140319Tsuyoshi Hyuga
 
AppStore申請を一式まるっと自動化する
AppStore申請を一式まるっと自動化するAppStore申請を一式まるっと自動化する
AppStore申請を一式まるっと自動化するTomoki Hasegawa
 
勉強会のこちら側とあちら側
勉強会のこちら側とあちら側勉強会のこちら側とあちら側
勉強会のこちら側とあちら側Tomoki Hasegawa
 
オプショナル型。〜なんとなく付ける ! ? 撲滅〜 改訂版
オプショナル型。〜なんとなく付ける ! ? 撲滅〜 改訂版オプショナル型。〜なんとなく付ける ! ? 撲滅〜 改訂版
オプショナル型。〜なんとなく付ける ! ? 撲滅〜 改訂版Tomoki Hasegawa
 
クラウド時代のビジネス戦略セミナーIn八戸:青森県商工労働部委託
クラウド時代のビジネス戦略セミナーIn八戸:青森県商工労働部委託クラウド時代のビジネス戦略セミナーIn八戸:青森県商工労働部委託
クラウド時代のビジネス戦略セミナーIn八戸:青森県商工労働部委託新潟コンサルタント横田秀珠
 
110803a smart tv_adobe
110803a smart tv_adobe110803a smart tv_adobe
110803a smart tv_adobeTeiichi Ota
 
Flash VideoやFlashゲームを含めた「フルWeb」がSmart TVにやってくる!
Flash VideoやFlashゲームを含めた「フルWeb」がSmart TVにやってくる!Flash VideoやFlashゲームを含めた「フルWeb」がSmart TVにやってくる!
Flash VideoやFlashゲームを含めた「フルWeb」がSmart TVにやってくる!Teiichi Ota
 
エンタープライズにおけるiOSアプリ開発で押さえておくべき7つのこと
エンタープライズにおけるiOSアプリ開発で押さえておくべき7つのことエンタープライズにおけるiOSアプリ開発で押さえておくべき7つのこと
エンタープライズにおけるiOSアプリ開発で押さえておくべき7つのことfeedtailor
 
ONL4 シリコンバレーで起業してみよう
ONL4 シリコンバレーで起業してみようONL4 シリコンバレーで起業してみよう
ONL4 シリコンバレーで起業してみようOpen Network Lab
 
デザイナーでも安心!はじめてのiOSアプリ開発 先生:関根 元和
デザイナーでも安心!はじめてのiOSアプリ開発 先生:関根 元和デザイナーでも安心!はじめてのiOSアプリ開発 先生:関根 元和
デザイナーでも安心!はじめてのiOSアプリ開発 先生:関根 元和schoowebcampus
 
ハイブリットソーシャルゲームの現場
ハイブリットソーシャルゲームの現場ハイブリットソーシャルゲームの現場
ハイブリットソーシャルゲームの現場Shota Suzuki
 
リワード広告におけるリジェクト問題の現状
リワード広告におけるリジェクト問題の現状リワード広告におけるリジェクト問題の現状
リワード広告におけるリジェクト問題の現状VOYAGE GROUP
 
リワード広告におけるリジェクト問題の現状
リワード広告におけるリジェクト問題の現状リワード広告におけるリジェクト問題の現状
リワード広告におけるリジェクト問題の現状TakashiOkaniwa
 
C# を使い倒す!クロス プラットフォーム アプリ開発とクラウド連携の新潮流 - Xamarin セッション
C# を使い倒す!クロス プラットフォーム アプリ開発とクラウド連携の新潮流 - Xamarin セッションC# を使い倒す!クロス プラットフォーム アプリ開発とクラウド連携の新潮流 - Xamarin セッション
C# を使い倒す!クロス プラットフォーム アプリ開発とクラウド連携の新潮流 - Xamarin セッションYoshito Tabuchi
 
DECOPICで学んだ海外で通用する企画の考え方
DECOPICで学んだ海外で通用する企画の考え方DECOPICで学んだ海外で通用する企画の考え方
DECOPICで学んだ海外で通用する企画の考え方Ryosuke Matsumoto
 
iPhoneアプリ開発を楽に楽しくするサイトまとめ
iPhoneアプリ開発を楽に楽しくするサイトまとめiPhoneアプリ開発を楽に楽しくするサイトまとめ
iPhoneアプリ開発を楽に楽しくするサイトまとめHiramatsu Ryosuke
 

Ähnlich wie tvOSネイティブアプリを作る (20)

PUSH通知証明書作成ツールを作った
PUSH通知証明書作成ツールを作ったPUSH通知証明書作成ツールを作った
PUSH通知証明書作成ツールを作った
 
iOSアプリ制作ツールアプリビルダーを支える技術
iOSアプリ制作ツールアプリビルダーを支える技術iOSアプリ制作ツールアプリビルダーを支える技術
iOSアプリ制作ツールアプリビルダーを支える技術
 
Titanium mokumoku 20140319
Titanium mokumoku 20140319Titanium mokumoku 20140319
Titanium mokumoku 20140319
 
AppStore申請を一式まるっと自動化する
AppStore申請を一式まるっと自動化するAppStore申請を一式まるっと自動化する
AppStore申請を一式まるっと自動化する
 
勉強会のこちら側とあちら側
勉強会のこちら側とあちら側勉強会のこちら側とあちら側
勉強会のこちら側とあちら側
 
オプショナル型。〜なんとなく付ける ! ? 撲滅〜 改訂版
オプショナル型。〜なんとなく付ける ! ? 撲滅〜 改訂版オプショナル型。〜なんとなく付ける ! ? 撲滅〜 改訂版
オプショナル型。〜なんとなく付ける ! ? 撲滅〜 改訂版
 
クラウド時代のビジネス戦略セミナーIn八戸:青森県商工労働部委託
クラウド時代のビジネス戦略セミナーIn八戸:青森県商工労働部委託クラウド時代のビジネス戦略セミナーIn八戸:青森県商工労働部委託
クラウド時代のビジネス戦略セミナーIn八戸:青森県商工労働部委託
 
110803a smart tv_adobe
110803a smart tv_adobe110803a smart tv_adobe
110803a smart tv_adobe
 
Flash VideoやFlashゲームを含めた「フルWeb」がSmart TVにやってくる!
Flash VideoやFlashゲームを含めた「フルWeb」がSmart TVにやってくる!Flash VideoやFlashゲームを含めた「フルWeb」がSmart TVにやってくる!
Flash VideoやFlashゲームを含めた「フルWeb」がSmart TVにやってくる!
 
Tapnow資料
Tapnow資料Tapnow資料
Tapnow資料
 
エンタープライズにおけるiOSアプリ開発で押さえておくべき7つのこと
エンタープライズにおけるiOSアプリ開発で押さえておくべき7つのことエンタープライズにおけるiOSアプリ開発で押さえておくべき7つのこと
エンタープライズにおけるiOSアプリ開発で押さえておくべき7つのこと
 
ONL4 シリコンバレーで起業してみよう
ONL4 シリコンバレーで起業してみようONL4 シリコンバレーで起業してみよう
ONL4 シリコンバレーで起業してみよう
 
デザイナーでも安心!はじめてのiOSアプリ開発 先生:関根 元和
デザイナーでも安心!はじめてのiOSアプリ開発 先生:関根 元和デザイナーでも安心!はじめてのiOSアプリ開発 先生:関根 元和
デザイナーでも安心!はじめてのiOSアプリ開発 先生:関根 元和
 
ハイブリットソーシャルゲームの現場
ハイブリットソーシャルゲームの現場ハイブリットソーシャルゲームの現場
ハイブリットソーシャルゲームの現場
 
リワード広告におけるリジェクト問題の現状
リワード広告におけるリジェクト問題の現状リワード広告におけるリジェクト問題の現状
リワード広告におけるリジェクト問題の現状
 
リワード広告におけるリジェクト問題の現状
リワード広告におけるリジェクト問題の現状リワード広告におけるリジェクト問題の現状
リワード広告におけるリジェクト問題の現状
 
C# を使い倒す!クロス プラットフォーム アプリ開発とクラウド連携の新潮流 - Xamarin セッション
C# を使い倒す!クロス プラットフォーム アプリ開発とクラウド連携の新潮流 - Xamarin セッションC# を使い倒す!クロス プラットフォーム アプリ開発とクラウド連携の新潮流 - Xamarin セッション
C# を使い倒す!クロス プラットフォーム アプリ開発とクラウド連携の新潮流 - Xamarin セッション
 
DECOPICで学んだ海外で通用する企画の考え方
DECOPICで学んだ海外で通用する企画の考え方DECOPICで学んだ海外で通用する企画の考え方
DECOPICで学んだ海外で通用する企画の考え方
 
IoT ChatOps #IoTLT
IoT ChatOps #IoTLTIoT ChatOps #IoTLT
IoT ChatOps #IoTLT
 
iPhoneアプリ開発を楽に楽しくするサイトまとめ
iPhoneアプリ開発を楽に楽しくするサイトまとめiPhoneアプリ開発を楽に楽しくするサイトまとめ
iPhoneアプリ開発を楽に楽しくするサイトまとめ
 

Mehr von Tomoki Hasegawa

Reading php terminal-gameboy-emulator
Reading php terminal-gameboy-emulatorReading php terminal-gameboy-emulator
Reading php terminal-gameboy-emulatorTomoki Hasegawa
 
Drupal8 〜 モダンなアーキテクチャのPHPベース OSS CMS
Drupal8 〜 モダンなアーキテクチャのPHPベース OSS CMSDrupal8 〜 モダンなアーキテクチャのPHPベース OSS CMS
Drupal8 〜 モダンなアーキテクチャのPHPベース OSS CMSTomoki Hasegawa
 
とある受託ベンダの開発環境
とある受託ベンダの開発環境とある受託ベンダの開発環境
とある受託ベンダの開発環境Tomoki Hasegawa
 
iOS Developers Conference Japan 2016
iOS Developers Conference Japan 2016iOS Developers Conference Japan 2016
iOS Developers Conference Japan 2016Tomoki Hasegawa
 
「これを買っている人はこれも買っています」実装してみた PHP side
「これを買っている人はこれも買っています」実装してみた PHP side「これを買っている人はこれも買っています」実装してみた PHP side
「これを買っている人はこれも買っています」実装してみた PHP sideTomoki Hasegawa
 
「これを買っている人はこれも買っています」実装してみた
「これを買っている人はこれも買っています」実装してみた「これを買っている人はこれも買っています」実装してみた
「これを買っている人はこれも買っています」実装してみたTomoki Hasegawa
 
Drupal 8 - モダンなアーキテクチャのPHPベースOSS CMS
Drupal 8 - モダンなアーキテクチャのPHPベースOSS CMSDrupal 8 - モダンなアーキテクチャのPHPベースOSS CMS
Drupal 8 - モダンなアーキテクチャのPHPベースOSS CMSTomoki Hasegawa
 
PHPでスマホアプリにプッシュ通知する
PHPでスマホアプリにプッシュ通知するPHPでスマホアプリにプッシュ通知する
PHPでスマホアプリにプッシュ通知するTomoki Hasegawa
 
PHPカンファレンス福岡に 行ってきた
PHPカンファレンス福岡に 行ってきたPHPカンファレンス福岡に 行ってきた
PHPカンファレンス福岡に 行ってきたTomoki Hasegawa
 
CakePHP3ウォークスルー
CakePHP3ウォークスルーCakePHP3ウォークスルー
CakePHP3ウォークスルーTomoki Hasegawa
 
PHPerのためのSwift入門
PHPerのためのSwift入門PHPerのためのSwift入門
PHPerのためのSwift入門Tomoki Hasegawa
 
Swiftのプロパティオブザーバを使い倒す
Swiftのプロパティオブザーバを使い倒すSwiftのプロパティオブザーバを使い倒す
Swiftのプロパティオブザーバを使い倒すTomoki Hasegawa
 
オプショナル型。 〜 なんとなく付ける ! ? 撲滅
オプショナル型。 〜 なんとなく付ける ! ? 撲滅オプショナル型。 〜 なんとなく付ける ! ? 撲滅
オプショナル型。 〜 なんとなく付ける ! ? 撲滅Tomoki Hasegawa
 
Swift事情2014夏 ~ Swift入門 beta6対応
Swift事情2014夏 ~ Swift入門 beta6対応Swift事情2014夏 ~ Swift入門 beta6対応
Swift事情2014夏 ~ Swift入門 beta6対応Tomoki Hasegawa
 
CustomOperatorで遊ぼう!
CustomOperatorで遊ぼう!CustomOperatorで遊ぼう!
CustomOperatorで遊ぼう!Tomoki Hasegawa
 
スクレイピングその後
スクレイピングその後スクレイピングその後
スクレイピングその後Tomoki Hasegawa
 
SwiftによるiOS開発再入門
SwiftによるiOS開発再入門SwiftによるiOS開発再入門
SwiftによるiOS開発再入門Tomoki Hasegawa
 
Objective-Cプログラマのためのswift導入法
Objective-Cプログラマのためのswift導入法Objective-Cプログラマのためのswift導入法
Objective-Cプログラマのためのswift導入法Tomoki Hasegawa
 

Mehr von Tomoki Hasegawa (20)

Reading php terminal-gameboy-emulator
Reading php terminal-gameboy-emulatorReading php terminal-gameboy-emulator
Reading php terminal-gameboy-emulator
 
Drupal8 〜 モダンなアーキテクチャのPHPベース OSS CMS
Drupal8 〜 モダンなアーキテクチャのPHPベース OSS CMSDrupal8 〜 モダンなアーキテクチャのPHPベース OSS CMS
Drupal8 〜 モダンなアーキテクチャのPHPベース OSS CMS
 
とある受託ベンダの開発環境
とある受託ベンダの開発環境とある受託ベンダの開発環境
とある受託ベンダの開発環境
 
iOS Developers Conference Japan 2016
iOS Developers Conference Japan 2016iOS Developers Conference Japan 2016
iOS Developers Conference Japan 2016
 
「これを買っている人はこれも買っています」実装してみた PHP side
「これを買っている人はこれも買っています」実装してみた PHP side「これを買っている人はこれも買っています」実装してみた PHP side
「これを買っている人はこれも買っています」実装してみた PHP side
 
「これを買っている人はこれも買っています」実装してみた
「これを買っている人はこれも買っています」実装してみた「これを買っている人はこれも買っています」実装してみた
「これを買っている人はこれも買っています」実装してみた
 
Drupal 8 - モダンなアーキテクチャのPHPベースOSS CMS
Drupal 8 - モダンなアーキテクチャのPHPベースOSS CMSDrupal 8 - モダンなアーキテクチャのPHPベースOSS CMS
Drupal 8 - モダンなアーキテクチャのPHPベースOSS CMS
 
PHPでスマホアプリにプッシュ通知する
PHPでスマホアプリにプッシュ通知するPHPでスマホアプリにプッシュ通知する
PHPでスマホアプリにプッシュ通知する
 
PHPカンファレンス福岡に 行ってきた
PHPカンファレンス福岡に 行ってきたPHPカンファレンス福岡に 行ってきた
PHPカンファレンス福岡に 行ってきた
 
CakePHP3ウォークスルー
CakePHP3ウォークスルーCakePHP3ウォークスルー
CakePHP3ウォークスルー
 
PHPerのためのSwift入門
PHPerのためのSwift入門PHPerのためのSwift入門
PHPerのためのSwift入門
 
Swiftのプロパティオブザーバを使い倒す
Swiftのプロパティオブザーバを使い倒すSwiftのプロパティオブザーバを使い倒す
Swiftのプロパティオブザーバを使い倒す
 
3 auto layout tips
3 auto layout tips3 auto layout tips
3 auto layout tips
 
Drupal on vagrant-aws
Drupal on vagrant-awsDrupal on vagrant-aws
Drupal on vagrant-aws
 
オプショナル型。 〜 なんとなく付ける ! ? 撲滅
オプショナル型。 〜 なんとなく付ける ! ? 撲滅オプショナル型。 〜 なんとなく付ける ! ? 撲滅
オプショナル型。 〜 なんとなく付ける ! ? 撲滅
 
Swift事情2014夏 ~ Swift入門 beta6対応
Swift事情2014夏 ~ Swift入門 beta6対応Swift事情2014夏 ~ Swift入門 beta6対応
Swift事情2014夏 ~ Swift入門 beta6対応
 
CustomOperatorで遊ぼう!
CustomOperatorで遊ぼう!CustomOperatorで遊ぼう!
CustomOperatorで遊ぼう!
 
スクレイピングその後
スクレイピングその後スクレイピングその後
スクレイピングその後
 
SwiftによるiOS開発再入門
SwiftによるiOS開発再入門SwiftによるiOS開発再入門
SwiftによるiOS開発再入門
 
Objective-Cプログラマのためのswift導入法
Objective-Cプログラマのためのswift導入法Objective-Cプログラマのためのswift導入法
Objective-Cプログラマのためのswift導入法
 

tvOSネイティブアプリを作る