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
31
モバイルプラットフォーム ビルド自動化のおはなし
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.6k
はじめての C# 大統一理論
monry
PRO
0
790
unity1week でチーム開発を成功させる秘訣
monry
PRO
0
280
Unity で ARゲームを作った話
monry
PRO
1
930
Visual Programming Framework UniFlow のご紹介/Introducing UniFlow
monry
PRO
2
3k
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
[KNOTS 2026登壇資料]AIで拡張‧交差する プロダクト開発のプロセス および携わるメンバーの役割
hisatake
0
300
Best-Practices-for-Cortex-Analyst-and-AI-Agent
ryotaroikeda
1
110
組織で育むオブザーバビリティ
ryota_hnk
0
180
15年続くIoTサービスのSREエンジニアが挑む分散トレーシング導入
melonps
2
230
IFSによる形状設計/デモシーンの魅力 @ 慶應大学SFC
gam0022
1
310
副作用をどこに置くか問題:オブジェクト指向で整理する設計判断ツリー
koxya
1
620
Raku Raku Notion 20260128
hareyakayuruyaka
0
370
今こそ知るべき耐量子計算機暗号(PQC)入門 / PQC: What You Need to Know Now
mackey0225
3
390
AWS re:Invent 2025参加 直前 Seattle-Tacoma Airport(SEA)におけるハードウェア紛失インシデントLT
tetutetu214
2
120
MDN Web Docs に日本語翻訳でコントリビュート
ohmori_yusuke
0
660
生成AIを活用したソフトウェア開発ライフサイクル変革の現在値
hiroyukimori
PRO
0
110
Rust 製のコードエディタ “Zed” を使ってみた
nearme_tech
PRO
0
210
Featured
See All Featured
It's Worth the Effort
3n
188
29k
Jamie Indigo - Trashchat’s Guide to Black Boxes: Technical SEO Tactics for LLMs
techseoconnect
PRO
0
66
Tips & Tricks on How to Get Your First Job In Tech
honzajavorek
0
440
How to build a perfect <img>
jonoalderson
1
4.9k
技術選定の審美眼(2025年版) / Understanding the Spiral of Technologies 2025 edition
twada
PRO
117
110k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
Intergalactic Javascript Robots from Outer Space
tanoku
273
27k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
1.7k
How to Ace a Technical Interview
jacobian
281
24k
How to Think Like a Performance Engineer
csswizardry
28
2.5k
Prompt Engineering for Job Search
mfonobong
0
160
Stewardship and Sustainability of Urban and Community Forests
pwiseman
0
110
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