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
クックパッドのiOS更新との付き合い方 / CAMPFIRE iOS #2
Search
Tomohiro Moro
June 13, 2017
Programming
1.8k
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
クックパッドのiOS更新との付き合い方 / CAMPFIRE iOS #2
CAMPFIRE iOS #2 で発表した時の資料です。
iOSの更新がきたときにクックパッドではどういう事を考えてどう対応しているか話しました。
Tomohiro Moro
June 13, 2017
More Decks by Tomohiro Moro
See All by Tomohiro Moro
法改正を乗り越えるiOSアプリのリリース戦略
slightair
0
5k
たのしいクックパッドでのモバイルアプリエンジニア生活 / newgrads_event2020
slightair
0
730
CI/CD for mobile apps at Cookpad / Bitrise & Cookpad Developer Meetup
slightair
2
3.5k
コンセプトは「機械に人間が合わせる」クックパッドが実践する新しいリリースフローとは / @IT seminar 2018 12 14
slightair
0
670
動作確認のための社内アプリ配信サービスを新たに作った話 / iOSDC 2018
slightair
2
4.2k
RxSwift + API request + MVVM
slightair
9
2.8k
よくわかんないけど最近つくってるゲームで RxJava つかってみてる
slightair
3
2.2k
ゲームのプレイ動画を気軽にシェアしてもらう
slightair
3
3.1k
Other Decks in Programming
See All in Programming
DynamoDBの基礎を振り返りながらベクトル検索機能を理解する
musan
3
280
The Good Stuff, Not the Slop: Engineering High-Quality Android Apps with Modern AI Tooling
danybony
1
240
Kiroで創り、AgentCoreで繋ぐ!AWSで実践する「AI-DLC」から「AIエージェント統合」までの最新地図
licux
4
640
デプロイ直後のレイテンシスパイクを調べたら、 Railsの仕様にたどり着いた
nhsykym
0
110
AIとGame Jamで、ゲームを完成させた話
takahirosaeki
0
120
型解析で実現する Go の言語内 DSL / Conference に Go! タイムテーブルの歩き方 for Gophers
mazrean
0
140
Omarchy Tokyo やると聞いて UMPC 買ってセットアップしてきた
mtsmfm
0
130
kubernetes コンポーネント開発入門 / 新卒N年目の勉強会&交流会!〜〇〇への誘い〜 #n_study
mazrean
0
200
テストを司るデーモンに会いに行く 〜隔離した仮想マシンでテストを通すまで〜
h1d3mun3
1
140
Webの地図
yosuke_furukawa
PRO
6
4.1k
App Storeの外へ──日本のiOSサイドローディング入門 for iOSDC Japan 2026
yuukiw00w
0
170
Family mrubyの進捗
kishima
1
110
Featured
See All Featured
How to optimise 3,500 product descriptions for ecommerce in one day using ChatGPT
katarinadahlin
PRO
2
3.8k
Skip the Path - Find Your Career Trail
mkilby
1
220
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3.4k
Breaking role norms: Why Content Design is so much more than writing copy - Taylor Woolridge
uxyall
1
400
The Straight Up "How To Draw Better" Workshop
denniskardys
239
140k
Self-Hosted WebAssembly Runtime for Runtime-Neutral Checkpoint/Restore in Edge–Cloud Continuum
chikuwait
0
780
From π to Pie charts
rasagy
0
360
[SF Ruby Conf 2025] Rails X
palkan
2
1.4k
The Pragmatic Product Professional
lauravandoore
37
7.4k
Navigating Team Friction
lara
192
16k
SEOcharity - Dark patterns in SEO and UX: How to avoid them and build a more ethical web
sarafernandez
0
270
Building a Scalable Design System with Sketch
lauravandoore
464
34k
Transcript
ΫοΫύουͷ iOSߋ৽ͱͷ͖߹͍ํ 2017/06/12 CAMPFIRE iOS #2 ΫοΫύουגࣜձࣾ ໜ࿊ ஐେ
ࣗݾհ • ໜ࿊ ஐେ - @slightair • iOS ΞϓϦΤϯδχΞ •
ΫοΫύουגࣜձࣾ ٕज़෦ ϞόΠϧج൫άϧʔϓ • ࣾͷ։ൃڥඋɺαʔϏε։ൃ෦ॺͷٕज़తࢧԉ͕ۀ • https://github.com/slightair
༰ • աڈͷ iOS & Xcodeߋ৽ͷରԠࣄྫͷհ • ৽͍͠ػೳΛಋೖɾར༻͢Δཧ༝ • iOSͷߋ৽࣌ʹҙ͍ͯ͠Δͱ͜Ζ
• ৽ػೳಋೖͷஅج४
Handoff ରԠ • iOSͱMacͷମݧΛҾ͖ܧ͙ػೳɺiOS8ͰՃ͞Εͨ • ΫοΫύουΞϓϦͰΞϓϦ·ͨ MacͰΈ͍ͯͨϨγϐը ໘Λ͏ยํʹҾ͖ܧ͙Α͏ʹ • ϦϦʔεॳ
apple-app-site-associationͷΞΫηε͕ΞϓϦ ࣗಈΞοϓσʔτʹ࿈ಈͯ͠ʁΛ͑Δ࣌ʹεύΠΫ͢Δ ʹૺ۰ .BD͔ΒJ1IPOFʹભҠͤ͞Α͏ΫοΫύου։ൃऀϒϩά IUUQUFDIMJGFDPPLQBEDPNFOUSZ
AppleWatch ରԠ • AppleWatch ʹϨγϐΛදࣔ • ϨγϐͰࢦఆ͞Εͨ࣌ؒͷ λΠϚʔΛઃఆ • 2015/3/27
ެ։ɺ2016/10/27 ऴྃ $PPLQBE"QQMF8BUDI"QQੜͷཪΫοΫύου։ൃऀϒϩά IUUQUFDIMJGFDPPLQBEDPNFOUSZ
Swift • WWDC2014 ͰൃදɺΫοΫύουΞϓϦͰ 2016/5 ͋ͨΓ͔Βར༻։࢝ • ΞϓϦΛૉૣ͘ɺ҆શʹॻ͖͍ͨ…→ϥΠϒϥϦͷબఆؚΊɺ৻ॏʹಋೖ ΛਐΊ͖ͯͨ •
ϨΨγʔίʔυΛϦϑΝΫλϦϯάͨ͠Γ ObjC ͷ nullability, LightweightGenerics ͳͲΛՃͨ͠Γेʹ४උΛͯ͠ಋೖ • Swift 2.3 Λܦ༝ͯ͠ 2016/12 ʹ Swift 3 ʹҠߦྃ 4XJGUϚΠάϨʔγϣϯΫοΫύου։ൃऀϒϩά IUUQUFDIMJGFDPPLQBEDPNFOUSZ
100%Λࢦ͍ͯ͠ΔΘ͚Ͱͳ͍͕ɺׂ߹͕େ͖͚ ΕSwiftͷػೳΛϑϧͰ͑Δͱ͜Ζ͕͍ͱ͍͏ ͜ͱʹͳΔͣ… 2017/6 ݱࡏͷ Swift coverage
৽͍͠ػೳΛಋೖɾར༻͢Δཧ༝ • རศੑ্ͷͨΊ • ϓϩϞʔγϣϯͷͨΊ • ։ൃޮ্ͷͨΊ
རศੑ্ͷͨΊ • 4.7 / 5.5 Πϯν ը໘ରԠ (ࠓͱͳͬͯͨΓલ) • Spotlight
ͰϨγϐݕࡧ • Shared Web Credential • ͳͲͳͲ OSͷਐԽʹΑͬͯΞϓϦͰͰ͖Δ͜ͱ ͲΜͲΜ૿͍͑ͯΔ
ϓϩϞʔγϣϯͷͨΊ • Handoff ରԠ • AppleWatch ରԠ (ݱࡏऴྃͯ͠Δ͚Ͳ…) ‣ Apple
ͷαΠτʹࡌͤͯΒͬͨΓɺχϡʔεαΠτ ͳͲͰʹͯ͠ΒͬͨΓ͠·ͨ͠ ৽ػೳΛར༻ͨ͠ΞϓϦ AppStoreͰऔΓ্͛ ΒΕΔ͜ͱ͋ΓɺޮՌ͕ߴ͍
։ൃޮ্ͷͨΊ • Swift ͷར༻ • AutoLayoutؔ࿈ɺUIStackViewɺWebViewͳͲͳͲ • ඇਪʹͳͬͨ API ͷར༻ՕॴΛ͢ͱෛ࠴ʹ…
Ϣʔβʹݟ͑Δͱ͜Ζ͚ͩͰͳ͘։ൃͷ͠ ͢͞ɺ҆ఆੑ্ʹӨڹ͕͋Δ
iOSߋ৽࣌ʹҙ͍ͯ͠Δͱ͜Ζ • มߋͷใऩू • ࣄۀͷӨڹ • ։ൃڥͷมԽʹै • αϙʔτόʔδϣϯͷݟ͠
มߋͷใऩू • ެࣜυΩϡϝϯτɺAPI diff ͳͲ • iOS Xcode ͷ
beta ൛͕͖ͨΒ͙͢ࢼͦ͏ • beta ൛Λ৮͍ͬͯͯυΩοͱͨ͜͠ͱ ‣ UniversalLinks ͷόάͰҙਤͤͣ SPWeb ͷશͯͷϦϯΫ͔Β ΞϓϦىಈͪ͠Ό͏ → ్தͰಈ͖͕มΘͬͨ ‣ 10.3 beta2ɺΞϓϦআͰ Keychain ͷใফ͑Δ → औΓԼ͛ • όά͔ͳʁͬͯࢥͬͨΒόάϨϙʔτΛૹΖ͏ɺϑΥʔϥϜΛݟΑ͏ J04ͷϦϦʔεͰΫοΫύουʹى͖ͨ͜ͱΫοΫύου։ൃऀϒϩά IUUQUFDIMJGFDPPLQBEDPNFOUSZ
ࣄۀͷӨڹ͕ͳ͍͔୳Δ • ίϯςϯπϒϩοΧʔ ‣ εϚʔτϑΥϯWebͷࠂͲ͏ͳΔͷ ‣ ΞϓϦͷ͜ͱ͚ͩؾʹ͢Ε͍͍Θ͚Ͱͳ͍ • App Transport
Security ‣ Ͳ͜·ͰରԠ͢Ε͍͍ͷɺඞਢԽԆظͨ͠͠… ‣ ࠂ SDK ͷ௨৴ͳͲ͚ࣗࣾͩͰղܾ͠ͳ͍ͷ͋Δ ࠂϒϩοΧʔͷݕͱܭଌʹ͍ͭͯΫοΫύου։ൃऀϒϩά IUUQUFDIMJGFDPPLQBEDPNFOUSZ "QQ5SBOTQPSU4FDVSJUZͱωοτϫʔΫࠂΫοΫύου։ൃऀϒϩά IUUQUFDIMJGFDPPLQBEDPNFOUSZ
։ൃڥͷมԽʹै͢Δ • Xcode, Swift ͷόʔδϣϯΞοϓʹैͯ͠ɺ ҆ఆͨ͠ϦϦʔεαΠΫϧͷͨΊͷݒ೦Λ১ ͢Δ • Swift ͷϥΠϒϥϦπʔϧΛߋ৽͢Δ
• ։ൃΛଓ͚Δ͜ͱ͕Ͱ͖ͳ͍Α͏ͳঢ়گʹͳ Βͳ͍Α͏ؾΛΔ
αϙʔτόʔδϣϯͷݟ͠ • جຊతʹ৽ػೳ͕͑Δͷ৽͍͠όʔδϣϯͷ iOSͷΈ • جຊۙ2όʔδϣϯΛαϙʔτ͢Δํɺ ϢʔβൺΛݟͯஅ • Ϣʔβతʹૢ࡞͕ಘҙͰͳ͍ਓߟྀͯ͠ɺ OSߋ৽ͷҊΛ͖ͪΜͱߦ͑ΔΑ͏ʹ͢Δ
৽ػೳಋೖͷஅج४ • Ϣʔβ͕ศརʹͳΔػೳɺఏڙαʔϏεͱϚον͢Δͷ ੵۃతʹऔΓΉ • ػೳϦϦʔεޙʹऔΓԼ͛Δ͜ͱ͋Δ ‣ AppleWatch զʑ͕αʔϏε֦େ૾Λ͏·͘ඳ͚ͳ͔ͬͨ ‣
த్ͳରԠঢ়گͰͯ͠ϢʔβɾαʔϏεఏڙଆํ ʹෆརӹͱஅ • ϦϦʔε͠ͳͯ͘ϓϩτλΠϓΛ࡞͍ͬͯͨɺͱ͍͏͜ͱ ‣ tvOS ͷΞϓϦΛࢼ͠ʹ࡞ͬͨ
৽ػೳಋೖͷஅج४ • ։ൃޮύϑΥʔϚϯεɺηΩϡϦςΟ্͕͢ ΔͳΒɺ࠾༻ • ໌Β͔ʹΒͳ͍ͱߦ͖٧·ΔͷΔ͔͠ͳ͍ ‣ Swift Xcode
ͳͲͷ։ൃπʔϧͷߋ৽ ‣ ৽APIͷͨΊʹ࠷৽ͷ SDK Λ͏ඞཁ͕͋Δ͜ͱ → Α΄Ͳͷཧ༝͕ͳ͔ͬͨΒ࠷৽Λ͏
·ͱΊ • ఏڙαʔϏεΞϓϦʹΑΔͱࢥ͏͕ɺϢʔβ͕ศརʹ ͳΔ৽ػೳੵۃతʹ࠾༻͍͖͍ͯͨ͠ • όʔδϣϯΞοϓʹΑΔมߋͷใऩू͔ͬ͠ΓΖ͏ɺ ৭ʑͳ໘͔ΒӨڹ͕ͳ͍͔୳Δ • ҆ఆͨ͠ϦϦʔεαΠΫϧΛճͨ͢Ίɺ։ൃڥʹؔΘΔมߋ ʹૉૣ͘ै͢Δ͠
• ߹ʹΑͬͯόάϨϙʔτΛग़ͨ͠ΓϑΥʔϥϜͰฉ͍ͯΈΔ ͷ͕Α͍