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
Rollout.ioでSwiftアプリの不具合を修正してみよう
Search
hmhv
December 14, 2016
Technology
0
870
Rollout.ioでSwiftアプリの不具合を修正してみよう
hmhv
December 14, 2016
Tweet
Share
Other Decks in Technology
See All in Technology
製造業ドメインにおける LLMプロダクト構築: 複雑な文脈へのアプローチ
caddi_eng
1
550
Scrumは歪む — 組織設計の原理原則
dashi
0
110
組織全体で実現する標準監視設計
yuobayashi
2
480
楽しく学ぼう!コミュニティ入門 AWSと人が つむいできたストーリー
hiroramos4
PRO
1
190
GitLab Duo Agent Platform + Local LLMサービングで幸せになりたい
jyoshise
0
280
モブプログラミング再入門 ー 基本から見直す、AI時代のチーム開発の選択肢 ー / A Re-introduction of Mob Programming
takaking22
5
1.3k
AIエージェント、 社内展開の前に知っておきたいこと
oracle4engineer
PRO
2
100
Claude Code 2026年 最新アップデート
oikon48
10
7.6k
マルチロールEMが実践する「組織のレジリエンス」を高めるための組織構造と人材配置戦略
coconala_engineer
3
710
20260305_【白金鉱業】分析者が地理情報を武器にするための軽量なアドホック分析環境
yucho147
3
220
親子 or ペアで Mashup for the Future! しゃべって楽しむ 初手AI駆動でものづくり体験
hiroramos4
PRO
0
100
(Test) ai-meetup slide creation
oikon48
1
230
Featured
See All Featured
The State of eCommerce SEO: How to Win in Today's Products SERPs - #SEOweek
aleyda
2
9.8k
Lightning Talk: Beautiful Slides for Beginners
inesmontani
PRO
1
480
The Language of Interfaces
destraynor
162
26k
The Art of Programming - Codeland 2020
erikaheidi
57
14k
The Organizational Zoo: Understanding Human Behavior Agility Through Metaphoric Constructive Conversations (based on the works of Arthur Shelley, Ph.D)
kimpetersen
PRO
0
270
Designing Powerful Visuals for Engaging Learning
tmiket
0
270
ラッコキーワード サービス紹介資料
rakko
1
2.6M
Tell your own story through comics
letsgokoyo
1
840
Conquering PDFs: document understanding beyond plain text
inesmontani
PRO
4
2.5k
Test your architecture with Archunit
thirion
1
2.2k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
55
3.3k
Statistics for Hackers
jakevdp
799
230k
Transcript
Rollout.ioでSwiftアプリの不具合を修正してみよう Gunosy Inc. 2016.12
2 ©Gunosy Inc. 株式会社Gunosy – 「情報を世界中の⼈に最適に届ける」 Gunosyは 情報キュレーションサービス「グノシー」と 2016年6⽉1⽇にKDDI株式会社と共同でリリースした 無料ニュース配信アプリ「ニュースパス」を提供する
会社です。「情報を世界中の⼈に最適に届ける」を ビジョンに活動しています。 ネット上に存在するさまざまな情報を、 独⾃のアルゴリズムで収集、評価付けを⾏い ユーザーに届けます。 情報キュレーションサービス 「グノシー」 300媒体以上のニュースソースをベースに、 新たに開発した情報解析・配信技術を⽤いて⾃動的に 選定したニュースや情報をユーザーに届けます。 無料ニュース配信アプリ 「ニュースパス」
3 ©Gunosy Inc. Agenda ・Rollout.ioの概要 ・デモ ・Swiftアプリで利⽤時の注意点
4 ©Gunosy Inc. Rollout.ioの概要
5 ©Gunosy Inc. Rollout.ioとは ネイティヴiOSアプリを申請を通さず不具合の修正などが⾏えるツール 対応⾔語 ▪Objective-C ▪Swift 2016年11⽉~
6 ©Gunosy Inc. Rollout.io 利⽤の流れ 1. Rollout.ioのダッシュボードでアプリを追加 2. SDKの導⼊(Cocoapods⼜はインストーラ) 3.
ビルドで前処理 不具合発⽣ 4. Rollout.ioのダッシュボードでパッチを作成 5. アプリがフォアグラウンドになるとパッチをダウンロードして適⽤
7 ©Gunosy Inc. Rollout.io 利⽤の流れ 1. Rollout.ioのダッシュボードでアプリを追加
8 ©Gunosy Inc. Rollout.io 利⽤の流れ 2. SDKの導⼊(Cocoapods⼜はインストーラ)
9 ©Gunosy Inc. Rollout.io 利⽤の流れ 3.ビルドで前処理 SDK導⼊によりビルド時に以下の処理が⾏われる ▪ アプリのコードを分析して必要情報をRollout.ioへ送信 ▪
Swiftの場合 `Pseudo Method Swizzlingʼ のためのコード変更 (Objective-Cでは Method Swizzling を利⽤) https://blog.rollout.io/swift-method-swizzling/
10 ©Gunosy Inc. Rollout.io 利⽤の流れ 4. Rollout.ioのダッシュボードでパッチを作成 パッチはメソッド単位でjavascriptで作成 (*Swiftアプリはテンプレートでのパッチ作成は不可)
11 ©Gunosy Inc. Rollout.io 利⽤の流れ 5. アプリがフォアグラウンドになるとパッチをダウンロードして適⽤ ▪ パッチのダウンロードは⾮同期 ▪
パッチ(javascript)はJavaScriptCore.frameworkによって実⾏ ▪ SwiftではPseudo Method Swizzling で適⽤ ▪ Objective-Cでは Method Swizzling で適⽤ https://rollout.io/how-it-works/
12 ©Gunosy Inc. デモ
13 ©Gunosy Inc. デモ内容 1. Rollout.ioのダッシュボードでアプリを追加 2. SDKの導⼊(Cocoapods⼜はインストーラ) 3.ビルドで前処理 不具合発⽣
4. Rollout.ioのダッシュボードでパッチを作成 5. アプリがフォアグラウンドになるとパッチをダウンロードして適⽤
14 ©Gunosy Inc. Swiftアプリで利⽤時の注意点
15 ©Gunosy Inc. Swiftアプリで利⽤時の注意点 ▪ Swift対応はまだ進⾏中 Swift Supportで確認(http://support.rollout.io/docs/swift-coverage) ▪ 無料プラン(LITE)ではSwiftアプリのパッチ作成が不可
有料プランはpricingで確認(https://rollout.io/pricing/) ▪ 使いすぎに注意 あくまで不具合修正⽤であって申請時になかった機能追加などはダメ
16 ©Gunosy Inc. 参考 n rollout.io – https://rollout.io/ n iOSアプリの不具合を申請なしで修正しよう
– https://techblog.yahoo.co.jp/advent-calendar-2016/ rollout/ n iOS アプリで審査なしでパッチを当てられる Rollout の勉強会に ⾏ってきたので紹介する – http://qiita.com/chiepomme/items/ 0b8370457389b4da2556
17 ©Gunosy Inc. 新しいアーキテクチャに⼀緒に挑戦する 仲間を募集しています!! ご静聴ありがとうございました