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
Tetsuya Mori
PRO
July 31, 2014
Programming
0
32
モバイルプラットフォーム ビルド自動化のおはなし
Tetsuya Mori
PRO
July 31, 2014
Tweet
Share
More Decks by Tetsuya Mori
See All by Tetsuya Mori
ビルドシステムを C# 大統一したお話
monry
PRO
2
1.4k
C# 大統一理論推進委員会 会員のための Unity Package Manager プロジェクト構成案
monry
PRO
0
1.7k
はじめての C# 大統一理論
monry
PRO
0
800
unity1week でチーム開発を成功させる秘訣
monry
PRO
0
290
Unity で ARゲームを作った話
monry
PRO
1
950
Visual Programming Framework UniFlow のご紹介/Introducing UniFlow
monry
PRO
2
3.1k
UniFlow 完全に理解した / I can develop UniFlow a little.
monry
PRO
0
540
Democratized Unity Package Manager
monry
PRO
1
2.9k
使ってみよう! Unity RemoteSettings/Let's use Unity RemoteSettings
monry
PRO
1
1.2k
Other Decks in Programming
See All in Programming
Ruby x Terminal
a_matsuda
7
600
生成 AI 時代のスナップショットテストってやつを見せてあげますよ(α版)
ojun9
0
240
AWS Infrastructure as Code の新機能 2025 総まとめ 〜SA 4人による怒涛のデモ祭り〜
konokenj
10
3.4k
The free-lunch guide to idea circularity
hollycummins
0
240
受け入れテスト駆動開発(ATDD)×AI駆動開発 AI時代のATDDの取り組み方を考える
kztakasaki
2
590
S3ストレージクラスの「見える」「ある」「使える」は全部違う ─ 体験から見た、仕様の深淵を覗く
ya_ma23
0
630
Vuetify 3 → 4 何が変わった?差分と移行ポイント10分まとめ
koukimiura
0
150
Takumiから考えるSecurity_Maturity_Model.pdf
gessy0129
1
150
grapheme_strrev関数が採択されました(あと雑感)
youkidearitai
PRO
1
230
GoのDB アクセスにおける 「型安全」と「柔軟性」の両立 - Bob という選択肢
tak848
0
110
仕様漏れ実装漏れをなくすトレーサビリティAI基盤のご紹介
orgachem
PRO
0
160
野球解説AI Agentを開発してみた - 2026/02/27 LayerX社内LT会資料
shinyorke
PRO
0
330
Featured
See All Featured
Breaking role norms: Why Content Design is so much more than writing copy - Taylor Woolridge
uxyall
0
210
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
659
61k
Jamie Indigo - Trashchat’s Guide to Black Boxes: Technical SEO Tactics for LLMs
techseoconnect
PRO
0
86
Discover your Explorer Soul
emna__ayadi
2
1.1k
Money Talks: Using Revenue to Get Sh*t Done
nikkihalliwell
0
180
Measuring Dark Social's Impact On Conversion and Attribution
stephenakadiri
1
160
How GitHub (no longer) Works
holman
316
140k
Producing Creativity
orderedlist
PRO
348
40k
KATA
mclloyd
PRO
35
15k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
2.7k
We Are The Robots
honzajavorek
0
200
The Impact of AI in SEO - AI Overviews June 2024 Edition
aleyda
5
770
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