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
Ogijun
September 12, 2022
0
3k
全力疾走中でも使えるストップウォッチアプリを作る
Ogijun
September 12, 2022
Tweet
Share
More Decks by Ogijun
See All by Ogijun
続・全力疾走中でも使えるストップウォッチアプリを作る 〜LiDARを使った精度への挑戦〜
ogijun2018
1
1k
あなたの知らないWWDC現地参加の世界
ogijun2018
0
2.1k
新社会人でも活躍したい!〜新卒1年目で活躍するためのコツ〜
ogijun2018
1
490
Featured
See All Featured
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
19
1.9k
Code Review Best Practice
trishagee
54
15k
How to train your dragon (web standard)
notwaldorf
71
5.1k
StorybookのUI Testing Handbookを読んだ
zakiyama
10
4.6k
A Modern Web Designer's Workflow
chriscoyier
689
190k
Building Applications with DynamoDB
mza
88
5.6k
Six Lessons from altMBA
skipperchong
19
3k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
272
13k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
15
1.4k
Java REST API Framework Comparison - PWX 2021
mraible
PRO
18
6.9k
GraphQLとの向き合い方2022年版
quramy
30
12k
The Mythical Team-Month
searls
214
42k
Transcript
શྗ࣬தͰ͑Δ ετοϓΥονΞϓϦΛ࡞Δ 2022.9.12 iOSDC Japan 2022 גࣜձࣾZOZO ZOZOTOWN։ൃຊ෦ ZOZOTOWNΞϓϦ෦ iOSϒϩοΫ
Ԯ ൏ / @juginon Copyright © ZOZO, Inc.
© ZOZO, Inc. גࣜձࣾZOZO ZOZOTOWNΞϓϦ෦ iOSϒϩοΫ Ԯ ൏ 2022.04 ZOZO৽ଔೖࣾ
্ڝٕྺ 15ʢ2008~2022ʣ ࣾձਓͰଓ͚ͯ·͢ 2 Ogijun / @juginon
© ZOZO, Inc. 3
© ZOZO, Inc. 4 ࢢൢͷετοϓΥον͍͍͑͡ΌΜ🤔
© ZOZO, Inc. 5 ̋ × ̋ ̋ × ̋
̋ ˚ ̋ ٱੑ ϝϞϦʔػೳ ϥοϓػೳ Ձ֨ ߴڃͳ ετοϓΥον Ϧʔζφϒϧͳ ετοϓΥον ʁ ετοϓΥονൺֱ ˇ
© ZOZO, Inc. ̋ × ̋ ̋ × ̋ ̋
˚ ̋ 6 ٱੑ ϝϞϦʔػೳ ϥοϓػೳ Ձ֨ ߴڃͳ ετοϓΥον Ϧʔζφϒϧͳ ετοϓΥον J1IPOF📱 ˇ ετοϓΥονൺֱ
© ZOZO, Inc. 7
© ZOZO, Inc. 8 REJECTED
© ZOZO, Inc. 9 ͳͥετοϓΥονΞϓϦʹ ԻྔϘλϯͷ੍ޚ͕ඞཁͩͬͨͷ͔ʁ
© ZOZO, Inc. 10 ෳਓ Ұਓ ͳͥԻྔϘλϯ͕ඞཁͳͷ͔ʁ ࿅शʹ͓͚ΔλΠϜܭଌ
© ZOZO, Inc.
© ZOZO, Inc.
© ZOZO, Inc. 13 બख Ϛωʔδϟʔ Γͳ͕ΒετοϓϘλϯ ͕ԡͤͳ͍ બखΛݟͳ͕Β ελʔτετοϓ͕͍͠
ͳͥԻྔϘλϯ͕ඞཁͳͷ͔ʁ ͳͥΓʹ͍͘ͷ͔ʁ
© ZOZO, Inc. 14 બख Ϛωʔδϟʔ Γͳ͕ΒετοϓϘλϯ ͕ԡͤͳ͍ બखΛݟͳ͕Β ελʔτετοϓ͕͍͠
ͳͥԻྔϘλϯ͕ඞཁͳͷ͔ʁ ͳͥΓʹ͍͘ͷ͔ʁ ը໘Λݟ͍ͯͳ͍ঢ়ଶͰૢ࡞͕ΓͮΒ͍ʂ
© ZOZO, Inc. 15 ඞਢ߲ ɾը໘Λݟͳͯ͘ૢ࡞͕Ͱ͖Δ ɾ࣮֬ʹૢ࡞Λߦͬͨͱ͍͏ϑΟʔυόοΫ͕ಘΒΕΔ ͋Δͱخ͍͠ ɾεϚʔτϑΥϯͭͰ݁͢Δ
ˠ४උ͢Δͷʹ͓ۚͱख͕ؒඞཁͩͱຊసʢετοϓΥονΛങ͓͏ʂʣ ͳͥԻྔϘλϯ͕ඞཁͳͷ͔ʁ Ͳ͏͢ΕղܾͰ͖Δʁ ɾͲͷͰૢ࡞Մೳ ˠ-J%"3ਂΧϝϥͳͲɺಛఆͷʹ͔͠ͳ͍ػೳΘͳ͍
© ZOZO, Inc. 16
© ZOZO, Inc. 17
© ZOZO, Inc. 18
© ZOZO, Inc. 19 ղܾ͢ΔͨΊʹ࡞Γ·ͨ͠
© ZOZO, Inc. 20
© ZOZO, Inc. 21 Ϛωʔδϟʔɾސڞʹධ👏 ࣮ࡍʹΓͳ͕Βͬͯշదʹૢ࡞Ͱ͖ͨ ϦϦʔεޙͷԠ ্෦Ҏ֎ͷਓʹͬͯΒ͍͑ͯͨ
© ZOZO, Inc. 22 ϦϦʔεޙͷԠ (VJEFMJOF1FSGPSNBODF4PGUXBSF3FRVJSFNFOUT ͋ͳͨͷΞϓϦɺJ04σόΠεͷඪ४తͳεΠονΛඪ४తͰͳ͍ ํ๏Ͱ༻͍ͯ͠·͢ɻ "QQ4UPSF3FWJFX(VJEFMJOFTʹଇͬͨػೳʹ࡞Γ͍ͯͩ͘͠͞ɻ
© ZOZO, Inc. 23 App Store ReviewΨΠυϥΠϯ https://developer.apple.com/jp/app-store/review/guidelines/#performance → ԻྔϘλϯϛϡʔτεΠονͳͲͷཧϘλϯ͍͚ͬͯͳ͍
❌ Volume Watchͷެ։ఀࢭཧ༝ʮԻྔϘλϯΛ͍ͬͯΔ͔Βʯ (VJEFMJOFͱʁ
© ZOZO, Inc. 24 7PMVNF8BUDI7PMVNF8BUDI😭
© ZOZO, Inc. 25 ඞਢ߲ ɾը໘Λݟͳͯ͘ૢ࡞͕Ͱ͖Δ ɾ࣮֬ʹૢ࡞Λߦͬͨͱ͍͏ϑΟʔυόοΫ͕ಘΒΕΔ ͋Δͱخ͍͠ ɾεϚʔτϑΥϯͭͰ݁͢Δ
ˠ४උ͢Δͷʹ͓ۚͱख͕ؒඞཁͩͱຊసʢετοϓΥονΛങ͓͏ʂʣ ɾͲͷͰૢ࡞Մೳ ˠ-J%"3ਂΧϝϥͳͲɺಛఆͷʹ͔͠ͳ͍ػೳΘͳ͍ Ͳ͏͢ΕղܾͰ͖Δʁ
© ZOZO, Inc. 26 ɾը໘Λݟͳͯ͘ૢ࡞͕Ͱ͖Δ ɾ࣮֬ʹૢ࡞Λߦͬͨͱ͍͏ϑΟʔυόοΫ͕ಘΒΕΔ )BQUJDͷ׆༻ ԻྔϘλϯΛΘͳ͍Ͱ࣮͢Δ
© ZOZO, Inc. 27 ը໘ εϫΠϓ छྨͷΠϯλϥΫγϣϯΛ࣮ ɾը໘Λݟͳͯ͘ૢ࡞͕Ͱ͖Δ ຊࢦ λοϓ
γΣΠΫ എ໘ λοϓ ۙ ηϯαʔ ԻྔϘλϯΛΘͳ͍Ͱ࣮͢Δ ɾ࣮֬ʹૢ࡞Λߦͬͨͱ͍͏ϑΟʔυόοΫ͕ಘΒΕΔ
© ZOZO, Inc. εϫΠϓ ຊࢦ λοϓ γΣΠΫ എ໘ λοϓ ۙ
ηϯαʔ ը໘શମΛεϫΠϓՄೳʹ ্ํͷεϫΠϓ࣌ʹελʔτɾετοϓ͢ΔΑ͏ʹઃఆ .directionͰεϫΠϓํΛ4ํࢦఆՄೳ ը໘εϫΠϓͷ੍ޚ࣮ʢྫʣ
© ZOZO, Inc. εϫΠϓ ຊࢦ λοϓ γΣΠΫ എ໘ λοϓ ۙ
ηϯαʔ ը໘Λ2ຊࢦͰλοϓ͢Δͱελʔτɾετοϓ .numberOfTouchedRequiredͰԠ͢ΔࢦͷຊΛઃఆ iOSͩͱ3ຊࢦɺiPadOSͩͱ4ຊࢦ·ͰઃఆՄೳ 2ຊࢦλοϓͷ੍ޚ࣮ʢྫʣ
© ZOZO, Inc. εϫΠϓ ຊࢦ λοϓ γΣΠΫ എ໘ λοϓ ۙ
ηϯαʔ γΣΠΫ͞ΕͨΒελʔτɾετοϓ CoreMotionͰՃͷੜσʔλΛऔಘ͢Δ͜ͱՄೳ ࠓճUIKitͷmotionEnded()Λ༻ γΣΠΫδΣενϟʔͷ੍ޚ࣮ʢྫʣ
© ZOZO, Inc. εϫΠϓ ຊࢦ λοϓ γΣΠΫ എ໘ λοϓ ۙ
ηϯαʔ എ໘λοϓ࣌ʹγϣʔτΧοτΛొ ొ͞ΕͨSiri shortcut͕ىಈ ετοϓΥονΛελʔτ/ετοϓ Siri shortcutΛ࣮ ελʔτ/ετοϓΛγϣʔτΧοτʹ
© ZOZO, Inc. ۙηϯαʔͱ… ௨࣌ʹࣖΛεϐʔΧʔʹ͚ͭͨͱ͖ɺޡಈ࡞Λ͙ͨΊʹ λονύωϧΛແޮԽ͢ΔͨΊͷηϯαʔ εϫΠϓ ຊࢦ λοϓ γΣΠΫ
എ໘ λοϓ ۙ ηϯαʔ → iPhoneͷ্෦ΛखͰୟ͚ɺ؆୯ʹετοϓΥονΛ ੍ޚͰ͖ΔͷͰʁ ۙηϯαʔͷ੍ޚ࣮ʢྫʣ
© ZOZO, Inc. 33 N ճ छྨ ճ εϫΠϓ ຊࢦ
λοϓ γΣΠΫ എ໘ λοϓ ۙ ηϯαʔ Ϙλϯ º º N 4UPQ d ࣮ࡍʹͬͯΈͨ
© ZOZO, Inc. εϫΠϓ ຊࢦ λοϓ γΣΠΫ എ໘ λοϓ ۙ
ηϯαʔ Ϙλϯ 34
© ZOZO, Inc. εϫΠϓ ຊࢦ λοϓ γΣΠΫ എ໘ λοϓ ۙ
ηϯαʔ Ϙλϯ 35
© ZOZO, Inc. εϫΠϓ ຊࢦ λοϓ γΣΠΫ എ໘ λοϓ ۙ
ηϯαʔ Ϙλϯ 36
© ZOZO, Inc. 5ճத3ճޭ ७ਖ਼ετοϓΥονͱಉ͘͡Β͍ͷޭ εϫΠϓ͕ҙਤ͠ͳ͍ํߦ͖ɺԠ͠ͳ͔ͬͨ ্Լࠨӈͯ͢ͷεϫΠϓͰԠ͢ΔΑ͏ʹ࣮͕ͨ͠ɺ ࣼΊํಉ༷ʹԠ͠ͳ͔ͬͨ εϫΠϓ ࣮ࡍʹͬͯΈͨ
ه: UIPanGestureRecognizerͰ࣮ͨ͠ͱ͜Ζ্هͷղܾ
© ZOZO, Inc. εϫΠϓ ຊࢦ λοϓ γΣΠΫ എ໘ λοϓ ۙ
ηϯαʔ Ϙλϯ 38
© ZOZO, Inc. 39 5ճத0ճޭʢࣦͯ͢ഊʣ λοϓͷڧ͞ɾ͕͞௨ৗͷλοϓͱҟͳΔ ࢦ͕ΕΔ·Ͱʹಈ͘ɺʹΑΓ͏·͘Ԡ͠ͳ͔ͬͨ ʢ1ຊࢦͳΒʁ → ҙਤͤͣ৮ͬͯ͠·͏ɾ࿈ଓͰλοϓͯ͠͠·͏ʣ
ը໘Λ৮ΔΠϯλϥΫγϣϯʹ҆৺ײͱ͍͏໘Ͱ Ұఆͷ͕͋͠͞Δ ຊࢦλοϓ ࣮ࡍʹͬͯΈͨ
© ZOZO, Inc. εϫΠϓ ຊࢦ λοϓ γΣΠΫ എ໘ λοϓ ۙ
ηϯαʔ Ϙλϯ 40
© ZOZO, Inc. εϫΠϓ ຊࢦ λοϓ γΣΠΫ എ໘ λοϓ ۙ
ηϯαʔ Ϙλϯ 41
© ZOZO, Inc. 42 ͲͪΒ5ճத0ճޭʢࣦͯ͢ഊʣ ❓ ❓ ❓ ՃηϯαʔΛ࣮ͬͨΔ͜ͱͰʮγΣΠΫ͕ऴΘͬͨʯڥք͕ᐆດʹ… ੜσʔλΛͬͨͱͯ͠ݕग़େมͦ͏
γΣΠΫɾഎ໘λοϓ ࣮ࡍʹͬͯΈͨ
© ZOZO, Inc. εϫΠϓ ຊࢦ λοϓ γΣΠΫ എ໘ λοϓ ۙ
ηϯαʔ Ϙλϯ 43
© ZOZO, Inc. 44 ͲͪΒ5ճத5ճޭʢͯ͢ޭ🎉ʣ ɾԠ͢Δ·ͰͷϨεϙϯε͕͍ ɾखΛୟ͘Α͏ʹͯ͠Γग़ͤΔͷͰ࿅श࣌ͷಈ͖ͱͯࣗ͠વ ɾΰʔϧ࣌ʹେ͖͘ϒϨͯԠͯ͘͠ΕΔ ɹ→ ҆৺ײɾ࿅शͷूதʹͭͳ͕Δ
ۙηϯαʔ ࣮ࡍʹͬͯΈͨ
© ZOZO, Inc. 45 1ճ 2ճ 3ճ 4ճ 5ճ Ϙλϯλοϓ
✖ ⭕ ⭕ ⭕ ✖ 2ຊࢦλοϓ ✖ ✖ ✖ ✖ ✖ ্ํεϫΠϓ ⭕ ✖ ⭕ ✖ ⭕ γΣΠΫ ✖ ✖ ✖ ✖ ✖ എ໘λοϓ ✖ ✖ ✖ ✖ ✖ ۙηϯαʔ ⭕ ⭕ ⭕ ⭕ ⭕ λΠϜ͕ͳ͘औΕΔ࣮ʁ ࣮ࡍʹͬͯΈͨ
© ZOZO, Inc. 46 ແࣄϦϦʔεͰ͖·ͨ͠🎉 🎉 🎉
© ZOZO, Inc. 47 ΞϓϦʹ৭ʑͳϢʔεέʔε͕͋Γɺ ҰͭͷछྨͷΞϓϦͰ͏ਓ͕ҧ͏ͱ࠷దͳػೳҟͳΔ ͏ਓ͕୭ͳͷ͔ߟ͑ͯΞϓϦΛ࡞Ζ͏ ࠓճ࣮ͨ͠தͰۙηϯαʔ͕Ұ൪͏·͘λΠϜ͕औΕͨ ͦͷଞͷΠϯλϥΫγϣϯɺҧ͏༻్Ͱ׆͖ΔͷʹͳΔ ·ͱΊ
© ZOZO, Inc.
None