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
agvtoolで超かっこよくバージョニングできますか?
Search
tokorom
May 15, 2014
Technology
3
30k
agvtoolで超かっこよくバージョニングできますか?
agvtoolとかBuild SettingsのVersionigという項目のお話
tokorom
May 15, 2014
Tweet
Share
More Decks by tokorom
See All by tokorom
CursorでアプリをBuild/Lint
tokorom
0
230
続・SharePlayの歴史と進化 iOS18とApple Vision Proにおける新展開
tokorom
3
1k
SharePlayの歴史と進化 そしてvisionOSへ (iOSDC 2023)
tokorom
3
1.2k
5分でSharePlay入門
tokorom
3
1.6k
HomeKit 2020
tokorom
7
2.7k
Advanced Segue 2019年のSegue事情
tokorom
9
6.3k
tvOSアプリUIの勘所
tokorom
1
2.3k
カッコ悪くリアクティブじゃダメですか?
tokorom
7
13k
古き良きsendAction (in potatotips #26)
tokorom
1
3.8k
Other Decks in Technology
See All in Technology
CDK対応したAWS DevOps Agentを試そう_20260201
masakiokuda
1
180
30万人の同時アクセスに耐えたい!新サービスの盤石なリリースを支える負荷試験 / SRE Kaigi 2026
genda
1
240
セキュリティ はじめの一歩
nikinusu
0
1.5k
Introduction to Sansan for Engineers / エンジニア向け会社紹介
sansan33
PRO
6
67k
Webhook best practices for rock solid and resilient deployments
glaforge
1
250
Frontier Agents (Kiro autonomous agent / AWS Security Agent / AWS DevOps Agent) の紹介
msysh
3
140
ファインディの横断SREがTakumi byGMOと取り組む、セキュリティと開発スピードの両立
rvirus0817
1
1.1k
【5分でわかる】セーフィー エンジニア向け会社紹介
safie_recruit
0
42k
Azure Durable Functions で作った NL2SQL Agent の精度向上に取り組んだ話/jat08
thara0402
0
140
セキュリティについて学ぶ会 / 2026 01 25 Takamatsu WordPress Meetup
rocketmartue
1
280
予期せぬコストの急増を障害のように扱う――「コスト版ポストモーテム」の導入とその後の改善
muziyoshiz
1
1.5k
ClickHouseはどのように大規模データを活用したAIエージェントを全社展開しているのか
mikimatsumoto
0
190
Featured
See All Featured
Between Models and Reality
mayunak
1
180
職位にかかわらず全員がリーダーシップを発揮するチーム作り / Building a team where everyone can demonstrate leadership regardless of position
madoxten
56
50k
Impact Scores and Hybrid Strategies: The future of link building
tamaranovitovic
0
200
Lightning Talk: Beautiful Slides for Beginners
inesmontani
PRO
1
430
Max Prin - Stacking Signals: How International SEO Comes Together (And Falls Apart)
techseoconnect
PRO
0
80
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
196
71k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
22k
Self-Hosted WebAssembly Runtime for Runtime-Neutral Checkpoint/Restore in Edge–Cloud Continuum
chikuwait
0
320
Building Experiences: Design Systems, User Experience, and Full Site Editing
marktimemedia
0
400
The browser strikes back
jonoalderson
0
360
How People are Using Generative and Agentic AI to Supercharge Their Products, Projects, Services and Value Streams Today
helenjbeal
1
110
Efficient Content Optimization with Google Search Console & Apps Script
katarinadahlin
PRO
0
310
Transcript
agvtool Ͱ ͔ͬ͜Α͘ όʔδϣχϯάͰ͖·͔͢ʁ ॴ ༑ଠ @tokorom iOS App Programer
These are “not” confidential sessions—please diffuse by your blogging and twitter potatotips #7
agvtoolͬͯʁ • ઌ Cocoaͷʑใہ ͞ΜͰհ͞Εͯͨ ͭ •ϓϩδΣΫτͷόʔδϣϯΛ͍͍͔Μ͡ʹૢ࡞ Ͱ͖ΔίϚϯυ !
BuidSettingsͷVersioningͬͯʁ • ΞϓϦͷVersionΛ͍͍͔Μ͡ʹઃఆ͢ΔͨΊ ͷઃఆ߲ •ઌ·Ͱશ͘Βͳ͔ͬͨͷ͕ͩੲ͔Β͋ͬͨͬ Ά͍ !
Α͋͘ΔVersioning • PlistBuddyͱ͔Λͬͯinfo.plistͷΛநग़ɺ ্ॻ͖ͯ͠Ϗϧυ൪߸Λߋ৽͢Δ • Jenkinsͱ͔ͰΞϓϦΛArchive͢Δͱ͖ʹshell εΫϦϓτͰinfo.plistΛ͍͡Δʢಉ͘͡ PlistBuddyͱ͔Ͱʣ • info.plist
Λ͍͡Δ͔͍͡Βͳ͍͔͕ࠓճ ͷΩʔϙΠϯτ
agvtoolͷ΄͏͕͍͍ͷʁ • Γ·ͤΜ • ͳͷͰࠓௐ͡Ί·ͨ͠ !
$ agvtool new-marketing-version 1.0.1
$ agvtool new-version 1.0.1
$ agvtool new-version -all 1.0.1
Current Project Versionͬͯʁ • info.plist ͷ΄͏ͷهड़͕ ${CURRENT_PROJECT_VERSION} ʹݻఆͰ͖Δ • PlistBuddyͰVersionig͢Δͱ͖ͷinfo.plistʹ͕ࠩग़Δͱ
͍͏͕ղফ͞ΕΔ͔ʁ !
Current Project Versionͬͯʁ • Ͱinfo.plistͷΘΓʹ *.pbxproj ͷ΄͏ʹࠩ ͕ग़ΔΑ • ͰɺBuild
Settingsͷ΄͏ͳΒ info.plist ͱҧͬ ͯ xcconfig ͕͑Δ • xcconfig ΛRun ScriptsͰॻ͖͑ͯͦͷxcconfig ΛgitignoreʹؚΊ͓͚͍͚ͯΔΜ͡Όͳ͍ʁ !
ͨͩ͠ • ͜ͷVersioningͷઃఆͨ͠ޙʹXcodeͷRun͕ ෆ҆ఆʢ·ͩݪҼෆ໌ʣ • ·ͩPlistBuddyͱ͔ΑΓ࣮֬ʹྑ͍ͱஅͰ ͖ͳ͍ • ࠓࢼ࢝͠Ί͚ͨͩͰ࣮༻Խ͍ͯ͠ͳ͍ͷͰ࣮ ༻ͯ͠Έͯͷॴײผ్ใࠂ
!
Build Settings/Versioning • ̍ͭ͜Εͷྑͦ͞͏ͳ͍ํΛհ • Build SettingsͳͷͰConfiguration͝ͱ ʢDebugͱ͔ReleaseʣʹઃఆΛมߋͰ͖Δ !
Build Settings/Versioning
Build Settings/Versioning DebugͰ࣮ߦͨ͠ͱ͖ ReleaseͰ࣮ߦͨ͠ͱ͖ ͞Β #ifdef DEBUG
·ͱΊ • agvtool Մೳੑ͋Δ͔ʁ • agvtool ஔ͍͓͍ͯͯ Versioning ͷઃఆ ߲ௐࠪ͢ΔՁ͕͋Γͦ͏
• ଓ͖WebͰ !
More Information Yuta ToKoRo! iOS App Programer! @tokorom! ! http://www.tokoro.me/