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
AIコードアシスタントとiOS開発
jollyjoester
1
340
市民のためのセキュリティ講座
jollyjoester
0
57
コミュニティMTG in WWDC24
jollyjoester
0
320
BengaluruでLTしてきた
jollyjoester
0
370
try! Swift Tokyo 2024
jollyjoester
0
360
エンジニアが直接会う場の価値について
jollyjoester
8
4.5k
来年Proposalを出すつもりで参加するときっともっと楽しい!
jollyjoester
0
390
My favorite sessions in WWDC 23
jollyjoester
0
690
みんなでAIと戯れよう
jollyjoester
0
160
Other Decks in Education
See All in Education
Surviving the surfaceless web
jonoalderson
0
280
IKIGAI World Fes:program
tsutsumi
1
2.6k
Cifrado asimétrico
irocho
0
370
滑空スポーツ講習会2025(実技講習)EMFT学科講習資料/JSA EMFT 2025
jsaseminar
0
150
Going over the Edge
jonoalderson
0
270
20251119 如果是勇者欣美爾的話, 他會怎麼做? 東海資工
pichuang
0
160
Evaluation Methods - Lecture 6 - Human-Computer Interaction (1023841ANR)
signer
PRO
0
1.2k
RGBでも蛍光を!? / RayTracingCamp11
kugimasa
2
310
子どもが自立した学習者となるデジタルの活用について
naokikato
PRO
0
170
Node-REDで広がるプログラミング教育の可能性
ueponx
1
230
Microsoft Office 365
matleenalaakso
0
2k
沖ハック~のみぞうさんとハッキングチャレンジ☆~
nomizone
1
540
Featured
See All Featured
Paper Plane (Part 1)
katiecoart
PRO
0
2.7k
A better future with KSS
kneath
240
18k
Rebuilding a faster, lazier Slack
samanthasiow
85
9.3k
How To Speak Unicorn (iThemes Webinar)
marktimemedia
1
360
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
35
2.3k
State of Search Keynote: SEO is Dead Long Live SEO
ryanjones
0
80
How to build a perfect <img>
jonoalderson
1
4.8k
HDC tutorial
michielstock
1
290
Impact Scores and Hybrid Strategies: The future of link building
tamaranovitovic
0
180
Agile Actions for Facilitating Distributed Teams - ADO2019
mkilby
0
100
Bridging the Design Gap: How Collaborative Modelling removes blockers to flow between stakeholders and teams @FastFlow conf
baasie
0
420
jQuery: Nuts, Bolts and Bling
dougneiner
65
8.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ϒϩά࿈ࡌ࢝Ί·ͨ͠ʂ