Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
モバイルプラットフォーム ビルド自動化のおはなし
Search
Tetsuya Mori
PRO
July 31, 2014
Programming
36
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.6k
C# 大統一理論推進委員会 会員のための Unity Package Manager プロジェクト構成案
monry
PRO
0
1.8k
はじめての C# 大統一理論
monry
PRO
0
870
unity1week でチーム開発を成功させる秘訣
monry
PRO
0
330
Unity で ARゲームを作った話
monry
PRO
1
1.1k
Visual Programming Framework UniFlow のご紹介/Introducing UniFlow
monry
PRO
2
3.2k
UniFlow 完全に理解した / I can develop UniFlow a little.
monry
PRO
0
570
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
個人開発者よ、Honoを使え(おじさんver)
tanahiro2010
2
240
Augmenting AI with the Power of Jakarta EE
ivargrimstad
0
560
[2026-09-26]空論ジェネリックプロセス~テスト資産とAIで紡ぐ、再現可能なパフォーマンスチューニングの話~
tosite
0
270
When benchmarks go bad - what I learned from measuring performance wrong
hollycummins
0
200
Herb in Rails 8.2: Your ERB views, now HTML-aware @ Rails World 2026, Austin, Texas
marcoroth
0
200
更なる可用性を求めて、5年間運用したKotlinのアプリケーションをGoでリプレイスする話
ken_tunc
0
570
モデルのリファクタリングが難しいと思ったら、そもそも複雑だったのはビジネス仕様だった ? / is-the-business-domain-the-real-complexity
hatsu38
0
460
re:Inventに行く前に知っておきたい現地参加のノウハウ
nokomoro3
0
400
Rでドレミ/Do-Re-Mi_with_R
florets1
0
130
C#の現在地 進化の歴史と、AI時代の.NET Everywhere
neuecc
5
5.1k
速習iPhone Duo対応
yuukiw00w
2
980
CodeRabbitの効果検証と過ごしてみた3ヶ月
armondando
0
230
Featured
See All Featured
Why Our Code Smells
bkeepers
PRO
340
58k
A better future with KSS
kneath
240
18k
How to build a perfect <img>
jonoalderson
1
6.1k
AI: The stuff that nobody shows you
jnunemaker
PRO
10
1.1k
Optimizing for Happiness
mojombo
378
71k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
18k
Evolving SEO for Evolving Search Engines
ryanjones
0
320
From Legacy to Launchpad: Building Startup-Ready Communities
dugsong
0
350
VelocityConf: Rendering Performance Case Studies
addyosmani
331
25k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.6k
brightonSEO & MeasureFest 2025 - Winning Strategies for Black Friday CRO & PPC - Christian Goodrich
cargoodrich
3
860
Public Speaking Without Barfing On Your Shoes - THAT 2023
reverentgeek
1
590
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