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
リリースビルドでのみ起こる謎のバグに見舞われた話
PKPK-Carnage
September 17, 2019
More Decks by PKPK-Carnage
See All by PKPK-Carnage
iOSアプリを堅牢にデザインするために知っておくべきたった1つのこと
pkpkcarnage
0
490
アプリへの導線の増やし方.pdf
pkpkcarnage
0
750
「シェア機能」について考えてみた
pkpkcarnage
0
110
Any型をprotocolにキャストする時に 気をつけた方がいい話
pkpkcarnage
0
310
今日から使える! Optionalをいい感じに扱うtips
pkpkcarnage
0
1.3k
もっと早く教えて欲しかった画面遷移
pkpkcarnage
0
350
iOSの通信処理を簡潔に書く
pkpkcarnage
0
320
Other Decks in Programming
See All in Programming
ソフトウェア設計の結合バランス #phperkaigi
kajitack
0
140
Don't Prompt Harder, Structure Better
kitasuke
0
780
〜バイブコーディングを超えて〜 チームで実験し続けたAI駆動開発
tigertora7571
0
150
JAWS-UG横浜 #100 祝・第100回スペシャルAWS は VPC レスの時代へ
maroon1st
0
160
SREに優しいTerraform構成 modulesとstateの組み方
hiyanger
2
140
レガシーPHP転生 〜父がドメインエキスパートだったのでDDD+Claude Codeでチート開発します〜
panda_program
0
1k
Back to the roots of date
jinroq
0
300
2026_04_15_量子計算をパズルとして解く
hideakitakechi
0
110
The Less-Told Story of Socket Timeouts
coe401_
3
580
UIの境界線をデザインする | React Tokyo #15 メイントーク
sasagar
2
370
🦞OpenClaw works with AWS
licux
1
180
JOAI2026 1st solution - heron0519 -
heron0519
0
140
Featured
See All Featured
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
55
3.3k
Designing Powerful Visuals for Engaging Learning
tmiket
1
350
Tips & Tricks on How to Get Your First Job In Tech
honzajavorek
1
490
The B2B funnel & how to create a winning content strategy
katarinadahlin
PRO
1
340
How Fast Is Fast Enough? [PerfNow 2025]
tammyeverts
3
540
How to train your dragon (web standard)
notwaldorf
97
6.6k
Navigating Weather and Climate Data
rabernat
0
170
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
Building an army of robots
kneath
306
46k
Making the Leap to Tech Lead
cromwellryan
135
9.8k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4.2k
Effective software design: The role of men in debugging patriarchy in IT @ Voxxed Days AMS
baasie
0
300
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