Save 37% off PRO during our Black Friday Sale! »

iOSの動画アプリを作る上で押さえておきたい設計

7a0bc9670ff654b04d4361a9afd1bba8?s=47 h.crane
October 25, 2019

 iOSの動画アプリを作る上で押さえておきたい設計

イベント「Tech Book Conference for iOS」で登壇した内容
https://techbookconference.connpass.com/event/148487/

7a0bc9670ff654b04d4361a9afd1bba8?s=128

h.crane

October 25, 2019
Tweet

Transcript

  1. iOSの動画アプリを作る上で 押さえておきたい設計 Hiromu Tsuruta

  2. About me 〈Company〉 - every, inc. / DELISH KITCHEN 〈Role〉

    - iOS Developer 〈Account〉 - Twitter: @hcrane14 - Qiita: H_Crane
  3. 動画のお話の前に、、、 AVFoundationの制約があるって知ってました?

  4. AVFoundationが許可できる 動画の同時接続数(再生数)に上限が! → その数は16接続まで → iOS13から32接続まで増えた! (UIKitに限る、、?)

  5. Demo TableViewで動画を保持したセルを表示させたテスト ここだけ 動画が出ていない! つまり32個までしか 接続できないことが わかった! セルを33個生成し動画を同時再生させた時 9/15なので Xcode

    beta版 セルを17個生成し動画を同時再生させた時 ここだけ 動画が動いていない! つまり16個までしか 接続できない、、 はずだった笑
  6. 「え?32個も同時に接続することなどなくない?」 → 気づいていないだけで勝手に接続されてっぞ!

  7. ① 画面遷移で奥深く進む場合はスタックされる 参考 https://www.google.com/url?sa=i&source=images&cd=&cad=rja&uact=8&ved=2ahUKEwi7x4GC8rPlAhULx4sBHcBAAzUQjhx6BAgBEAI&url=http%3A%2F%2Fharuna0503.xsrv.jp%2F2019%2F07 %2F04%2Fios-%25E7%2594%25BB%25E9%259D%25A2%25E9%2581%25B7%25E7%25A7%25BB%25E3%2581%25AE%25E7%25A8%25AE%25E9%25A1%259E%2F&psig=AOvVaw2OXL EayApH9Ad0tPInLYVy&ust=1571971474667862 画面遷移例

  8. ② 動画の広告は勝手にスタックされる 参考 https://www.google.com/url?sa=i&source=images&cd=&cad=rja&uact=8&ved=2ahUKEwjYkqbwoLLlAhXZc94KHZcYCL QQjhx6BAgBEAI&url=https%3A%2F%2Fwww.exchangewire.jp%2F2015%2F01%2F28%2Fnews-video-mobile%2F&psi g=AOvVaw0z9I5CcmN9FIFF3hFo1DrJ&ust=1571915808807843 参考 https://www.google.com/url?sa=i&source=images&cd=&cad=rja&uact=8&ved=2ahUKEwjWt8iYorLlAhWswosBHYXVDpgQjhx6BA gBEAI&url=https%3A%2F%2Fgmotech.jp%2Fnews_release%2F%3Fp%3D5121&psig=AOvVaw2RfpR8QLMvZox85TI8ikgm&ust =1571916082239556

    動画リワード広告 複数の動画広告
  9. どうやって動画の最適化すんの?

  10. YoutubeのiOSアプリから動画最適化例を見る

  11. 動画の流れを分けてみてみると、、 検索 1回目 検索 2回目 検索 検索 動画 動画 閉じる

    閉じる 動画のプレイヤーを 1つ保持 動画のプレイヤーを 使い回す
  12. 検索 検索 検索 検索 ・・・ 仕組みはシンプル 動画プレイヤー

  13. 動画のプレイヤーを管理して 制限しているだけ!

  14. シングルトンで動画のプレイヤーを管理

  15. RxSwift / Combine などを使用すると

  16. https://booth.pm/ja/items/1567921 続きは 本で!

  17. SwiftUIで動画を複数表示させた時 100個を同時に再生させても問題なかった! おまけ

  18. 謎は深まるばかり、、、 fin