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
PostProcessBuild のおはなし
Search
Tetsuya Mori
PRO
February 14, 2014
Programming
96
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
PostProcessBuild のおはなし
Tetsuya Mori
PRO
February 14, 2014
More Decks by Tetsuya Mori
See All by Tetsuya Mori
ビルドシステムを C# 大統一したお話
monry
PRO
2
1.6k
C# 大統一理論推進委員会 会員のための Unity Package Manager プロジェクト構成案
monry
PRO
0
1.8k
はじめての C# 大統一理論
monry
PRO
0
870
unity1week でチーム開発を成功させる秘訣
monry
PRO
0
330
Unity で ARゲームを作った話
monry
PRO
1
1.1k
Visual Programming Framework UniFlow のご紹介/Introducing UniFlow
monry
PRO
2
3.2k
UniFlow 完全に理解した / I can develop UniFlow a little.
monry
PRO
0
570
Democratized Unity Package Manager
monry
PRO
1
3.1k
使ってみよう! Unity RemoteSettings/Let's use Unity RemoteSettings
monry
PRO
1
1.3k
Other Decks in Programming
See All in Programming
Domain-Driven Transformation
hschwentner
2
2.3k
Augmenting AI with the Power of Jakarta EE
ivargrimstad
0
560
dotNET_vulnclicker_intro.pdf
deka_morita
0
140
個人開発者よ、Honoを使え(おじさんver)
tanahiro2010
2
240
プロダクトコードからライブラリの境界を見つける
elmetal
PRO
0
110
コーディング自動化の次へ。人の介入をゼロにするファクトリーとサポートAIによる実践
timakin
0
110
ジョジョの世界をXRで再現する
mofurune
0
150
Streamlitで実現する自然言語データアプリ開発
ayumu_yamaguchi
1
360
全ての永続トークンを、生まれる前に消し去りたい!
sylph01
0
160
速く作れる。その次は、速く確かめられる開発へ 〜AIネイティブ開発を支える、Shift Down〜 / Can build fast. Next, moving to development where we can verify fast.
rkaga
8
5.7k
設計次第でAIコードの読む量は減らせる / designing-for-code-reading
minodriven
34
16k
Workers Cache を知る
syumai
0
350
Featured
See All Featured
The Pragmatic Product Professional
lauravandoore
37
7.5k
How Fast Is Fast Enough? [PerfNow 2025]
tammyeverts
3
930
What Being in a Rock Band Can Teach Us About Real World SEO
427marketing
0
1.1k
Believing is Seeing
oripsolob
1
240
Google's AI Overviews - The New Search
badams
0
1.6k
Done Done
chrislema
187
17k
How to Align SEO within the Product Triangle To Get Buy-In & Support - #RIMC
aleyda
2
1.8k
VelocityConf: Rendering Performance Case Studies
addyosmani
331
25k
Tell your own story through comics
letsgokoyo
1
1.1k
Game over? The fight for quality and originality in the time of robots
wayneb77
1
300
Ruling the World: When Life Gets Gamed
codingconduct
0
400
Documentation Writing (for coders)
carmenintech
77
5.6k
Transcript
1PTU1SPDFTT#VJME ͷ͓ͳ͠ ʙ"TTFU1PTUQSPDFTTPSΛఴ͑ͯʙ גࣜձࣾΩοζελʔ 4ZTUFN%FWFMPQNFOU5FBN-FBEFS ɹ࠸ ୈճ6OJUZ։ൃٕज़ษڧձ
͜ΜΜʂ w lΜΓ͌zͰ͢ʂ w )BQQZ7BMFOUJOFT%BZ w Χόϯʹएׯͷ༨༟͕͍͟͝·͢ͷͰɺ ઈࢍνϣίϨʔτडதͰ͢Αʙ— w ʜʜʜɻ
w ͍ɺͯ͜ͱͰɺࠓ1PTU1SPDFTT#VJMEͷΛ͠ ʹདྷ·ͨ͠
ͱɺͦͷલʹʜɻ
XIPBNJ w lɹ࠸zͱਃ͠·͢ɻ w BLBΜΓ͌5!NPOSZ'NPOSZ w ࡀˁ0ܕఱṝ࠲طࠗ w झຯʮ͓ञʯͱʮ߹এʯͰ͢ɻ
XIPBNJ w lגࣜձࣾΩοζελʔzͬͯձࣾͰಇ͍ͯ·͢ɻ w ະबֶࣇʙখֶੜͷ͓ࢠ͞·Λ͓࣋ͪͷ ϑΝϛϦʔΛλʔήοτʹͨ͠ɺҭڭҭʹ ؔΘΔΞϓϦɾαʔϏεΛల։͓ͯ͠Γ·͢ɻ ͷ͑΄Μؗ ͳΓ͖Γ ͬ͜͝ϥϯυ
ύζϧςΠϧζ ͓͔͠ͷ͘ʹΛ ͭ͘Δͷ͡Ό ͳΓ͖Γ ΞΠεΫϦʔϜ ͞Μͬ͜͝ ͳΓ͖Γ ϚϚͬ͜͝ ͓หΛͭ͘Ζ͏ʂ ͑͜΄Μ
Ε͡ΎΊ w 1PTU1SPDFTT#VJME֓ཁ w 1PTU1SPDFTT#VJMEৄࡉ w ͓·͚
·͓͖͑ w 6OJUZ w WFSTJPOG w J04ͷ888 Ϋϥεʹόά͋Γʁ w 1SP-JDFOTF
w 1SP͡Όͳͯ͘ େৎ͔ʁ w #VJME1MBUGPSN w J04 w "OESPJE w %FWFMPQNFOU1MBUGPSN w 049.BSWFSJDLT w 8JOEPXT w ඇαϙʔτػೳΞϦ
1PTU1SPDFTT#VJMEͷ֓ཁ
1PTU1SPDFTT#VJME֓ཁ w ࣮ػ༻ʹϏϧυ͢Δࡍͷ ׂΓࠐΈॲཧ w େ·͔ʹ͚ͯೋछྨͷ ॻ͖ํ͕Ͱ͖Δ w γΣϧεΫϦϓτ w
6OJUZεΫϦϓτ
1PTU1SPDFTT#VJME֓ཁ w ॲཧΠϝʔδ
1PTU1SPDFTT#VJMEͷৄࡉ
ར༻༻్ w ϏϧυޙʹखಈͰΠδΠδ͢Δඞཁͷ͋ΔॲཧΛ ࣗಈԽ w දࣔΞϓϦ໊ͷઃఆ w J04 KBcFO MQSPK*OGPQMJTUTUSJOHT
w "OESPJESFTWBMVFT KB TUSJOHTYNM w 63-4DIFNFTͷઃఆ
ར༻༻్ w "3$Λ͍ͬͯΔ/BUJWF1MVHJOʹGPCKDBSDΛ༩ w "OESPJE.BOpFTUYNMͷՃ w BEWFSUJTJOH*EFOUJpFS *%'" ͷରԠ w
6OJUZͷ࣍όʔδϣϯΞοϓσʔτͰ ΔΒ͍͚͠Ͳɻ w ԿΕʹͯ͠ɺYDPEFQSPKͱ͔"OESPJE.BOJGFTUʹ ͍ͭͯɺ͋ΔఔࣝΛཁ͢Δ
γΣϧεΫϦϓτͷ߹ w ઌͣ6OJUZ.BOVBMಡΈ·͠ΐ͏ w େલఏͱͯ͠ɺ.BD൛ͷΈαϙʔτ w "TTFUT&EJUPS1PTUQSPDFTT#VJME1MBZFS w ֦ுࢠແ͠ w
࣮ߦݖݶ༩
γΣϧεΫϦϓτͷ߹ w TIFCBOHతʹύε͕௨ͬͯΕݴޠෆ w YDPEFQSPKͱ͔Λ࿔ΔͷͰ͋Ε 3VCZ͕Φψψϝ͔ͳʁ w $PDPB1PETͷYDPEFQSPKͳHFN͕ศར w YDPEFQSPKͱ͔"OESPJE.BOJGFTUͱ͔ͷ
ΈΛ͋Δఔख़͍ͯ͠ͳ͍ͱϋϚΔ
γΣϧεΫϦϓτͷ߹ w ࣮ߦ࣌ͷҾ ग़ྗઌͷϑϧύε #VJME1MBUGPSNछผ w J04lJ1IPOFz w
"OESPJElBOESPJEz ࠷దԽछผ 4USJQQJOH-FWFMʁ ձ໊ࣾ ϓϩμΫτ໊ ը໘ԣ෯ ը໘ॎ෯
γΣϧεΫϦϓτͷ߹ w ҙ w ʮͦ͏ɺ.BDͳΒͶɻʯ w ޙड़ͷ<1PTU1SPDFTT#VJME / >ଐੑΑΓઌʹ࣮ߦ͞ΕΔ w
·͊ɺιϨࣗମ͡Όແ͍Μ͕ͩɺ3VCZ(FNTͷYDPEFQSPKͱɺޙड़ ͷ9DPEF&EJUPSGPS6OJUZΛซ༻͢ΔͱϋϚΔ w ͬͯͷɺ9DPEF&EJUPSGPS6OJUZ"4$**'PSNBUQMJTU͔͠ಡΈॻ͖Ͱ ͖ͳ͍ͷ͕ͩɺ3VCZ(FNTͷYDPEFQSPK9.-'PSNBUQMJTUͱͯ͠ॻ͖ ग़ͯ͠͠·͏ͷͰɺ<1PTU1SPDFTT#VJME / >ଆͰΤϥʔΛͿ͍ͬͯ͘͜ΕΔ w 'BDFCPPL4%,GPS6OJUZΛ͏߹ɺ<1PTU1SPDFTT#VJME / >ͷॲཧͰ 9DPEF&EJUPSGPS6OJUZΛ༻͍͍ͯΔͷͰɺ࣮֬ʹ্هͷʹϒνͨΔ
6OJUZεΫϦϓτͷ߹ w ઌͣ6OJUZ.BOVBMಡΈ·͠ΐ͏ w 6OJUZ͔Βར༻Մೳʹͳͬͨ Β͍͠ w .BD8JOEPXTͲͪΒͰ w
"TTFUT &EJUPS DTcKT w 6OJUZతʹ&EJUPS4DSJQUͰ͋Δͱೝࣝग़དྷΔ ύεͳΒ0,ͬͯίτ
6OJUZεΫϦϓτͷ߹ w /&5ʹग़དྷΔίτͳΒԿͰ͟͝Ε w ͪΖΜ6OJUZͱͯ͠ͷػೳ͑ΔͷͰɺ 3FTPVSDFT-PBE ͱ͔͑ͨΓ͢Δ w ϙΠϯτೋͭ w
&EJUPSσΟϨΫτϦҎԼʹஔ͢Δ w QVCMJDTUBUJDͳϝιουʹ<1PTU1SPDFTT#VJME / > Λଐੑઃఆ͢Δ /࣮ߦॱং
6OJUZεΫϦϓτͷ߹ w ͜Μͳײ͡ɻ public static class PostProcessBuild { [PostProcessBuild(100)] public
static void OnPostProcessBuild(BuildTarget target, string path) { if (target == BuildTarget.iPhone) { Debug.Log("iOS: " + path); } if (target == BuildTarget.Android) { // ී௨ʹ Build ͨ͠߹ apk ͷঢ়ଶͰ͞ΕΔͷͰɺ੍ޚ͢Δ if (!Regex.IsMatch(path, "\\.apk$")) { Debug.Log("Android: " + path); } } } }
6OJUZεΫϦϓτͷ߹ w YDPEFQSPKΛ࿔Δ߹9DPEF&EJUPSGPS 6OJUZΛ͏ͱศརʂ w ࡞ऀͷ%BOJFMF$BSJPMB͞Μʹײँʂ w 9DPEFͰແ͘ಈ࡞͢ΔίτΛ֬ೝࡁ w "OESPJE.BOJGFTU࿔ΔϥΠϒϥϦͱ͔ݟ͔
Βͳ͔͚ͬͨͲɺී௨ʹ9.-࿔Ε0,
6OJUZεΫϦϓτͷ߹ w ҙ w "OESPJEͷ߹ɺ(PPHMF"OESPJE1SPKFDU ͱͯ͠&YQPSU͠ͳ͍ͱBQLʹରͯ͠ॲཧ͢ ΔίτʹͳͬͪΌ͏͔ΒΞτ w γΣϧεΫϦϓτͱҧͬͯɺ࣮ߦ࣌ʹ Τϥʔ͍ͨ͜߹Ϗϧυࣗମ͕ࢭ·Δ
ϝϦοτσϝϦοτ γΣϧεΫϦϓτ w ϝϦοτ w ׳ΕͨݴޠͰॻ͚Δ w ࣮࣌ͷ֬ೝָ͕ w Ҿ፻ͯ͠ΩοΫ
͢Ε0, w ݴޠʹґͬͯϥΠϒ ϥϦ͕๛ w σϝϦοτ w 6OJUZͷػೳ͕͑ͳ ͍ w ϩάग़͠ਏ͍ w Τϥʔ͕ى͖ͯͯؾ ͖ʹ͍͘ w 8JOEPXTΦϫίϯ
ϝϦοτσϝϦοτ 6OJUZεΫϦϓτ w ϝϦοτ w 6OJUZͷػೳ͑Δ w ૭Ͱಈ͘ w ؤுΕϓϩδΣΫτ
ґଘͳΛͰ͖Δ w 4DSJQUBCMF0CKFDU ͱ͔͑Ͷɻ w σϝϦοτ w Τϥʔى͖Δͱࢭ·Δ w ֬ೝ͕ϝϯυ͍ w ຖճϏϧυ͠ͳ͍ͱ ͩΊΆ
·ͱΊ w ݸਓతʹ6OJUZεΫϦϓτ͕ΦεεϝͰ͢ w ॲཧॱΛఆٛग़དྷΔ͔ΒࡉԽͰ͖Δ͠ w ฐࣾతʹɺ͜Εͷ͓ӄͰϏϧυޙʹखಈͰઃఆ͢Δίτ ຆͲ͋Γ·ͤΜ w །Ұɺ1SPWJTJPOJOH1SPpMFͷઃఆ͚ͩ͢Δ͚ͲͶɻ
w ૬ຊؾग़ͤ+FOLJOT͓͡͞Μͱྑ͘͢ΔͳͲͰɺ lϏϧυzˠl"1,*1"ΞʔΧΠϒzˠl5FTU'MJHIUΞοϓz ͱ͔ΛશࣗಈԽͰ͖Δ͔
͓·͚
"TTFU1PTUQSPDFTTPS w 1PTU1SPDFTTܥͷωλͱͯ͠0OFNPSFUIJOH w ϞόΠϧ͚ʹϏϧυ͢ΔʹͨͬͯɺςΫενϟͷѹॖܗ ࣜʹ͍ͭͯҙΛ͏ඞཁ͕͋Γ·͢ w ΜΓ͌ͷΦεεϝҎԼͷ௨Γ w J043(#"$PNQSFTTFE1735$CJUT
w "OESPJE3(#"$PNQSFTTFE"5$CJUT w ৄͪ͘͜͠ΒͷεϥΠυΛ͝ࢀর͍ͩ͘͞ εςϚ
"TTFU1PTUQSPDFTTPS w Ͱɺʮ͜ͷઃఆΛຖճΔͷ b"A ŵƃŪƄŞŤʯͳو ํʹ࿕ใͰ͢ʂ w ͳΜͱɺ֤छ"TTFUΛ*NQPSU͢Δͱ͖ʹॲ ཧΛϑοΫͰ͖ͪΌ͏ͷͰ͢ʂ w
5FYUVSF͚ͩʹݶΒͣɺ"VEJPΒ.PEFMΒ ͷl"TTFUzͳϞϊͰ͋ΕԿͰ͟͝Ε
"TTFU1PTUQSPDFTTPS w ઌͣ6OJUZ.BOVBMΛʜ SZ w ϙΠϯτҎԼͷ௨Γ w &EJUPSσΟϨΫτϦҎԼʹஔ w 6OJUZ&EJUPS"TTFU1PTUQSPDFTTPSΛܧঝ
w 0O 1SFc1PTU QSPDFTT "VEJPc.PEFMc5FYUVSF ϝιου Λ࣮ ଞʹز͔ͭ͋Δ͚ͲͶ w .FTTBHJOHͷػೳʹΑΓݺͼग़͞ΕΔ
"TTFU1PTUQSPDFTTPS w ฐࣾͰҎԼͷΑ͏ͳίτΛͬͯ·͢ w جຊతʹ*NQPSU4FUUJOHTΛ্ॻ͖ w ֦ுࢠ͕SBXQOHͳϑΝΠϧૉ௨Γ w ϓϥοτϑΥʔϜผઃఆΛݸผʹࢦఆ͍ͨ͠έʔ εΛఆͯ͠ɺطʹ0WFSXSJUFGPSʹνΣο
Ϋ͕͍͍ͯΔ߹ɺ্ॻ͖͠ͳ͍
·ͱΊ w 6OJUZʹ 1SFc1PTU )PHF'VHBͳϑοΫॲཧ ͕Γͩ͘͞Μʂ w &EJUPS4DSJQUΛ͍͜ͳ͢ͱ։ൃޮΊͬͪΌ ͕͋ΔΑʂʂ w
6OJUZ.BOVBMख़ಡͯ͠ɺଘʹ͍ͪ͠Ό͍ ·͠ΐ͏ʂʂʂ
ࢹௌऀϓϨθϯτ
ίί·Ͱ͓͖߹͍͍ͨ وํଃΔ͔͞͞ͳϓϨθϯτ w ͯ͜ͱͰɺฐࣾͰ͍ͬͯΔ "TTFU1PTUQSPDFTTPS ΛҰ෦Ճͨ͠Ϟϊ Λ ͪ͜Βʹஔ͍͓͖ͯ·ͨ͠ w Α͠ͳʹՃ͍ͯͬͯͩ͘͠͞ͳ
w ͋ɺϊʔΫϨʔϜɾϊʔϦλʔϯͰśūŢŒţ
"OZ2VFTUJPOT
5IBOLZPVGPS ZPVSBUUFOUJPO