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
リリースビルドでのみ起こる謎のバグに見舞われた話
Search
PKPK-Carnage
September 17, 2019
Programming
230
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
リリースビルドでのみ起こる謎のバグに見舞われた話
PKPK-Carnage
September 17, 2019
More Decks by PKPK-Carnage
See All by PKPK-Carnage
iOSアプリを堅牢にデザインするために知っておくべきたった1つのこと
pkpkcarnage
0
520
アプリへの導線の増やし方.pdf
pkpkcarnage
0
750
「シェア機能」について考えてみた
pkpkcarnage
0
120
Any型をprotocolにキャストする時に 気をつけた方がいい話
pkpkcarnage
0
310
今日から使える! Optionalをいい感じに扱うtips
pkpkcarnage
0
1.3k
もっと早く教えて欲しかった画面遷移
pkpkcarnage
0
370
iOSの通信処理を簡潔に書く
pkpkcarnage
0
320
Other Decks in Programming
See All in Programming
Generative UI & AI-Assistants for Your Angular Solutions
manfredsteyer
PRO
1
180
【やさしく解説 設計編・中級 #6】良いアーキテクチャとは ~ 一本の登り道の、行き先 ~
panda728
PRO
0
160
アルゴリズムは何を圧縮しているのか ─ Haskell から育った「圧縮代数」というメンタルモデル
naoya
16
3.4k
どこまでゆるくて許されるのか
tk3fftk
0
480
LaravelLive Japan の裏方のすべて — 第188回 PHP勉強会@東京 (2026-06-24)
suguruooki
2
150
yield再入門 #phpcon
o0h
PRO
0
200
5分で問診!Composer セキュリティ健康診断
codmoninc
0
110
AI時代、エンジニアはどう育つのか -未経験エンジニアの成長を間近で見て考えたこと-
thasu0123
0
110
Generative UI & AI-Assistants for Your Angular Solutions
manfredsteyer
PRO
0
110
Honoでのサプライチェーン侵害対策 〜 3つのライブラリに学ぶ
yusukebe
7
1.9k
分散システム、なんですぐ死んでしまうん?耐障害性を高めたいあなたのためのレジリエンスパターン入門
mshibuya
7
5.9k
才能?センス?知らん、 続けたもん勝ちだ。-- 結婚・出産・癌を越えてなお、私がプロダクトを創り続ける理由
16bitidol
2
850
Featured
See All Featured
The AI Revolution Will Not Be Monopolized: How open-source beats economies of scale, even for LLMs
inesmontani
PRO
3
3.6k
Leo the Paperboy
mayatellez
8
1.9k
エンジニアに許された特別な時間の終わり
watany
107
250k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
2k
How STYLIGHT went responsive
nonsquared
100
6.2k
Typedesign – Prime Four
hannesfritz
42
3.1k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
230
23k
Being A Developer After 40
akosma
91
590k
Paper Plane
katiecoart
PRO
2
52k
My Coaching Mixtape
mlcsv
0
170
Avoiding the “Bad Training, Faster” Trap in the Age of AI
tmiket
0
190
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
37
6.5k
Transcript
ϦϦʔεϏϧυͰͷΈى͜Δ ṖͷόάʹݟΘΕͨ 2019/9/17 ͋Δ͋ΔLTʙεϚϗΞϓϦ։ൃΤϯδχΞʙ Vol.6 1
About me • iOSྺ3 • μϒϧϑϩοά • Qiita → @fr0g_fr0g
• Github → Frog-Frog • Twitter → @fr0g_fr0g
ͱ͋ΔΞϓϦɺόάΒͤͯ͏ͨ 3
Կ͕όά͍ͬͯͨͷ͔ʁ 4
Կ͕όά͍ͬͯͨͷ͔ʁ 5
දࣔ͞ΕΔͣͷʮUPʯͷը૾͕ग़ͯͳ͍ 6
͙֬͢ೝ͠·͢ 7
͋Εʁ 8
ͪΌΜͱग़ͯΔ 9
ϦϦʔε൛ͰϏϧυͯ͠ΈΔ 10
11
Ͳ͏ΒϦϦʔε൛ͷϏϧυʹͳΔͱग़ͳ͍ͬΆ͍ 12
ߟ͑ΒΕΔݪҼ • ίʔυ͕ؒҧͬͯΔ • αʔόʔ͔ΒͷϨεϙϯε͕ਖ਼͘͠ͳ͍ • ը૾ͷϦιʔε͕ൈ͚མͪͯΔ 13
ίʔυ͕ؒҧͬͯΔʁ 14 enum AppearanceType { case none case new case
update case smallUpdate case freeVolume(Int) init(_ badge: TitleBadge) { switch badge { case .none, .unrecognized: self = .none case .new: self = .new case .update: self = .update } } }
ؒҧͬͯͳͦ͞͏ 15
ߟ͑ΒΕΔݪҼ • ίʔυ͕ؒҧͬͯΔ • αʔόʔ͔ΒͷϨεϙϯε͕ਖ਼͘͠ͳ͍ • ը૾ͷϦιʔε͕ൈ͚མͪͯΔ 16
αʔόʔ͔ΒͷϨεϙϯε͕ਖ਼͘͠ͳ͍ʁ 17 enum AppearanceType { case none case new case
update case smallUpdate case freeVolume(Int) init(_ badge: TitleBadge) { switch badge { case .none, .unrecognized: self = .none case .new: self = .new case .update: self = .update } } }
αʔόʔ͔ΒͷϨεϙϯε͕ਖ਼͘͠ͳ͍ʁ 18
ఆ௨Γͷσʔλ͕ೖ͖ͬͯͯΔ 19
ߟ͑ΒΕΔݪҼ • ίʔυ͕ؒҧͬͯΔ • αʔόʔ͔ΒͷϨεϙϯε͕ਖ਼͘͠ͳ͍ • ը૾ͷϦιʔε͕ൈ͚མͪͯΔ 20
ը૾ͷϦιʔε͕ൈ͚མͪͯΔʁ 21 ΞϓϦͷλʔήοτ
ͪΌΜͱϦιʔεؚ·ΕͯΔ 22
ߟ͑ΒΕΔݪҼ • ίʔυ͕ؒҧͬͯΔ • αʔόʔ͔ΒͷϨεϙϯε͕ਖ਼͘͠ͳ͍ • ը૾ͷϦιʔε͕ൈ͚མͪͯΔ • Xcode͕όάͬͯΔͷͰɾɾɾʁ 23
24
Xcode͕όάͬͯΔʁ • σϑΥϧτͰReleaseϏϧυʹઃఆ͞Ε͍ͯΔ࠷దԽΛߦ͏ࡍʹό ά͕ൃੜ͢Δ • ReleaseϏϧυͷOptimization LevelΛNoneʹઃఆ͢Δͱਖ਼͘͠ಈ͘ • ύϑΥʔϚϯεʹӨڹ͕ग़ΔͷͰɺ͕͢͞ʹΓͨ͘ͳ͍ɻ •
Xcode10.2ͰͷΈى͜Δ 25
26
27
Ξοϓσʔτͨ͠ΒͪΌΜͱͬͨɾɾɾ 28
·ͱΊ • Xcode10.2࠷దԽ(Optimization Level)ʹόά͕͋ΓɺͦΕʹΑͬͯ ࠷దԽͨ͠ϏϧυͰఆ֎ͷಈ࡞Λ͢Δ͜ͱ͕͋Δ • ࠓճදࣔ͞ΕΔͣͷͷ͕ɺදࣔ͞Εͳ͍͚ͩͰࡁΜ͕ͩɺࠜװ ʹؔΘΔϩδοΫͩͱͦ͏ͳόάͩͬͨ • ݕূதDebugϏϧυͰಈ࡞֬ೝ͍ͯͨͨ͠Ίɺൃݟ͕Εͨ
• XcodeͷΞοϓσʔτΛͪΌΜͱ֬ೝ͠Α͏ 29
͓ΘΓ 30