Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
ライブラリとSwiftLintの辛いお話
Search
Kohei Tabata
February 14, 2017
Programming
1.3k
2
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
ライブラリとSwiftLintの辛いお話
Kohei Tabata
February 14, 2017
More Decks by Kohei Tabata
See All by Kohei Tabata
AIと協業する開発の進め方
nerd0geek1
0
190
営業活動なしで継続的に案件を受注する方法 / how to get a contract without sales as a freelance
nerd0geek1
2
1k
生体データを取り扱うアプリ開発の勘所
nerd0geek1
1
160
動線改善とステータス可視化で家庭内のストレスを軽減した話
nerd0geek1
3
4.6k
家庭をプロジェクトとして運営した話
nerd0geek1
2
4.4k
fastlaneの勉強会を主催して学んだこと、得たこと、悩んだこと
nerd0geek1
1
1.3k
みんなで育てるprecheck
nerd0geek1
1
860
matchとは?match導入のメリット
nerd0geek1
4
650
Improve your workflow with Sketch plugin
nerd0geek1
3
1.6k
Other Decks in Programming
See All in Programming
Domain-Driven Transformation
hschwentner
2
2.3k
C#の現在地 進化の歴史と、AI時代の.NET Everywhere
neuecc
5
4.9k
【加筆修正版】Laravel のアプリケーションをどこにデプロイするか #phpcon_ehime
akase244
0
150
Findy - エンジニア向け会社紹介/Findy Company Deck
findyinc
6
400k
半永久的に提供し続けられるプライベートクラウドを目指して ― 利用者の認知負荷を抑えるAPI抽象化とハードウェア世代交代の基盤設計
tomokon
0
440
re:Inventに行く前に知っておきたい現地参加のノウハウ
nokomoro3
0
370
iOSDC2026登壇資料.pdf
riofujimon
0
210
GemmaをJevのように使ってみる / Use Gemma like Jev
kishida
5
680
WebRTC映像をAirPlayに対応させる挑戦.pdf
monolithic_adam
0
340
FreeBSDでZabbixを動かす
kenkino
0
360
AI が書く Go コードの品質を劇的に向上させる Linter: “declscope”
mpyw
0
480
技術的負債の返済は、AI時代の複利で効く投資 — 経営としての意思決定とその遂行
curekoshimizu
1
2.2k
Featured
See All Featured
Gemini Prompt Engineering: Practical Techniques for Tangible AI Outcomes
mfonobong
2
570
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
The innovator’s Mindset - Leading Through an Era of Exponential Change - McGill University 2025
jdejongh
PRO
1
360
Agile Leadership in an Agile Organization
kimpetersen
PRO
0
270
4 Signs Your Business is Dying
shpigford
187
23k
Build The Right Thing And Hit Your Dates
maggiecrowley
39
3.5k
SEO in 2025: How to Prepare for the Future of Search
ipullrank
3
3.9k
Paper Plane (Part 1)
katiecoart
PRO
2
11k
Technical Leadership for Architectural Decision Making
baasie
3
590
The Invisible Side of Design
smashingmag
301
52k
Leveraging Curiosity to Care for An Aging Population
cassininazir
1
520
Bioeconomy Workshop: Dr. Julius Ecuru, Opportunities for a Bioeconomy in West Africa
akademiya2063
PRO
1
390
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)