Upgrade to PRO for Only $50/Year—Limited-Time Offer! 🔥
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Xcode8 で開発はどうかわったのか
Search
Toshihiro Morimoto
November 20, 2016
Technology
10
6.3k
Xcode8 で開発はどうかわったのか
iOSオールスターズ2
https://eventdots.jp/event/602872
Toshihiro Morimoto
November 20, 2016
Tweet
Share
More Decks by Toshihiro Morimoto
See All by Toshihiro Morimoto
魅せるデバッグ技術
dealforest
4
1.5k
LLDB の世界からみた Swift
dealforest
4
5.3k
Xcode で快適なデバッグライフを追い求める
dealforest
29
24k
Intrducing debug in WWDC2016
dealforest
3
780
swift build と Xcode での Build の違い
dealforest
3
2.1k
RIP Xcode Plugin 🙏
dealforest
0
4.8k
Introducing Xcode Editor Extension
dealforest
2
4.6k
Introducing Anglerfish
dealforest
2
3.4k
音声ガイダンスを導入した話
dealforest
0
3.9k
Other Decks in Technology
See All in Technology
_第4回__AIxIoTビジネス共創ラボ紹介資料_20251203.pdf
iotcomjpadmin
0
130
Next.js 16の新機能 Cache Components について
sutetotanuki
0
180
ハッカソンから社内プロダクトへ AIエージェント ko☆shi 開発で学んだ4つの重要要素
leveragestech
0
160
【開発を止めるな】機能追加と並行して進めるアーキテクチャ改善/Keep Shipping: Architecture Improvements Without Pausing Dev
bitkey
PRO
1
130
AI駆動開発の実践とその未来
eltociear
2
490
Connection-based OAuthから学ぶOAuth for AI Agents
flatt_security
0
360
Agent Skillsがハーネスの垣根を超える日
gotalab555
6
4.3k
Amazon Bedrock Knowledge Bases × メタデータ活用で実現する検証可能な RAG 設計
tomoaki25
6
2.4k
AWS re:Invent 2025~初参加の成果と学び~
kubomasataka
0
190
通勤手当申請チェックエージェント開発のリアル
whisaiyo
3
460
『君の名は』と聞く君の名は。 / Your name, you who asks for mine.
nttcom
1
120
2025-12-27 Claude CodeでPRレビュー対応を効率化する@機械学習社会実装勉強会第54回
nakamasato
4
980
Featured
See All Featured
Optimizing for Happiness
mojombo
379
70k
AI Search: Where Are We & What Can We Do About It?
aleyda
0
6.7k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
2.6k
A Guide to Academic Writing Using Generative AI - A Workshop
ks91
PRO
0
170
Designing for Performance
lara
610
69k
Mobile First: as difficult as doing things right
swwweet
225
10k
How Fast Is Fast Enough? [PerfNow 2025]
tammyeverts
3
410
Bioeconomy Workshop: Dr. Julius Ecuru, Opportunities for a Bioeconomy in West Africa
akademiya2063
PRO
0
31
Conquering PDFs: document understanding beyond plain text
inesmontani
PRO
4
2.1k
Pawsitive SEO: Lessons from My Dog (and Many Mistakes) on Thriving as a Consultant in the Age of AI
davidcarrasco
0
37
Being A Developer After 40
akosma
91
590k
Exploring the relationship between traditional SERPs and Gen AI search
raygrieselhuber
PRO
2
3.4k
Transcript
2016/11/20 iOSΦʔϧελʔζ2 @dealforest Toshihiro Morimoto Xcode8 Ͱ։ൃͲ͏͔Θͬͨͷ͔
ࣗݾհ
Works
ຊͷΞδΣϯμ • Visual Debugging • App Signing • Xcode Plugin/Extension
• ͓·͚ - TSan and Static Analysis
ࠓ͠ͳ͍ • iOS • Storyboard • Swift • Xcode 7.3.1
-> Xcode 8 ͷҠߦ
Visual Debugging
Visual Debugging • View Debugging • FPS Performance Gauge •
Memory Graph Debugging
View Debugging
View Debugging • ϘλϯΛԡ͔ͯ͠Βͷ࣮ߦ͕ 70% ͘ͳͬͨ • transform, blur ͞Ε͍ͯͯਖ਼֬ʹϨϯμϦϯά͞ΕΔ
• ΫϥεఆٛʹඈΔ • ΞυϨεͰϑΟϧλϦϯάͰ͖Δ • ݱࡏͷ AutoLayout ͷ੍Λ֬ೝͰ͖Δ
࣮ࡍʹ༗ޮʹ AutoLayout ͷ֬ೝ͕ग़དྷΔ
FPS Performance Gauge
FPS Performance Gauge
Memory Graph Debugging
͜Ε͕ͱͯͭͳ͘ศརʂʂʂ
Memory Leak Λ ݟ͚ͭΔͱ͖ʹྗΛൃش͠·͢ʂ
͜Ε͚ͩͷͨΊʹ Xcode 8 ʹҠߦͨ͠ͱݴͬͯɹɹ աݴͰ͋Γ·ͤΜ
ͳʹΑΓோΊ͍ͯΔͱ ςϯγϣϯ͕͕͋Γ·͢
! Λλοϓ͢Ε leak ͍ͯ͠Δ object Λදࣔ
410 - Visual Debugging with Xcode
App Signing
Signing Certificate per Mac
ؾܰʹ Reset Λԡͯ͠͠·͏ͱ
͋Εʁʁ ϏϧυͰ͖ͳ͘ͳͬͨΜ͚ͩͲ…
((ƅЧƅ)); ŜƄŞŲƄſ
Signing Certificate per Mac
Signing Certificate per Mac
Signing in Xcode
Signing in Xcode
None
Signing in Xcode
Xcode 7
Xcode 8
Apple ͕ఏএ͢Δ Best Practice
Development • Use automatic • Add all developers to team
• Use the capabilities tab
Manual • Don’t set CODE_SIGN_IDENTITY • Use the new general
tab UI • Use the capabilities tab • Migrate to automatic
401 - What’s New in Xcode App Signing
͍͍͜ͱ͔ͬΓʹฉ͑͜Δʂʂ
·ɺͦΜͳΘ͚ͳ͍Ͱ͢ΑͶ
fastlane, Enterprise ͕ བྷΜͰ͘ΔͱΊΜͲ͍͘͞ʂʂ
ΊΜͲ͍͘͞ϙΠϯτ • Team ͕ҟͳΔ - Automatic Signing ͩͱෳνʔϜΛ·ͨ͛ͳ͍ • BUNDLE
IDENTIFIER ͕ҟͳΔ - Company ΞΧϯτͰ Automatic Signing Ͱɹ ϏϧυͰ͖Δ - Automatic Signing Ͱ archive ͕Ͱ͖ͳ͍
͔͠͠։ൃ࣌ Automatic Signing Λ͍͍ͨʂ
Ͳ͏͢Δͷ͔
Enterprise ରԠํ๏ -खಈϏϧυ- 1. ֘͢Δ Cert, Provisioning Profile ΛΠϯετʔϧ 2.
Customised Signing Λ͏ 3. ༻ͷ Configuration(scheme) ʹ Provisioning Profile Λબ 4. archive -> export
Enterprise ରԠํ๏ -fastlane- खಈϏϧυͱಉ͡Α͏ͳ͜ͱΛ͢Ε͍͍ 1. gym Ͱ࣮ߦ͢Δલʹ fastlane-plugin- update_project_codesigning Λͬͯ
Customised Signing ʹมߋ 2. Cert, Provisioning Profile ͷࢦఆΛ xcconfig ʹॻ͍ͯ ͓͘ 3. ༻ͷ Configuration ʹ xcconfig Λࢦఆ͓ͯ͘͠ 4. gym Ͱ࣮ߦ͢Δޙʹ Automatic Signing ʹมߋ
xcconfig ͷαϯϓϧ CODE_SIGN_IDENTITY = 1Q5231V7YW // CODE_SIGN_IDENTITY = iPhone Distribution:
dealforest (1Q5231V7YW) PROVISIONING_PROFILE_SPECIFIER = PROVISIONING_PROFILE_app = f3f8281b- a115-4529-8dnd-60e111d92fae PROVISIONING_PROFILE = $(PROVISIONING_PROFILE_$ (WRAPPER_EXTENSION))
͜ͷลΓ͏গ͠ݟ͕ͨ·Ε ϒϩάʹॻ͜͏͔ͳͱࢥ͏ͬͯ·͢
Xcode Plugin/Extension
Xcode Plugin • ඇެࣜͰ Xcode ͷ Plugin Λ࡞Δ͜ͱ͕Ͱ͖·ͨ͠ • Alcatraz
ͱ͍͏ Package Manager ͋Γ·ͨ͠ • Xcode 8 ʹͳ͔ͬͯΒެࣜͰ Xcode Extension ͕ αϙʔτ͞Ε͑ͳ͘ͳΓ·ͨ͠ (ؤுΕ͑Δ)
Xcode 8 Ͱ Xcode Plugin Λ ͏ํ๏
ࢍ൱྆͋Δͱࢥ͍·͕͢
Xcode ͕ Apple ʹΑͬͯॺ໊͞ΕΔ Α͏ʹͳͬͨͷͰॺ໊Λ֎͍͍ͤ
Xcode ͷॺ໊ͷ֎͠ํ • steakknife/unsign ΛͬͯࣗྗͰॺ໊Λ֎͢ https://gist.github.com/dealforest/ c5a5362005bce1a4280c34d18a5bc893 • fpg1503/MakeXcodeGr8Again Λ͏
྆ํͱ͍ͬͯΔ͜ͱಉ͡Ͱ ॺ໊Λ֎͍ͯ͠Δ͚ͩͰ͢
͋ͱ Xcode Plugin ʹ ͍͍ͨ Xcode ͷ UUID ΛՃ͢Δ
UUID ͷՃํ๏ $ find ~/Library/Application\ Support/Developer/ Shared/Xcode/Plug-ins -name Info.plist -maxdepth
3 | xargs -I{} defaults write {} DVTPlugInCompatibilityUUIDs -array-add `defaults read /Applications/Xcode.app/Contents/Info DVTPlugInCompatibilityUUID`
Xcode Extension • Xcode 8 ͔Βਖ਼ࣜʹαϙʔτ • ݱঢ় Plugin ͱҟͳΓͰ͖Δ͜ͱݶఆ͞Ε͍ͯΔ
• ΞϓϦؒΛ XPC Ͱ௨৴࣮͍ͯͯ͠͠Δ
Xcode 8 beta ͕ग़ͨ࣌ʹ গ͠Γ্͕͍͕ͬͯͨ...
ࠓ Xcode Extension ͷ͜ͱΛ ݴ͍ͬͯΔਓ୭͍ͳ͍
ͱ͍͏Θ͚Ͱ Xcode Extension ͷ ݱঢ়ʹ͍͓ͭͯ͠͠·͢
Ͳ͏͢Ε͑ΔΑ͏ʹͳΔͷ͔ • Xcode Extension ʹରԠ͍ͯ͠Δ Mac App ΛΠϯ ετʔϧ͢Ε͑ΔΑ͏ʹͳΔ •
App Store or GitHub or DMG Download
ͱ͍͏Θ͚Ͱ App Store ΛݟͯΈ·͠ΐ͏
App Store
(ͭд⊂)ŠƄŢŠƄŢ
App Store
App Store
ʢʀƅЧƅʣ …ʂʁ
ҧ͍͕ͳʹͳ͍ͩͱ…
Xcode Extension Ͱ͋Δ͜ͱ͕ Θ͔Βͳ͍…
ΧςΰϦ͕͋ΔΘ͚Ͱͳ͍͠…
ͭΒ͍…
Sierra ͩͱ͋Δͷ͔… ͱ୶͍ظΛͯ͠·͢
ͦΜͳ͋ͳͨͷͨΊʹ
tib/awesome-xcode-extensions
࣮ࡍʹಈ࡞Ͱ͖Δঢ়ଶʹ ͳ͍ͬͯΔ͔ͷ֬ೝ
System Preference -> Extensions
͓·͚ - TSan and Static Analysis
Thread Sanitizer
Diagnostics Ͱ༗ޮʹ͢Δ
Diagnostics Ͱ༗ޮʹ͢Δ
ͨͩ͑͠Δঢ়گݶΒΕ͍ͯ·͢
None
Static Analysis
Product -> Analyze
412 - Thread Sanitizer and Static Analysis
·ͱΊ Xcode 8 ʹͳ͔ͬͯΒՃ͞Εͨػೳͨ͘͞Μ͋Γ·͢ɻ ຊͦͷҰ෦Λհ͠·ͨ͠ɻ iOS 10 ͱҟͳΓࠓ͔ΒͰɺ͙͢ʹͰ͑Δͷ͕ͨ ͘͞Μ͋Γ·͢ɻ
গ͠ͰσόοάϥΠϑ͕ շదʹͳΕ͍Ͱ͢
͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠