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
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.5k
C# 大統一理論推進委員会 会員のための Unity Package Manager プロジェクト構成案
monry
PRO
0
1.8k
はじめての C# 大統一理論
monry
PRO
0
850
unity1week でチーム開発を成功させる秘訣
monry
PRO
0
330
Unity で ARゲームを作った話
monry
PRO
1
1k
Visual Programming Framework UniFlow のご紹介/Introducing UniFlow
monry
PRO
2
3.2k
UniFlow 完全に理解した / I can develop UniFlow a little.
monry
PRO
0
560
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
仕様駆動開発の消費期限
watany
20
8.4k
型も通る、synthも通る、それでも危ない 〜AIのCDKの権限とコストを機械で検証する〜 / It Passes Type Checks, It Passes Synth Checks, but It’s Still Risky — Automatically Verifying Permissions and Costs in AI’s CDK —
seike460
PRO
1
560
関東Kaggler会_NVIDIA_Nemotron_コンペ_振り返り
rick_ds
0
590
属人化した知識を、 AIが辿れる地図にする
pkshadeck
PRO
1
180
AIを紡ぐPMのお話
swdtkuy
0
110
yield再入門 #phpcon
o0h
PRO
0
1.1k
Japan Community Day at Kubecon + CloudNativeCon Japan 2026: Learning Container Privilege Control by Building My Own Low-Level Container Runtime
ternbusty
1
150
S3 を使うアプリケーションをローカル完結で動かすことに全力を注いでみた / Running S3 Apps Offline
contour_gara
0
490
【QA Test Talk Vol.8】AI-DLC による Whole Team Approach の加速
pkshadeck
PRO
0
180
php-fpmのプロセスが枯渇した日-調査・対処・そして本当にやるべきだったこと-
shibuchaaaan
0
290
Built Our Own Background Agent at LayerX
layerx
PRO
10
5.5k
Terraform標準の組織で AWS CDKをどう使うか
mu7889yoon
1
520
Featured
See All Featured
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4.5k
Highjacked: Video Game Concept Design
rkendrick25
PRO
1
430
Understanding Cognitive Biases in Performance Measurement
bluesmoon
32
3k
The Limits of Empathy - UXLibs8
cassininazir
1
600
Bioeconomy Workshop: Dr. Julius Ecuru, Opportunities for a Bioeconomy in West Africa
akademiya2063
PRO
1
230
The Spectacular Lies of Maps
axbom
PRO
1
910
Stop Working from a Prison Cell
hatefulcrawdad
274
21k
How to build an LLM SEO readiness audit: a practical framework
nmsamuel
1
860
The World Runs on Bad Software
bkeepers
PRO
72
12k
A better future with KSS
kneath
240
18k
SEO in 2025: How to Prepare for the Future of Search
ipullrank
3
3.7k
30 Presentation Tips
portentint
PRO
1
370
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