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
Pocochaにおけるアセットの管理/potatotips55
Search
noppefoxwolf
October 09, 2018
Technology
3
210
Pocochaにおけるアセットの管理/potatotips55
noppefoxwolf
October 09, 2018
Tweet
Share
More Decks by noppefoxwolf
See All by noppefoxwolf
Spice up your notifications/try!Swift25
noppefoxwolf
3
480
iOSの隠されたAPIを解明し、開発効率を向上させる方法/iOSDC24
noppefoxwolf
2
850
今から理解するApp Intentエコシステム/WWDC24Recap
noppefoxwolf
0
19
既存アプリをvisionOS対応してリリースした話/visionOS LT vol5
noppefoxwolf
0
200
UIのブラックボックスを探る/iOSDC23
noppefoxwolf
3
4.4k
CoreGraphicsでドット絵を描こう/iOSDC22
noppefoxwolf
0
2.7k
ランタイムデバッグのススメ/iOSDC21
noppefoxwolf
1
4.8k
google/mediapipe で始めるARアプリ開発/iOSDC2020
noppefoxwolf
1
1.5k
モバイルファーストなアプリを作るためにvearがしたこと/xRDCC
noppefoxwolf
0
150
Other Decks in Technology
See All in Technology
KotlinConf 2025_イベントレポート
sony
1
140
なぜテストマネージャの視点が 必要なのか? 〜 一歩先へ進むために 〜
moritamasami
0
240
【NoMapsTECH 2025】AI Edge Computing Workshop
akit37
0
230
新規プロダクトでプロトタイプから正式リリースまでNext.jsで開発したリアル
kawanoriku0
1
220
機械学習を扱うプラットフォーム開発と運用事例
lycorptech_jp
PRO
0
660
これでもう迷わない!Jetpack Composeの書き方実践ガイド
zozotech
PRO
0
1.1k
メルカリIBISの紹介
0gm
0
220
AWSを利用する上で知っておきたい名前解決のはなし(10分版)
nagisa53
10
3.2k
Oracle Base Database Service 技術詳細
oracle4engineer
PRO
10
75k
Android Audio: Beyond Winning On It
atsushieno
0
3.4k
OCI Oracle Database Services新機能アップデート(2025/06-2025/08)
oracle4engineer
PRO
0
180
DroidKaigi 2025 Androidエンジニアとしてのキャリア
mhidaka
2
390
Featured
See All Featured
Building Adaptive Systems
keathley
43
2.7k
Product Roadmaps are Hard
iamctodd
PRO
54
11k
Why Our Code Smells
bkeepers
PRO
339
57k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
131
19k
BBQ
matthewcrist
89
9.8k
The Invisible Side of Design
smashingmag
301
51k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
50k
Writing Fast Ruby
sferik
628
62k
For a Future-Friendly Web
brad_frost
180
9.9k
Building Applications with DynamoDB
mza
96
6.6k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
31
2.2k
Transcript
1PDPDIBʹ͓͚ΔΞηοτͷཧ QPUBUPUJQTOPQQF !OPQQFGPYXPMG
OPQQF ! גࣜձࣾσΟʔɾΤψɾΤʔ " ͖ͭͶ͔Θ͍͍ # 1PDPDIBJ04ϦʔυΤϯδχ Ξ
1PDPDIB w ϥΠϒ৴ΞϓϦ w ʙ w ଟ࠼ͳΠϕϯτاըΛ࣮ࢪ w ϨϕϧʹԠͨ͡ԋग़ΪϛοΫ
Ξηοτͷྫ w ը૾ w ৭ w 4UPSZCPBSE w ϑΥϯτ w
FUD
Ξηοτͷྫ w ը૾ w ৭ w 4UPSZCPBSE w ϑΥϯτ w
FUD
1PDPDIBͰͷը૾Ξηοτͷϧʔ ϧ
1PDPDIBͰͷը૾Ξηοτͷϧʔϧ w "TTFU-JUFSBMΘͳ͍ w จࣈྻͰϦιʔεʹΞΫηε͠ͳ͍ w *OUFSGBDFCVJMEFSͷதͰը૾Λઃఆ͠ͳ͍ w ΞϓϦΞΠίϯ୯Ұιʔε͔Βੜ w
μϛʔΞηοτ໌֬ʹϓϩδΣΫτΛ͚ͯཧ͢Δ
"TTFU-JUFSBMΘͳ͍
$PMPS-JUFSBM*NBHF-JUFSBM #imageLiteral(resourceName: "Facebook")
"TTFU-JUFSBMͷ w 9DPEF্ͰɺΞηοτͷҧ͍Λೝࣝͮ͠Β͍
"TTFU-JUFSBMͷ
"TTFU-JUFSBMͷ ϓϩδΣΫτͷن͕େ͖͘ͳΔ΄ͲɺྨࣅͷΞηο τ͕૿͑Δɻ w ղ૾ͷҧ͏ը૾Ξηοτ w ۙࣅ৭ͷΧϥʔΞηοτ
"TTFU-JUFSBMͷସҊ ݁ہ໊લΛ͚ͯݺͼग़͢ࣄ͕ϕετ ݟͨʴಛͷΈ߹ΘͤͰɺΞηοτΛಛఆग़དྷΔ Α͏ͳ໊લΛ͚Δ TriangleRed TriangleLarge
ॏෳ͢Δ໊শͷରࡦ ը໘͕ҟͳΓɺΞηοτҟͳΔ͕ɺݟ͕ͨࣅ͍ͯ ΔΞηοτ͕͋ΔՄೳੑࣄલʹߟྀ͓ͯ͘͠ UserProfileViewTriangleLarge ProfileEditViewTriangleLarge
ڞ௨ͰΘΕΔΞηοτ ෳͷϏϡʔͰར༻͞ΕΔΞηοτɺCommonΛઌ಄ ʹ͚ͭΔ CommonLeftArrow
ωʔϜεϖʔεΛ׆༻͢Δ ϏϡʔͷπϦʔߏʹࣅ໊ͨশʹͳ͍ͬͯͨ͘Ίɺ ͳϑΝΠϧ໊ʹͳ͍ͬͯ͘ɻ YDBTTFUTͷωʔϜεϖʔεΛ༗ޮʹ͢ΔࣄͰγϯϓϧ ͳϑΝΠϧ໊Λར༻Ͱ͖Δɻ ProfileEdit/Triangle/Large
ωʔϜεϖʔεΛ׆༻͢Δ
ωʔϜεϖʔεΛ׆༻͢Δ // Before let image = UIImage(named: "ProfileEditTriangleLarge") // After
let image = UIImage(named: "ProfileEdit/Triangle/Large")
จࣈྻͰϦιʔεʹΞΫηε͠ͳ ͍
จࣈྻͰΞηοτʹΞΫηε͢Δ let image = UIImage(named: "TypoFileName") self.image = image! //
nil exception ϥϯλΠϜͰ5ZQP͕ൃ֮ 1PDPDIBͰෳࡶͳ݅Ͱը૾Λग़͚͢͠ΔͨΊɺ ී௨ʹ৮͍ͬͯΔͱؾ͕͚ͳ͍Ξηοτ͕ଟ͘ଘࡏ
5ZQPΛͳ͘͢ 34XJGU4XJGU(FOͳͲΛར༻ͯ͠5ZQPΛͳ͘͢ let image = Asset.ProfileEdit.Triangle.large.image ίϯύΠϧ࣌ʹλΠϙ͕ݕग़ՄೳʹͳΔ
*OUFSGBDFCVJMEFSͷதͰը૾ Λઃఆ͠ͳ͍
*OUFSGBDFCVJMEFSͷதͰը૾Λઃఆ͢Δة ݥੑ
$PVMEOPUMPBEUIF*NBHF/BNFJNBHF SFGFSFODFEGSPNBOJCJOUIFCVOEMFXJUI JEFOUJpFSDPNCVOEMFBQQ
ଘࡏ͠ͳ͍Ξηοτͷରࡦ *OUFSGBDF#VJMEFSͰը૾ΛΘͳ͍ํ w ϧʔϧͰېࢭ͢Δͷແཧ
ଘࡏ͠ͳ͍Ξηοτͷରࡦ *OBCBҴӋ IUUQTHJUIVCDPNOPQQFGPYXPMGJOBCB
ଘࡏ͠ͳ͍Ξηοτͷରࡦ $ Inaba ./Project > CaptureButton.xib ! An image is
specified outside the code. (icon_camera) > NoticeView.xib ! An image is specified outside the code. (notice_dialog_image) > SignupViewController.storyboard ! An image is specified outside the code. (welcome)
*OUFSGBDFCVJMEFSͷத͔Βը૾Λফ͢ *#͔Βը૾Λফ͢ͱ"VUPMBZPVU͕յΕΔ͜ͱ͕͋Δ w 6**NBHF7JFXJNBHFΛઃఆ͢Δͱͦͷը૾αΠζ Ͱ*OUSJOTJD$POUFOU4J[F͕ͭ͘ w ໌ࣔతʹ*OUSJOTJDDPOUFOUTJ[FΛઃఆ͢Δ͜ͱͰը ૾ແ͠Ͱ"VUPMBZPVUΛղܾͰ͖Δ
*OUFSGBDFCVJMEFSͷத͔Βը૾Λফ͢
ΞϓϦΞΠίϯ୯Ұιʔε͔Β ੜ
ΞϓϦΞΠίϯͷ՝ ը૾ΞηοτϕΫλʔQEG͔ΒϏϧυ࣌ʹෳղ૾ ͷϥελը૾ΛੜͰ͖Δ Կނ͔ΞϓϦΞΠίϯ֤ղ૾ͷϥελը૾Λࣗલ Ͱ༻ҙ͠ͳ͍ͱμϝ
Ϗϧυ࣌ʹΞΠίϯΛੜ IUUQTHJUIVCDPNOPQQFGPYXPMGBQQJDPOHFO
Ϗϧυ࣌ʹΞΠίϯΛੜ
Ϗϧυ࣌ʹΞΠίϯΛੜ QPE"QQ*DPO(FO 10%43005"QQ*DPO(FOBQQJDPOHFOJOQVU 43$3005130%6$5/".&"SUXPSLQOH YDBTTFUT43$3005130%6$5@/".& "TTFUTYDBTTFUT
μϛʔΞηοτ໌֬ʹϓϩδΣ ΫτΛ͚ͯཧ͢Δ
μϛʔΞηοτͷ՝ J04ΞϓϦͰΞϓϦʹσόοάϝχϡʔΛදࣔͯ͠6* ͷ֬ೝΛ͢Δͷྑ͋͘Δख๏ σόοά༻ͷ7JFX$POUSPMMFS#VJME$POpHVSBUJPO ͰӅͤΔ͕ΞηοτӅ͠ʹ͍͘
μϛʔΞηοτͷ՝ ͔͠͠ɺΞϓϦʹόϯυϧͯ͠͠·͏ͱʜ w ஶ࡞ݖతʹϚζΠը૾͕ʜ w ϦϦʔεલͷΞΠςϜը૾͕ʜ w ٸᬎऔΓԼ͛Δࣄʹͳͬͨը૾͕ʜ
ػೳ͝ͱʹQSPKFDUཧ
QSPKFDUʹػೳ2"༻ͷΞϓϦλʔήοτΛஔ
ػೳ2"༻ͷΞϓϦͷYDBTTFUTͰཧ
·ͱΊ w "TTFU-JUFSBMΘͳ͍ w จࣈྻͰϦιʔεʹΞΫηε͠ͳ͍ w *OUFSGBDFCVJMEFSͷதͰը૾Λઃఆ͠ͳ͍ w ΞϓϦΞΠίϯ୯Ұιʔε͔Βੜ