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
On-Demand Resourcesを意識した コンテンツ制作ワークフロー
Search
Noritaka Kamiya
December 16, 2015
Programming
2.8k
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
On-Demand Resourcesを意識した コンテンツ制作ワークフロー
Noritaka Kamiya
December 16, 2015
More Decks by Noritaka Kamiya
See All by Noritaka Kamiya
キラリと光るテクニック、アプリをデモするときの心構え/iOSDC Japan 2018
nolili
4
3.7k
WWDC Pre meeting
nolili
1
3.6k
FastLane with Swift
nolili
0
190
App Transport Securityとローカルネットワーキング/iOSDC Japan 2017
nolili
1
1.7k
iOS Test Night #4
nolili
0
4.2k
SwiftFriendlyObjective-C/try! Swift Tokyo 2017 RejectCon
nolili
1
1.1k
iOSアプリ開発のCI/CD環境とユビレジでのtry / CI CDNight
nolili
1
1.8k
ユビレジiOSアプリ開発のCI/CD環境 / iOS Test Night #1
nolili
5
2.5k
Modern Core Data(iOS 10)
nolili
0
1.4k
Other Decks in Programming
See All in Programming
AWS CDKのカスタムリソースでContinuum(旧Security Agent)を実装した話 | Implementing Continuum (formerly Security Agent) via AWS CDK Custom Resource
akihisaikeda
2
150
WebRTC映像をAirPlayに対応させる挑戦.pdf
monolithic_adam
0
360
mrbgem 三角測量 開発
ogom
0
230
モデルのリファクタリングが難しいと思ったら、そもそも複雑だったのはビジネス仕様だった ? / is-the-business-domain-the-real-complexity
hatsu38
0
460
プロダクトコードからライブラリの境界を見つける
elmetal
PRO
0
110
パスワード再設定メールのURLについて知っておこう
uyuki234
0
130
When benchmarks go bad - what I learned from measuring performance wrong
hollycummins
0
200
個人開発者よ、Honoを使え(おじさんver)
tanahiro2010
2
240
Atomic Design, Enforced: Scaling Mobile Design Systems (next.app devCon / droidCon Berlin 2026)
steliosf
PRO
0
160
KiroのSpecで「五目並べ」を作ってみる
satoshi256kbyte
1
370
最近”作らせてる” ローカルAIアプリの話
akit37
0
440
半永久的に提供し続けられるプライベートクラウドを目指して ― 利用者の認知負荷を抑えるAPI抽象化とハードウェア世代交代の基盤設計
tomokon
0
480
Featured
See All Featured
A Soul's Torment
seathinner
8
3.7k
Reality Check: Gamification 10 Years Later
codingconduct
0
2.3k
Measuring & Analyzing Core Web Vitals
bluesmoon
9
1k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4.6k
The AI Search Optimization Roadmap by Aleyda Solis
aleyda
2
6.3k
A Tale of Four Properties
chriscoyier
163
24k
Java REST API Framework Comparison - PWX 2021
mraible
34
9.8k
RailsConf 2023
tenderlove
30
1.6k
Done Done
chrislema
187
17k
Building a Scalable Design System with Sketch
lauravandoore
464
34k
Designing for humans not robots
tammielis
254
26k
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
11
1.1k
Transcript
On-Demand ResourcesΛҙࣝͨ͠ ίϯςϯπ੍࡞ϫʔΫϑϩʔ @nolili Noritaka Kamiya
None
None
None
UW04ʹΞϓϦΛҠ২͢Δͧʂ w J04Y࣌ʹ࡞ͬͨͷ w 6*,JU "VEJP2VFVF4FSWJDFT w 4UPSZCPBSEΈͳ͓ͨ͠Β΄ͱΜͲಈ͍ͨ
ϑΝΠϧαΠζ͕େ͖͗͢Δʂ w UW04ͷΞϓϦɿόϯυϧαΠζʹ.#ͷ੍ݶ w 4BOECPYͷσʔλอଘෆՄ w Γ0O%FNBOE3FTPVSDFTͰ
0O%FNBOE3FTPVSDFT w ΞϓϦຊମͱผͰඞཁͳσʔλ͕ൃੜͨ࣌͠Ͱ αʔό͔ΒඞཁͳσʔλΛऔಘ͢Δ w ॳճμϯϩʔυ࣌ͷ௨৴ΛݮΒͤΔ
Ϣʔεέʔε w ϓϨΠ͞ΕΔ͔Θ͔Βͳ͍ޙͷεςʔδͷσʔλ w ՝ۚͨ͠Ϣʔβ͔͠Θͳ͍σʔλ w ετϨʔδ༰ྔ͕(#ͷσόΠεʹ༏͍͠ w UW04Ҏ֎Ͱ͑Δ
try!
5BHΛ͚ͭΔ w 9DPEFͰϦιʔεʹUBHΛ͚ͭΔ
ϦιʔεʹΞΫηε͢Δ let request = NSBundleResourceRequest(tags: Set(["town"]))
ϦιʔεʹΞΫηε͢Δ request1.beginAccessingResourcesWithCompletionHandler { error in guard error == nil else
{ return } guard let image = UIImage(named: "myImage") else { fatalError("image not found") } print(image) }
3FMFBTF request.endAccessingResources()
ʊਓਓਓਓਓਓਓਓʊ ʼɹࢀরΧϯλɹʻ ʉ:?:?:?:?:?:?:ʉ
None
མͱ݀͠ w "QQ4UPSFͰ͢Δ߹"QQMFͷαʔόͰϗ εςΟϯά͢Δඞཁ͕͋Δ w ։ൃதಠࣗͷαʔό͕͑Δ w &OUFSQSJTF༻ΞϓϦϓϩμΫγϣϯͰಠࣗαʔ ό͕͑Δ
ςετ࣌ʹಠࣗαʔόʹΞηοτΛஔ͘ w CVJMEσΟϨΫτϦͷσʔλΛอଘ͢Δ w 0SHBOJ[FS͔ΒσʔλΛॻ͖ग़͢ w "44&5@1"$,@."/*'&45@63-@13&'*9Λઃఆ
4FSWFS ODR 2015-12-05 16-31-40 python -m SimpleHTTPServer Serving HTTP on
0.0.0.0 port 8000 ... 127.0.0.1 - - [05/Dec/2015 16:35:40] "HEAD /OnDemandResources/li.noli.ODR.2nd.assetpack HTTP/1.1" 200 - 127.0.0.1 - - [05/Dec/2015 16:35:40] "GET /OnDemandResources/li.noli.ODR.2nd.assetpack HTTP/1.1" 200 - 127.0.0.1 - - [05/Dec/2015 16:35:44] "HEAD /OnDemandResources/li.noli.ODR.1st.assetpack HTTP/1.1" 200 - 127.0.0.1 - - [05/Dec/2015 16:35:44] "GET /OnDemandResources/li.noli.ODR.1st.assetpack HTTP/1.1" 200 - 127.0.0.1 - - [05/Dec/2015 17:07:03] "GET /OnDemandResources/AssetPackManifest.plist HTTP/1.1" 200 - 127.0.0.1 - - [05/Dec/2015 17:51:08] "HEAD /OnDemandResources/li.noli.ODR.2nd.assetpack HTTP/1.1" 200 - 127.0.0.1 - - [05/Dec/2015 17:51:13] "GET /OnDemandResources/li.noli.ODR.2nd.assetpack HTTP/1.1" 200 - 127.0.0.1 - - [05/Dec/2015 17:51:14] "HEAD /OnDemandResources/li.noli.ODR.1st.assetpack HTTP/1.1" 200 - 127.0.0.1 - - [05/Dec/2015 17:51:14] "GET /OnDemandResources/li.noli.ODR.1st.assetpack HTTP/1.1" 200 -
མͱ݀͠ɹͦͷ w LJMM͞Εͨ͋ͱ͍ͭσʔλ͕ফ͑Δ͔Θ͔Βͳ͍ w ΞϓϦ͋ͨΓ࠷େ(#ͷϦιʔεΛѻ͑Δ w ಉ࣌ʹ CFHJO"DDFTTJOH3FTPVSDFT8JUI$PNQMFUJPO)BO EMFSͰ͖Δͷ(#·Ͱ w
͍Βͳ͘ͳͬͨΒFOE"DDFTTJOH3FTPVSDFTΛ ͬͯΞΫηεΛࢭΊΔ
*OJUJBM*OTUBMM5BH w "QQ4UPSFͰΞϓϦΠϯετʔϧ࣌ʹಉ࣌ʹΠϯε τʔϧ͞ΕΔ w ͳ͔ͥ"QQ*%ͱ1SPWJTJPOJOH1SPpMFͰ1VTI /PUJpDBUJPOΛ༗ޮʹ͓͔ͯ͠ͳ͍ͱ͍͚ͳ͔ͬ ͨɻʢ9DPEFͰαϒϛοτ࣌ʹΤϥʔʣ
"QQ4UPSF.#ͷน w .#ͷ੍ݶʹؚ·ΕΔͷ w "QQMJDBUJPO#VOEMF ΞϓϦຊମ w *OJUJBM*OTUBMM
0O%FNBOE3FTPVSDFTΛҙࣝͨ͠ ίϯςϯπ੍࡞ w ͋Δ͋Δ w Τϯδϯ͚ͩ࡞ͬͯɺͱΓ͋͑ͣ৹ࠪ௨ͯ͠ɺ͋ͱ ͔ΒαʔόͷϦιʔεೖΕସ͑Α͏ʂ
0O%FNBOE3FTPVSDFTΛҙࣝͨ͠ ίϯςϯπ੍࡞ w ͋Δ͋Δ w Τϯδϯ͚ͩ࡞ͬͯɺͱΓ͋͑ͣ৹ࠪ௨ͯ͠ɺ͋ͱ ͔ΒαʔόͷϦιʔεೖΕସ͑Α͏ʂ X
0O%FNBOE3FTPVSDFTΛҙࣝͨ͠ ίϯςϯπ੍࡞ 㾎શͯͷΞηοτ͕ἧ͍ͬͯΔ͜ͱ 㾎దͳUBH͕ৼΒΕ͍ͯΔ͜ͱ 㾎ڊେͳσʔλͷ༗ແ
0O%FNBOE3FTPVSDFTΛҙࣝͨ͠ ίϯςϯπ੍࡞ 㾎Ͳ͜ͰϢʔβΛ͍͍ͨͤͯͷ͔ʁ 㾎ॳճىಈ࣌ʹΦϑϥΠϯͷϢʔβ͕Ͳͷ֊·Ͱί ϯςϯπʹΞΫηε͢Δͷ͔ʁ 㾎4VCNJU࣌ʹτϥϒϧൃ֮ͭΒ͍ 㾎5FTUqJHIUͰςετ͢Δ
3FGFSFODFT 0O%FNBOE3FTPVSDFT(VJEF IUUQTEFWFMPQFSBQQMFDPNKQEPDVNFOUBUJPO'JMF.BOBHFNFOU$PODFQUVBM 0O@%FNBOE@3FTPVSDFT@(VJEF "QQ5IJOOJOH IUUQTEFWFMPQFSBQQMFDPNMJCSBSZUWPTEPDVNFOUBUJPO*%&T$PODFQUVBM "QQ%JTUSJCVUJPO(VJEF"QQ5IJOOJOH"QQ5IJOOJOHIUNM &YBNQMF$PEF0%34UVEZ IUUQTHJUIVCDPNOPMJMJ0%34UVEZ
On-Demand ResourcesΛҙࣝͨ͠ ίϯςϯπ੍࡞ϫʔΫϑϩʔ @nolili Noritaka Kamiya