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
220
Pocochaにおけるアセットの管理/potatotips55
noppefoxwolf
October 09, 2018
Tweet
Share
More Decks by noppefoxwolf
See All by noppefoxwolf
High performance GIF playback/iOSDC25
noppefoxwolf
1
290
Spice up your notifications/try!Swift25
noppefoxwolf
3
750
iOSの隠されたAPIを解明し、開発効率を向上させる方法/iOSDC24
noppefoxwolf
2
920
今から理解するApp Intentエコシステム/WWDC24Recap
noppefoxwolf
0
25
既存アプリをvisionOS対応してリリースした話/visionOS LT vol5
noppefoxwolf
0
200
UIのブラックボックスを探る/iOSDC23
noppefoxwolf
3
4.5k
CoreGraphicsでドット絵を描こう/iOSDC22
noppefoxwolf
0
2.8k
ランタイムデバッグのススメ/iOSDC21
noppefoxwolf
1
4.9k
google/mediapipe で始めるARアプリ開発/iOSDC2020
noppefoxwolf
1
1.6k
Other Decks in Technology
See All in Technology
プレイドのユニークな技術とインターンのリアル
plaidtech
PRO
1
530
AWS DMS で SQL Server を移行してみた/aws-dms-sql-server-migration
emiki
0
260
SREのキャリアから経営に近づく - Enterprise Risk Managementを基に -
shonansurvivors
1
460
仕様駆動開発を実現する上流工程におけるAIエージェント活用
sergicalsix
8
4.6k
メールやSlack通知をトリガーにした非同期APIテスト基盤を作ってみた / async-test-platform-for-automated-testing
bun913
0
120
20251027_findyさん_音声エージェントLT
almondo_event
2
500
re:Inventに行くまでにやっておきたいこと
nagisa53
0
790
アウトプットから始めるOSSコントリビューション 〜eslint-plugin-vueの場合〜 #vuefes
bengo4com
3
1.9k
20251029_Cursor Meetup Tokyo #02_MK_「あなたのAI、私のシェル」 - プロンプトインジェクションによるエージェントのハイジャック
mk0721
PRO
6
2k
ざっくり学ぶ 『エンジニアリングリーダー 技術組織を育てるリーダーシップと セルフマネジメント』 / 50 minute Engineering Leader
iwashi86
6
3.6k
[re:Inent2025事前勉強会(有志で開催)] re:Inventで見つけた人生をちょっと変えるコツ
sh_fk2
1
1k
CLIPでマルチモーダル画像検索 →とても良い
wm3
1
650
Featured
See All Featured
Mobile First: as difficult as doing things right
swwweet
225
10k
Why You Should Never Use an ORM
jnunemaker
PRO
59
9.6k
Thoughts on Productivity
jonyablonski
71
4.9k
Faster Mobile Websites
deanohume
310
31k
Being A Developer After 40
akosma
91
590k
Visualization
eitanlees
150
16k
Rebuilding a faster, lazier Slack
samanthasiow
84
9.2k
[RailsConf 2023] Rails as a piece of cake
palkan
57
5.9k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
Become a Pro
speakerdeck
PRO
29
5.6k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4k
Fireside Chat
paigeccino
41
3.7k
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 ΞϓϦΞΠίϯ୯Ұιʔε͔Βੜ