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
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
SlackアプリとLambdaの 連携を構築した話
pawn_4_s
1
120
人間の目はかわらない、だからJPEGは30年もつ
yuzneri
12
19k
引き算の組織 ― アウトカムとAIに全振りするために辞めたこと ― / Organization by Subtraction
hirokiyamamoto14
PRO
0
110
プロポーザルを書いてもらう
pvcresin
0
550
AI時代に設計が 最大の生産性レバーになる 意図駆動開発とデータを消さない設計|Don't Delete Your Data or Your Intent — Design as the Deepest Lever in the AI Era
tomohisa
1
980
「人を評価する AI」の設計と実装
ryoyanara
0
210
Augmenting AI with the Power of Jakarta EE
ivargrimstad
0
610
言葉の格闘技のススメ~紙とペンと言葉から始める、キャリアの描き方~
progresscicada
2
150
変わらないものが、変わるものを決める — 意図駆動開発 × イベントソーシング × イミュータブル | What Doesn't Change Decides What Can — IDD × Event Sourcing × Immutability
tomohisa
0
1.8k
使いながら育てる Claude Code — 開発フローの1コマンド化 × 繰り返し指摘の自動仕組み化
shiki_kakaku
0
1.8k
改善しないと、タスクが回らない。 “てんこ盛りポジション” を引き継いだ情シスの、入社3ヶ月の業務改善録
krm963
0
270
自動化したのに回らない テスト運用の壁―AI時代の品質責任と生産性
mfunaki
0
260
Featured
See All Featured
Between Models and Reality
mayunak
4
390
Navigating the moral maze — ethical principles for Al-driven product design
skipperchong
2
490
GraphQLとの向き合い方2022年版
quramy
50
15k
A better future with KSS
kneath
240
18k
The innovator’s Mindset - Leading Through an Era of Exponential Change - McGill University 2025
jdejongh
PRO
1
250
Claude Code どこまでも/ Claude Code Everywhere
nwiizo
66
57k
A designer walks into a library…
pauljervisheath
211
24k
How to Build an AI Search Optimization Roadmap - Criteria and Steps to Take #SEOIRL
aleyda
1
2.1k
Bootstrapping a Software Product
garrettdimon
PRO
307
120k
Redefining SEO in the New Era of Traffic Generation
szymonslowik
1
390
JAMstack: Web Apps at Ludicrous Speed - All Things Open 2022
reverentgeek
1
570
Crafting Experiences
bethany
1
250
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