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
ライブラリとSwiftLintの辛いお話
Search
Kohei Tabata
February 14, 2017
Programming
2
1.2k
ライブラリとSwiftLintの辛いお話
Kohei Tabata
February 14, 2017
Tweet
Share
More Decks by Kohei Tabata
See All by Kohei Tabata
AIと協業する開発の進め方
nerd0geek1
0
140
営業活動なしで継続的に案件を受注する方法 / how to get a contract without sales as a freelance
nerd0geek1
2
940
生体データを取り扱うアプリ開発の勘所
nerd0geek1
1
120
動線改善とステータス可視化で家庭内のストレスを軽減した話
nerd0geek1
3
4.3k
家庭をプロジェクトとして運営した話
nerd0geek1
2
4.3k
fastlaneの勉強会を主催して学んだこと、得たこと、悩んだこと
nerd0geek1
1
1.1k
みんなで育てるprecheck
nerd0geek1
1
760
matchとは?match導入のメリット
nerd0geek1
4
590
Improve your workflow with Sketch plugin
nerd0geek1
3
1.4k
Other Decks in Programming
See All in Programming
AIと私たちの学習の変化を考える - Claude Codeの学習モードを例に
azukiazusa1
10
4.4k
請來的 AI Agent 同事們在寫程式時,怎麼用 pytest 去除各種幻想與盲點
keitheis
0
120
Kiroで始めるAI-DLC
kaonash
2
610
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
400
How Android Uses Data Structures Behind The Scenes
l2hyunwoo
0
480
The Past, Present, and Future of Enterprise Java with ASF in the Middle
ivargrimstad
0
160
Ruby Parser progress report 2025
yui_knk
1
450
AIでLINEスタンプを作ってみた
eycjur
1
230
楽して成果を出すためのセルフリソース管理
clipnote
0
180
CloudflareのChat Agent Starter Kitで簡単!AIチャットボット構築
syumai
2
510
Android端末で実現するオンデバイスLLM 2025
masayukisuda
1
170
Improving my own Ruby thereafter
sisshiki1969
1
160
Featured
See All Featured
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
31
2.2k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
7
850
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
285
14k
The Straight Up "How To Draw Better" Workshop
denniskardys
236
140k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
53k
Designing Experiences People Love
moore
142
24k
Unsuck your backbone
ammeep
671
58k
A better future with KSS
kneath
239
17k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4k
Building Better People: How to give real-time feedback that sticks.
wjessup
368
19k
Keith and Marios Guide to Fast Websites
keithpitt
411
22k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
229
22k
Transcript
ϥΠϒϥϦͱSwiftLintͷ ਏ͍͓ 2017/02/14 SwiftѪձ@21Cafe
ࣗݾհ ɾKohei Tabata(@nerd0geek1) ɾSaib Studio LLC ɾiOS/MacOS/tvOS Developer ɾWAmazingɹɹ ͱ͍͏ελʔτΞοϓͰ
ɹiOSΞϓϦ։ൃͷ͓ख͍ Said Studio LLC Kohei Tabata Next! Remote quick-zip plus
Έͳ͞Μɺ Swift͖Ͱ͢ΑͶʁ
ϥΠϒϥϦ ॻ͍ͨΓ͠·͢ΑͶʁ
ͦͯ͠ɺ SwiftLint͖Ͱ͢ΑͶʁ
Agenda ɾSwiftLintͱ ɾϥΠϒϥϦಋೖ͢Δࡍͷམͱ݀͠ ɾͭΒΈ ɾAggregateΛ׆༻ͯ͠ ɾ·ͱΊ
SwiftLintͱ ɾSwiftLintͱɺRealm͕ࣾ։ൃɾӡ༻͍ͯ͠ΔSwift༻ͷLintπʔϧ ɾSwiftʹର͔ͯ͠ͳΓଟ͘ͷछྨͷLintΛ࣮ߦ͢Δ͜ͱ͕Ͱ͖Δ ɹɾforce_unwrapΛߦ͍ͬͯΔՕॴΛΤϥʔͱ͢Δ ɹɾΫϥεɺϑΝΠϧͷߦʹԠͯ͡ܯࠂɺΤϥʔΛදࣔ ɹɾetc… ɾৄ͍͠ΧελϚΠζ.swiftlint.ymlΛฤू͢Δ͜ͱͰՄೳ
ϥΠϒϥϦಋೖ͢Δࡍͷམͱ݀͠ SwiftLintΛϥΠϒϥϦಋೖ͢Δࡍʹɺ௨ৗͷΞϓϦͱಉ༷ͷํ๏Ͱಋೖͯ͠͠·͏ͱ ϥΠϒϥϦͷར༻ऀ͕ਏ͘ͳΔέʔε͕ଘࡏ͢Δ(mixpanel-swiftͰମݧ)
ϥΠϒϥϦಋೖ͢Δࡍͷམͱ݀͠ SwiftLintΛϥΠϒϥϦಋೖ͢Δࡍʹɺ௨ৗͷΞϓϦͱಉ༷ͷํ๏Ͱಋೖͯ͠͠·͏ͱ ϥΠϒϥϦͷར༻ऀ͕ਏ͘ͳΔέʔε͕ଘࡏ͢Δ(mixpanel-swiftͰମݧ) ϥΠϒϥϦͷSwiftLintͷόʔδϣϯͱϢʔβʔͷSwiftLintͷόʔδϣϯ͕ҟͳΔ߹
ϥΠϒϥϦಋೖ͢Δࡍͷམͱ݀͠ SwiftLintΛϥΠϒϥϦಋೖ͢Δࡍʹɺ௨ৗͷΞϓϦͱಉ༷ͷํ๏Ͱಋೖͯ͠͠·͏ͱ ϥΠϒϥϦͷར༻ऀ͕ਏ͘ͳΔέʔε͕ଘࡏ͢Δ(mixpanel-swiftͰମݧ) ϥΠϒϥϦɿ0.13.2 Ϣʔβʔɹɿ0.13.2 ϥΠϒϥϦͷSwiftLintͷόʔδϣϯͱϢʔβʔͷSwiftLintͷόʔδϣϯ͕ҟͳΔ߹
ϥΠϒϥϦಋೖ͢Δࡍͷམͱ݀͠ SwiftLintΛϥΠϒϥϦಋೖ͢Δࡍʹɺ௨ৗͷΞϓϦͱಉ༷ͷํ๏Ͱಋೖͯ͠͠·͏ͱ ϥΠϒϥϦͷར༻ऀ͕ਏ͘ͳΔέʔε͕ଘࡏ͢Δ(mixpanel-swiftͰମݧ) ϥΠϒϥϦɿ0.13.2 Ϣʔβʔɹɿ0.13.2 ϥΠϒϥϦͷSwiftLintͷόʔδϣϯͱϢʔβʔͷSwiftLintͷόʔδϣϯ͕ҟͳΔ߹
ϥΠϒϥϦಋೖ͢Δࡍͷམͱ݀͠ SwiftLintΛϥΠϒϥϦಋೖ͢Δࡍʹɺ௨ৗͷΞϓϦͱಉ༷ͷํ๏Ͱಋೖͯ͠͠·͏ͱ ϥΠϒϥϦͷར༻ऀ͕ਏ͘ͳΔέʔε͕ଘࡏ͢Δ(mixpanel-swiftͰମݧ) ϥΠϒϥϦɿ0.13.2 Ϣʔβʔɹɿ0.13.2 ϥΠϒϥϦɿ0.13.2 Ϣʔβʔɹɿ0.16.0 ϥΠϒϥϦͷSwiftLintͷόʔδϣϯͱϢʔβʔͷSwiftLintͷόʔδϣϯ͕ҟͳΔ߹
ϥΠϒϥϦಋೖ͢Δࡍͷམͱ݀͠ SwiftLintΛϥΠϒϥϦಋೖ͢Δࡍʹɺ௨ৗͷΞϓϦͱಉ༷ͷํ๏Ͱಋೖͯ͠͠·͏ͱ ϥΠϒϥϦͷར༻ऀ͕ਏ͘ͳΔέʔε͕ଘࡏ͢Δ(mixpanel-swiftͰମݧ) ϥΠϒϥϦɿ0.13.2 Ϣʔβʔɹɿ0.13.2 ϥΠϒϥϦɿ0.13.2 Ϣʔβʔɹɿ0.16.0 ϥΠϒϥϦͷSwiftLintͷόʔδϣϯͱϢʔβʔͷSwiftLintͷόʔδϣϯ͕ҟͳΔ߹
ͭΒΈͷݪҼ ઌఔͷͳͥൃੜͯ͠͠·͔ͬͨʁ →Ϗϧυ࣌ʹͷΈ࣮ߦ͍ͨ͠Script͕Archive࣌ʹ࣮ߦ͞Εͯ͠·͍ͬͯͨ͜ͱ ཧ ݱঢ়
None
Aggregateͱʁ ɾBuild PhaseΛཧ͢ΔͨΊͷͷ ɹAdd Target > Cross-platform > Aggregate͔ΒՃՄೳɻ
Aggregateͷ׆༻๏ ɾRealmͷϓϩδΣΫτͰɺSwiftLintͷScriptͷΈΛؚΉAggregateΛՃ͠ɺ ɹͦΕΛݺͼग़͢Α͏ʹͯ͠ར༻͍ͯ͠Δɻ
Aggregateͷ׆༻๏ ɾϥΠϒϥϦຊମͷBuild SchemeΛฤू͠ɺϏϧυ࣌(ΞʔΧΠϒ࣌)ʹͷΈ ɹSwiftLint͕ΔΑ͏ʹ͢Δ͜ͱͰ͖Δ
·ͱΊ ɾSwiftLintʹΑΓɺιʔείʔυΛखܰʹ੍ޚ͢Δ͜ͱ͕Ͱ͖Δ ɾͦͷ໘ɺࠓճͷΑ͏ͳʹ໘͢Δ͜ͱɻ ɾAggregateΛར༻͢Δ͜ͱͰରԠՄೳ ɾAggregateࠓճͷҎ֎ʹ෯͘Ԡ༻Ͱ͖ΔͷͰɺ ɹࠓޙͦͷΛௐ͍͖͍ͯͨɻ
࠷ޙʹએ 2/21ʹOrigami͞ΜͰfastlaneษڧձΓ·͢ʂ
WAmazingͰiOSΤϯδχΞΛืू͍ͯ͠·͢ʂ We are hiring!! They
͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠ɻ
ࢀߟ ɾManaging Xcode ɹ(https://pewpewthespells.com/blog/managing_xcode.html#target-agg) ɾSwiftLint ɹ(https://github.com/realm/SwiftLint) ɾmixpanel-swift ɹ(https://github.com/mixpanel/mixpanel-swift/issues/57) ɾrealm-cocoa ɹ(https://github.com/realm/realm-cocoa)