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
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Tetsuya Mori
PRO
February 14, 2014
Programming
92
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
840
unity1week でチーム開発を成功させる秘訣
monry
PRO
0
320
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
技術記事、 専門家としてのプログラマ、 言語化
mizchi
14
7.4k
継続モナドとリアクティブプログラミング
yukikurage
3
490
Contextとはなにか
chiroruxx
1
390
AIを活用したE2Eテスト実装効率化のあゆみ / ebisu-mobile-14-kotetu
kotetuco
0
170
共通化で考えるべきは、実装より公開する型だった
codeegg
0
210
Hatena Engineer Seminar #37「言語モデルの活用に関する研究」
slashnephy
0
510
Go1.27で導入されるジェネリクスメソッドでできること
mackee
0
280
Skillsは効率化、Agentsは"自分の拡張"——Builder時代のエージェント編成(CC Night 2026)
wemra
1
210
フィードバックで育てるAI開発
kotaminato
1
110
Embedded SREと共に達成した会員管理システムのAWS移行 - SRE NEXT 2026 ランチスポンサーセッション
niftycorp
PRO
1
2.3k
任せる範囲はこう広がった / How the Scope of AI Delegation Has Expanded
nrslib
1
250
Observability in Practice:Grafana 與 Edge Device SRE 的那些事
blueswen
0
190
Featured
See All Featured
Build your cross-platform service in a week with App Engine
jlugia
234
18k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.8k
Getting science done with accelerated Python computing platforms
jacobtomlinson
2
260
The SEO Collaboration Effect
kristinabergwall1
1
500
So, you think you're a good person
axbom
PRO
2
2.1k
Building an army of robots
kneath
306
46k
Unlocking the hidden potential of vector embeddings in international SEO
frankvandijk
0
870
Mobile First: as difficult as doing things right
swwweet
225
10k
A designer walks into a library…
pauljervisheath
211
24k
Principles of Awesome APIs and How to Build Them.
keavy
128
18k
A better future with KSS
kneath
240
18k
SEOcharity - Dark patterns in SEO and UX: How to avoid them and build a more ethical web
sarafernandez
0
220
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