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
モバイルプラットフォーム ビルド自動化のおはなし
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Tetsuya Mori
PRO
July 31, 2014
Programming
35
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
モバイルプラットフォーム ビルド自動化のおはなし
Tetsuya Mori
PRO
July 31, 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
壊れたパーサから始める関数型設計と構成的なパーサ #fp_matsuri
raiga0310
2
200
そのテスト、説明できますか?~LWテスト戦略FW~のご紹介
nakahara
0
200
才能?センス?知らん、 続けたもん勝ちだ。-- 結婚・出産・癌を越えてなお、私がプロダクトを創り続ける理由
16bitidol
2
840
LaravelLive Japan の裏方のすべて — 第188回 PHP勉強会@東京 (2026-06-24)
suguruooki
2
150
過去最大のMCPアップデート! 2026-07-28 RC版の謎に迫る
licux
6
460
20260623_Loop Engineeringで自分の分身の問い合わせBotを作る
ryugen04
0
200
霧の中の代数的エフェクト
funnyycat
1
340
Mujeres en SEO Summit 2026 - Greatest Disaster Hits en Web Performance
guaca
0
240
Performance Engineering for Everyone
elenatanasoiu
0
270
Claude Opus 4.6以後の受託開発エンジニアの変化(Claude Code開発ノウハウ大公開スペシャルbyクラスメソッド)
iidatakuma
1
590
なぜ型を書くのか? TSKaigi2026で改めて考える #tskaigi_smarthr
kajitack
0
340
Vue × Nuxt × Oxc どこまで使える?実運用の現在地
andpad
0
370
Featured
See All Featured
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
Heart Work Chapter 1 - Part 1
lfama
PRO
8
36k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
659
62k
The World Runs on Bad Software
bkeepers
PRO
72
12k
The Director’s Chair: Orchestrating AI for Truly Effective Learning
tmiket
1
210
The Language of Interfaces
destraynor
162
27k
Collaborative Software Design: How to facilitate domain modelling decisions
baasie
1
260
Beyond borders and beyond the search box: How to win the global "messy middle" with AI-driven SEO
davidcarrasco
3
180
What the history of the web can teach us about the future of AI
inesmontani
PRO
1
630
The Cult of Friendly URLs
andyhume
79
6.9k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
38
2.9k
It's Worth the Effort
3n
188
29k
Transcript
ϞόΠϧϓϥοτϑΥʔϜ ϏϧυࣗಈԽͷ͓ͳ͠ 5IV 6OJUZษڧձWPM גࣜձࣾΩοζελʔ γεςϜσϕϩϓϝϯτνʔϜϦʔμʔ ɹ࠸
͜ΜΜʂ
ຖ͓ೃછΈ ʁ ΜΓ͌Ͱ͢ɻ
ΤϯδχΞͱ
ʮၗຫʯ ʮؾʯ ʮଵଦʯ ॱෆಉ
Ͱ͋Δɻ
ͱɺ͍͏Θ͚Ͱ ʮଵଦʯʹؔ͢Δ ͓ͳ͠Ͱ͢ɻ
͓͠ͳ͕͖
͓͠ͳ͕͖ w ࣗݾհ w લஔ͖ w ϏϧυࣗಈԽͷ֓ཁ w ϏϧυࣗಈԽͷৄࡉ w
ϏϧυࣗಈԽͷσϞ ࣌ؒ༨Ε
ࣗݾհ
XIPBNJ w lɹ࠸zͱਃ͠·͢ɻ w BLBΜΓ͌5!NPOSZ'NPOSZ w ࡀˁ0ܕఱṝ࠲طࠗ w झຯʮ͓ञʯͱʮ߹এʯͰ͢ɻ
XIPBNJ w େֶΛ ࣗओతʹ ଔۀޙɺϕϯνϟʔΛసʑɻ w 8FCͷϑϩϯτΤϯυɺαʔόαΠυ͕ಘҙɻ w Α͏͘6OJUZྺνϣΠʹͳΓ·ͨ͠ɻ w
"84ͱΩϟοΩϟϑϑ͢Δͷ͖Ͱ͢ɻ w Կނ͔ࣾΠϯϑϥΒ͞Εʜͬͯ·͢ɻ w ۙࠒ#BDLCPOFKT ͱ$P⒎FF4DSJQUͱ4"44 ͱٔΕͯ·͢ɻ
KPCT w lגࣜձࣾΩοζελʔzͬͯձࣾͰಇ͍ͯ·͢ɻ w ະबֶࣇʙখֶੜͷ͓ࢠ͞·Λ͓࣋ͪͷ ϑΝϛϦʔΛλʔήοτʹͨ͠ɺҭڭҭʹ ؔΘΔΞϓϦɾαʔϏεΛల։͓ͯ͠Γ·͢ɻ w ͓ӄ༷Ͱ&E5FDIͳҭʹԙ͍ͯ /PنͰల։͓ͯ͠Γ·͢ʂ
ࣾௐ͆
MTMBBQQT ͷ͑΄Μؗ ͳΓ͖Γ ͬ͜͝ϥϯυ ύζϧςΠϧζ ͓͔͠ͷ͘ʹΛ ͭ͘Δͷ͡Ό ͳΓ͖Γ ΞΠεΫϦʔϜ ͞Μͬ͜͝
ͳΓ͖Γ ϚϚͬ͜͝ ͓หΛͭ͘Ζ͏ʂ ͑͜΄Μ ͓͔͠ͷՈΛ ͭ͘Ζ͏ʂ ϋϯόʔΨʔ ͞Μͬ͜͝ ඈߦػΛ ΈཱͯΑ͏ʂ i18n i18n i18n i18n 8PSLJO 1SPHSFTT
લஔ͖
ڥ w 6OJUZG w 1MBUGPSNJ04 "OESPJE w %FWFMPQNFOU.BD 8JOEPXT w
%JNFOTJPO ओʹ % w -BOHVBHF$
ڥ w )PNFCSFX ͡Όͳͯ͘ྑ͍͚Ͳ w 9DPEF$PNNBOE-JOF5PPMT w HSBEMF CSFXJOTUBMMHSBEMF
w %FQMPZ(BUF PQUJPOBM w $IBU8PSL PQUJPOBM
ຊ
͓͓·͔ͳྲྀΕ w 6OJUZ͔ΒϓϩδΣΫτग़ྗ w ίϚϯυϥΠϯ͔ΒϏϧυɾύοέʔδϯά w ҙ ԿΒ͔ͷσϓϩΠαʔϏεʹ৴ w ҙ
ԿΒ͔ͷखஈͰ৴݁ՌΛؔऀʹ௨
&YQPSU1SPKFDU w ૉʹ6OJUZͷػೳ͏ w ͕ɺඪ४ͷϏϧυΟϯυΘͳ͍ w ྫ͑ฐࣾͷ߹ˠ
&YQPSU1SPKFDU w ֤छઃఆͱ͔ΛࣄલνΣοΫ͍ͨ͠ w ཧͱ͢Δग़ྗܗࣜʹௐ͠қ͍ w "1,ʹͤͣʹ"OESPJE4UVEJPग़ྗͱ͔ w Ϗϧυޙʹ'JOEFS։͘ͷ͕β͍ w
,FZTUPSF1BTTXPSEೖΕΔͷ͕μϧ͍
&YQPSU1SPKFDU w 6OJUZ&EJUPS#VJME1JQFMJOF#VJME1MBZFS w 4DFOFϑΝΠϧύεͷྻ w ग़ྗઌͷύε w ϏϧυରϓϥοτϑΥʔϜ
w Կ͔Φϓγϣϯ ͳ͍ͳΒ#VJME0QUJPO/POFͰ͓L BuildPipeline.BuildPlayer( new string[] { "path/to/scene1", "path/to/scene2", // ... }, "path/to/output", BuildTarget.Android, BuildOptions.Development | BuildOptions.AcceptExternalModificationsToPlayer );
&YQPSU1SPKFDU w 9DPEF"OESPJE4UVEJPग़ྗ͢Δʹ BuildOptions.AcceptExternalModificationsToPlayer w %FWFMPQNFOU#VJMEʹ͢Δʹ BuildOptions.Development w ͦͷଞ৭ʑ͋Δ͚Ͳɺৄ͘͠ϚχϡΞϧࢀর
&YQPSU1SPKFDU w ͋ͱɺ͋·ΓΦεεϝͰ͖ͳ͍͚Ͳɺ ,FZTUPSF1BTTXPSEίʔυ͔ΒࢦఆՄೳ PlayerSettings.Android.keystoreName = "path/to/keystore"; PlayerSettings.Android.keystorePass = "hogehoge";
PlayerSettings.Android.keyaliasName = "fugafuga"; PlayerSettings.Android.keyaliasPass = "piyopiyo";
#VJME1BDLBHJOH w ຊͷϝΠϯσΟογϡ w ग़ྗྃޙʹ࣮ߦ͢Δඞཁ͋Γ w +FOLJOTHSVOUNBWFOFUDʜ w 1PTU1SPDFTT#VJMEͰ࣮ߦՄೳ w
11#ʹ͢ΔͱϓϩάϨεόʔͱ੍͔ޚ͠қ͍ w 1PTU1SPDFTT#VJMEʹ͍ͭͯίνϥ εςϚ
#VJME1BDLBHJOH J04 w ͏ίϚϯυxcodebuild xcrunͷೋͭ w $-5ೖΕͯͨΒVTSCJOͷԼʹډΔϋζ w xcodebuild ͰϏϧυ͔ͯ͠Βɺ
xcrunͰJQBϑΝΠϧ "E)PDϏϧυ ͷੜΛߦ͏
#VJME1BDLBHJOH J04YDPEFCVJME w xcodebuildίϚϯυͷҾҎԼͷΑ͏ͳײ͡ ڥґଘ͋Δ͔Ͷɻ -project "path/to/Unity-iPhone.xcodeproj" \! -sdk iphoneos
\! -target "Unity-iPhone" \! -configuration Release \! clean build \! CODE_SIGN_IDENTITY="iPhone Distribution" \! PROVISIONING_PROFILE="$ProvisioningProfileID$"
#VJME1BDLBHJOH J04YDSVO w YDSVOίϚϯυͷҾҎԼͷΑ͏ͳײ͡ -sdk iphoneos \! PackageApplication "path/to/built.app" \!
-o "path/to/output.ipa" \! --embed "$ProvisioningProfileID$.mobileprovision"
#VJME1BDLBHJOH "OESPJE w ͏ίϚϯυHSBEMF͚ͩʂ w ग़ྗઌσΟϨΫτϦԼʹCVJMEHSBEMFͳͲΛ ஔ͓ͯ͘͠ඞཁ͋Γ w ͜ͷลؤுͬͯ1PTU1SPDFTT#VJMEͰஔ ͢ΔͱͤʹͳΕΔ
w ͿͬͪΌ͚ҰےೄͰ͍͔ͳ͍ ͍͔ͳ͔ͬͨ
#VJME1BDLBHJOH "OESPJEHSBEMF w CVJMEHSBEMF͜Μͳײ͡ w ଟগ(SBEMF ͔ͯ(SPPWZ ͷࣝඞཁ͔ w VOJUZDMBTTFTKBSΛϩʔΧϧͷ.BWFOϦϙδτϦʹ৯Θ
ͤΔඞཁ͕͋ͬͨΓ w ಛʹ'BDFCPPL4%,GPS6OJUZ͏߹ɺͨͿΜඞਢ w HSBEMFQSPQFSUJFT͕ඞཁͩͬͨΓ w ৭ʑ໘Ͱ͆͢
ͦΖͦΖർΕͯ ͖ͨͰ͠ΐʁ
͏ͪΐͬͱ͚ͩ ଓ͘Μ͡Όɻ
%FQMPZNFOU w ં֯Ϗϧυͨ͠Ϟϊݕূ͠ͳ͍ͱͶʂ w ͪΐͬͱલͩͬͨΒ5FTU'MJHIU͕༗ྗͩͬͨ w "OESPJE͕͑ͳ͘ͳͬͪΌ͍·ͨ͠ ŋТŋA w
ࠓ%FQMPZ(BUF͔ͳʁ w $SBTIMZUJDTͱ͔͋Γ·͢Ͷɻ
%FQMPZNFOU w ·͊ɺ͖ͳͷ͑ྑ͍Μ͡ΌͶʁ w νͰ%FQMPZ(BUFͬͯ·͢ɻ w ίϚϯυϥΠϯπʔϧ͕γϯϓϧͰྑ͍ɻ dgate push path/to/apk!
dgate push path/to/ipa
%FQMPZNFOU w બఆϙΠϯτͱͯ͠ʜ w J04"OESPJE྆ରԠ w 1SPWJTJPOJOHपΓΛ͍ίτͬͯ͘ΕΔ w ϖʔδͱ͔ੜͰ͖Δͱঘྑ͠ w
डୗͱ͔ͬͯΔ߹ɺ͓٬͞Μʹ Πϯετʔϧͯ͠Β͑Εָ͔ʁ
"OOPVODFNFOU w ࠷ޙʮ͓Βͤʯ w νͰ$IBU8PSLʹϏϧυ݁Ռ௨ઐ༻ ͷϧʔϜΛ࡞ͬͯɺͦ͜ʹ݁ՌΛ௨ͯ͠·͢ w ͜Ε1PTU1SPDFTT#VJMEͰؤுͬͯΔ w $IBU8PSL"1*ΛΩοΫ͢ΔϥΠϒϥϦ
ׂͱ͘ॻ͚ͯΔ͔Βɺ"TTFU4UPSFͱ͔Ͱ ൢചͯ͠ΈΑ͏͔͠Β͆
"OOPVODFNFOU w ·͊ɺΘΕԿͰྑ͍ͱࢥ͏ͷͰ ʮϝʔϧʯʮ"1/T($.ʯʮޱ಄ʯ ʮॻോʯʮจʯʮςϨύγʔʯFUDʜ Λۦͯ͑͠Δ͖ਓʹ͑·͠ΐ͏ɻ w ͑Δ༰ͱͯ͠ɺʮΞϓϦ໊ʯʮόʔδϣϯʯ ʮϏϧυछผ %FW
1SPE ʯลΓ ࠷ݶඞཁ͔ͳʁ
%FNP
"OZ2VFTUJPOT
5IBOLZPVGPS ZPVSBUUFOUJPO