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
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
PKPK-Carnage
September 17, 2019
Programming
0
220
リリースビルドでのみ起こる謎のバグに見舞われた話
PKPK-Carnage
September 17, 2019
Tweet
Share
More Decks by PKPK-Carnage
See All by PKPK-Carnage
iOSアプリを堅牢にデザインするために知っておくべきたった1つのこと
pkpkcarnage
0
480
アプリへの導線の増やし方.pdf
pkpkcarnage
0
730
「シェア機能」について考えてみた
pkpkcarnage
0
110
Any型をprotocolにキャストする時に 気をつけた方がいい話
pkpkcarnage
0
300
今日から使える! Optionalをいい感じに扱うtips
pkpkcarnage
0
1.3k
もっと早く教えて欲しかった画面遷移
pkpkcarnage
0
340
iOSの通信処理を簡潔に書く
pkpkcarnage
0
310
Other Decks in Programming
See All in Programming
コードレビューをしない選択 #でぃーぷらすトウキョウ
kajitack
3
950
20260228_JAWS_Beginner_Kansai
takuyay0ne
5
530
技術検証結果の整理と解析をAIに任せよう!
keisukeikeda
0
120
「抽象に依存せよ」が分からなかった新卒1年目の私が Goのインターフェースと和解するまで
kurogenki
0
120
エラーログのマスキングの仕組みづくりに役立ったASTの話
kumoichi
0
220
社内規程RAGの精度を73.3% → 100%に改善した話
oharu121
13
8.1k
2026年は Rust 置き換えが流行る! / 20260220-niigata-5min-tech
girigiribauer
0
230
nuget-server - あなたが必要だったNuGetサーバー
kekyo
PRO
0
250
Cyrius ーLinux非依存にコンテナをネイティブ実行する専用OSー
n4mlz
0
150
Ruby and LLM Ecosystem 2nd
koic
1
780
ベクトル検索のフィルタを用いた機械学習モデルとの統合 / python-meetup-fukuoka-06-vector-attr
monochromegane
2
420
ポーリング処理廃止によるイベント駆動アーキテクチャへの移行
seitarof
3
1.1k
Featured
See All Featured
The SEO identity crisis: Don't let AI make you average
varn
0
410
Technical Leadership for Architectural Decision Making
baasie
3
290
Agile Leadership in an Agile Organization
kimpetersen
PRO
0
110
Conquering PDFs: document understanding beyond plain text
inesmontani
PRO
4
2.5k
Chasing Engaging Ingredients in Design
codingconduct
0
140
Design of three-dimensional binary manipulators for pick-and-place task avoiding obstacles (IECON2024)
konakalab
0
380
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
141
35k
The AI Search Optimization Roadmap by Aleyda Solis
aleyda
1
5.4k
Skip the Path - Find Your Career Trail
mkilby
1
79
Utilizing Notion as your number one productivity tool
mfonobong
4
260
Beyond borders and beyond the search box: How to win the global "messy middle" with AI-driven SEO
davidcarrasco
3
72
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
10
1.1k
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