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
Swiftで作るiOSアプリ開発入門_07
Search
jollyjoester
March 26, 2016
Education
0
120
Swiftで作るiOSアプリ開発入門_07
Schoo講義資料
jollyjoester
March 26, 2016
Tweet
Share
More Decks by jollyjoester
See All by jollyjoester
市民のためのセキュリティ講座
jollyjoester
0
28
コミュニティMTG in WWDC24
jollyjoester
0
290
BengaluruでLTしてきた
jollyjoester
0
330
try! Swift Tokyo 2024
jollyjoester
0
320
エンジニアが直接会う場の価値について
jollyjoester
8
4.3k
来年Proposalを出すつもりで参加するときっともっと楽しい!
jollyjoester
0
350
My favorite sessions in WWDC 23
jollyjoester
0
640
みんなでAIと戯れよう
jollyjoester
0
150
続く勉強会の作り方
jollyjoester
2
860
Other Decks in Education
See All in Education
Gaps in Therapy in IBD - IBDInnovate 2025 CCF
higgi13425
0
500
ふりかえり研修2025
pokotyamu
0
1.2k
新卒研修に仕掛ける 学びのサイクル / Implementing Learning Cycles in New Graduate Training
takashi_toyosaki
1
160
今も熱いもの!魂を揺さぶる戦士の儀式:マオリ族のハカ
shubox
0
210
Tutorial: Foundations of Blind Source Separation and Its Advances in Spatial Self-Supervised Learning
yoshipon
1
120
SARA Annual Report 2024-25
sara2023
1
180
2025年度春学期 統計学 第5回 分布をまとめるー記述統計量(平均・分散など) (2025. 5. 8)
akiraasano
PRO
0
120
Linuxのよく使うコマンドを解説
mickey_kubo
1
150
OpenSourceSummitJapanを運営してみた話
kujiraitakahiro
0
720
プレゼンテーション実践
takenawa
0
6.6k
2025/06/05_読み漁り学習
nag8
0
150
著作権と授業に関する出前講習会/dme-2025-05-01
gnutar
0
200
Featured
See All Featured
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
29
9.6k
Code Review Best Practice
trishagee
69
19k
A Tale of Four Properties
chriscoyier
160
23k
Building Adaptive Systems
keathley
43
2.7k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
26
2.9k
Designing for Performance
lara
610
69k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.4k
Automating Front-end Workflow
addyosmani
1370
200k
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
6
310
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
48
2.9k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
26k
Making Projects Easy
brettharned
116
6.3k
Transcript
SwiftͰ࡞Δ iOSΞϓϦ։ൃೖ 7ݶɿΞϓϦͰԻΛ໐Βͯ͠ΈΔ 1
ࣗݾհ ࣣౡҒ೭ʢͳͳ͠·ͻͰΏ͖ʣ Reproגࣜձࣾ iPhoneΞϓϦ։ൃ͕͖ 2
ࣗݾհ 3 https://repro.io
ຊίʔεͷඪ ۤΛΓӽ͑ͯ ָ͘͠ΞϓϦ։ൃͰ͖ΔΑ͏ʹͳΔʂ 4
෭ڭࡐ վగ൛ No.1εΫʔϧߨࢣਞʹΑΔ ੈքҰड͚͍ͨ iPhoneΞϓϦ։ൃͷतۀ (ٕज़ධࣾ) 5 AmazonͰˑ5ϨϏϡʔ͕૿͑ͯͨ⽃
ࠓճͷतۀͷඪ ΞϓϦͰԻΛ ໐ΒͤΔΑ͏ʹ͠Α͏ʂ 6
तۀͷલఏ݅ • ͓खݩͷMacʹXcode(version7.0Ҏ্)͕Πϯετʔ ϧ͞Ε͍ͯΔ͜ͱ • લճͷ͍ΞϓϦϓϩδΣΫτ͕͋ΔͱΑΓ༗ޮʹ ֶशͰ͖·͢ɻϓϩδΣΫτԼه͔Βμϯϩʔ υͰ͖·͢ɻ https://github.com/jollyjoester/Schoo-iOS-App- Development-Basic/archive/06.zip
7
ຊͷϝχϡʔ • ԻͷૉࡐΛऔಘ͢Δ • ޮՌԻΛ໐Βͯ͠ΈΔ • BGMΛ໐Βͯ͠ΈΔ 8
ͦͷલʹલճͷ࣭͝ ʢΞϓϦͷݟͨΛߏ͢ΔViewͷཧղʣ • ʮ animalLabel.text = ʯͷͷֆจࣈɺγϡϛϨʔλͰ ඳࣸ͞Ε͍ͯ·͕ͨ͠ɺ͜ͷֆจࣈͷਖ਼ମͳΜͰ͔͢ʁ ΞϓϦ։ൃͰී௨ʹ͑ΔΜͰ͢Ͷɻ from
อࢤ ݈Ұ͞Μ ‣ ֆจࣈจࣈͰ͢ɻΞϓϦ։ൃͰී௨ʹ͑·͢ɻྫ͑ U+1F42Fͱ͍͏ׂ͕ΓͯΒΕ͍ͯ·͢ɻ͜ ͷͩͬͨΒͱ͍͏ֆจࣈͩͱఆͰ͖ΔڥͳΒ ͪΌΜͱֆจࣈ͕දࣔ͞Ε·͢ɻʢৄ͘͠จࣈίʔ υͱ͔ษڧͯ͠Έ͍ͯͩ͘͞ʣ 9
Έͳ͞·࣭͋Γ·ͨ͠Βͥͻ࣭͍ͩ͘͝͞ɻ तۀதʹऔΓ্͛ΒΕͳͯ͘ ग़དྷΔݶΓ͓͑͠·͢ʂ ͳΔ΄ͲʂͱࢥͬͨΒʮͳΔ΄ͲʯϘλϯΛ ԡ͍͚ͯͨͩ͠ΔͱྭΈʹͳΓ·͢(`ŋωŋ´) 10
ԻͷૉࡐΛऔಘ͢Δ 11
iOSͰ࠶ੜͰ͖ΔϑΥʔϚοτ 12 https://developer.apple.com/library/ios/documentation/ AudioVideo/Conceptual/MultimediaPG/UsingAudio/ UsingAudio.html ϑΥʔϚοτ ֦ுࢠ AIFF .aif, .aiff
CAF .caf MP3 .mp3 MPEG2 .aac MPEG4 .m4a, .mp4 WAV .wav
ԻϑΝΠϧΛ࡞Δ 13 GarageBand Ͱ͖ͨΒ͍͍ͳɾɾɾ
ԻϑΝΠϧΛ୳͢ 14 ԻૉࡐαΠτͳͲ͔Β୳͢
ԻϑΝΠϧΛ୳͢ 15 • ར༻نʹҙ ‣ ༻ར༻͕ڐՄ͞Ε͍ͯΔ͔ʁ ‣ ࡞ऀͷΫϨδοτ͕ඞཁ͔Ͳ͏͔ʁ ‣ ݩͷ࡞ʹվม͕ڐՄ͞Ε͍ͯΔ͔ʁ
‣ վม࣌ͷϥΠηϯεͲ͏ͳΔ͔ʁ
ԻϑΝΠϧΛ୳͢ 16 • ޮՌԻϥϘʢಈͷ໐͖ʣ ‣ http://soundeffect-lab.info/sound/animal/ • ຐԦࠢʢBGMʣ ‣ http://maoudamashii.jokersounds.com/
list/game13.html ʢΠϕϯτ43ͷۂʣ
ԻϑΝΠϧΛXcodeʹimport 17 ͜͜Ͱsoundͱ͍͏groupʢϑΥϧμΈ͍ͨͳͷʣ Λ࡞ͯ͠ԻϑΝΠϧΛ·ͱΊ͍ͯ·͢
ޮՌԻΛ໐Βͯ͠ΈΔ 18
ޮՌԻΛ໐Βͯ͠ΈΔ • AnimalFortuneTellingϓϩδΣΫτΛ։͘ https://github.com/jollyjoester/Schoo-iOS- App-Development-Basic/archive/06.zip • ViewController.swiftΛબ 19
ͦͷલʹͪΐͬͱมߋ 20 ViewController.swift changeLabelϝιου
͍݁Ռ͕ग़ͨΒϫϯͱ໐Β͢ 21 • AVAudioPlayerΛར༻ ‣ AVFoundation.frameworkʹؚ·ΕΔ ‣ ؆୯ʹԻΛѻ͏͜ͱ͕Ͱ͖Δ
͍݁Ռ͕ग़ͨΒϫϯͱ໐Β͢ 22 ViewController.swift AVAudioPlayer༻ͷมΛՃ
͍݁Ռ͕ग़ͨΒϫϯͱ໐Β͢ 23 ViewController.swift changeLabelϝιου switchจͷԼʹԼهՃ
͍݁Ռ͕ग़ͨΒϫϯͱ໐Β͢ 24
͍݁Ռ͕ग़ͨΒϫϯͱ໐Β͢ (do-try-catch) 25 AVAudioPlayer(contentsOfURL: url)ࣦഊ͢ΔՄೳੑͷ͋Δॲཧ ࣦഊͨ͠ΒΤϥʔΛΩϟονͯ͠Τϥʔ༻ͷॲཧΛ͢Δ
͍݁Ռ͕ग़ͨΒϫϯͱ໐Β͢ (do-try-catch) 26 ྫɿtypoʢλΠϓϛεʣͰ֘ͷԻϑΝΠϧ͕ଘࡏ͠ͳ͔ͬͨ߹
͍݁Ռ͕ग़ͨΒϫϯͱ໐Β͢ (do-try-catch) 27 do-catchͰғΘͳ͔ͬͨΒʁ ʮ͔͜͜ΒΤϥʔ͕εϩʔ͞Εͯϋϯυϧ͞Εͯ·ͤΜɻʯ
͍݁Ռ͕ग़ͨΒϫϯͱ໐Β͢ (༨ஊ: Bundleͱʁ) 28
͍݁Ռ͕ग़ͨΒϫϯͱ໐Β͢ (༨ஊ: Bundleͱʁ) 29 Xcodeʹimportͨ͠ૉࡐʢը૾Իʣ ΞϓϦͷBundleͱ͍͏ྖҬʹίϐʔ͞Ε·͢
ͦΕͧΕͷಈͰ໐͔ͤͯΈΔ 30 soundNameͱ͍͏มΛએݴ͢Δ
ͦΕͧΕͷಈͰ໐͔ͤͯΈΔ 31 ֤ಈͷ໐͖ͷԻϑΝΠϧ໊Λࢦఆ͢Δ
ͦΕͧΕͷಈͰ໐͔ͤͯΈΔ 32
BGMΛ໐Βͯ͠ΈΔ 33
ΫϨδοτΛදࣔ 34 ຐԦࠢΫϨδοτͷද͕ࣔඞཁ
BGMΛ໐Βͯ͠ΈΔ 35 BGM༻ͷAVAudioPlayerΛ࡞ ViewDidLoadϝιουͷதͰԻΛ࠶ੜ͢Δ
ViewDidLoad 36 ը໘͕४උ͞Εͨ࣌ʹ̍ճ͚࣮ͩߦ͞ΕΔϝιου ʢৄ࣍͘͠ճʹʣ
BGMΛ໐Βͯ͠ΈΔ 37 ԻΛଈ࣌ʹ໐Β͢ઃఆ
BGMΛ໐Βͯ͠ΈΔ 38 ϧʔϓͤ͞Δઃఆ
BGMΛ໐Βͯ͠ΈΔ 39 ԻྔΛௐ
40 ʂ
BGMΛ໐Βͯ͠ΈΔ 41 Ϩʔτʢૣ͞ʣΛௐ
BGMΛ໐Βͯ͠ΈΔ 42 ԻΛ్த͔Β࠶ੜ͢Δ
BGMΛ໐Βͯ͠ΈΔ 43 ύχϯάʢࠨӈͷεϐʔΧʔͷԻௐʣ
BGMΛ໐Βͯ͠ΈΔ 44 Ұ࣌ఀࢭˍ࠶։ changeLabelͷ࠷ޙʹՃͯ͠ΈΑ͏
BGMΛ໐Βͯ͠ΈΔ 45 ఀࢭ
γϛϡϨʔλʔͱ࣮ػ 46 • γϛϡϨʔλʔͱ࣮ػͷಈ͖ͷҧ͍ʹ ҙʂ ‣ γϛϡϨʔλʔͩͱϗʔϜϘλϯΛԡ͠ ͯΞϓϦΛऴྃͤͯ͞Ի͕ͳΓଓ͚ Δ ‣
ϋʔυΣΞ͕ؔΘΔͷ࣮ػͰͷಈ ࡞֬ೝΛ͔ͬ͠Γʂ
ෳͷޮՌԻΛಉ࣌ʹ໐Β͢ 47 • Իͷछྨ͝ͱʹAVAudioPlayerͷม͕ඞ ཁʢࠓճͩͱplayerͱbgmPlayerʣ • ͨ͘͞ΜͷԻΛಉ࣌ʹѻ͍͍ͨͱ͖ ͪΐͬͱ͕ඞཁʢੈքҰຊʹࡌͬͯ ΔΑŬź(ɾ㱼ɾ)Ŭźʣ
ຊͷ͓͞Β͍ • ྑ͍ԻૉࡐΛऔಘͯ͠ΑΓྑ͍ΞϓϦʹ͠Α͏ʂ • AVAudioPlayerͷ͍ํΛϚελʔͯ͢͠Δͱ ΞϓϦΑΓָ͘͠ͳΔʂ 48
ࠂ 49 http://eventdots.jp/event/582698 ݄࣍̏̎̕ʂ
ࠂ 50 http://liginc.co.jp/series/spaceapps LIGϒϩά࿈ࡌ࢝Ί·ͨ͠ʂ