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
印西市創業実践プログラム2026 【AI活用講座】
jollyjoester
0
9
AI時代でも変わらない技術コミュニティの力 ~10年続く"ゆるい"つながりが生み出す価値~
jollyjoester
0
9
AIコードアシスタントとiOS開発
jollyjoester
1
350
市民のためのセキュリティ講座
jollyjoester
0
73
コミュニティMTG in WWDC24
jollyjoester
0
330
BengaluruでLTしてきた
jollyjoester
0
390
try! Swift Tokyo 2024
jollyjoester
0
370
エンジニアが直接会う場の価値について
jollyjoester
8
4.6k
来年Proposalを出すつもりで参加するときっともっと楽しい!
jollyjoester
0
400
Other Decks in Education
See All in Education
What workforce agencies must have in place to compete for and deliver on RESTART grants
territorium
PRO
0
110
東大1年生にJulia教えてみた
matsui_528
7
12k
小さなまちで始める デジタル創作の居場所〜すべての子どもが創造的に未来を描ける社会へ〜
codeforeveryone
0
190
Lenguajes de Programacion (Ingresantes UNI 2026)
robintux
0
140
Interactive Tabletops and Surfaces - Lecture 5 - Next Generation User Interfaces (4018166FNR)
signer
PRO
1
2k
Going over the Edge
jonoalderson
0
770
Adobe Express
matleenalaakso
2
8.2k
インシデント対応
akira345
0
290
Activité_5_-_Les_indicateurs_du_climat_global.pdf
bernhardsvt
0
200
GOBUSATA紹介
chankawa919
0
130
栃木にいても「だいじ」だっぺ〜! 栃木&全国アジャイルコミュニティへの参加・運営の魅力
sasakendayo
1
180
ブランチ操作 / 02-a-branch
kaityo256
PRO
0
200
Featured
See All Featured
End of SEO as We Know It (SMX Advanced Version)
ipullrank
3
4.1k
B2B Lead Gen: Tactics, Traps & Triumph
marketingsoph
0
78
Building Adaptive Systems
keathley
44
3k
Odyssey Design
rkendrick25
PRO
2
550
Why Our Code Smells
bkeepers
PRO
340
58k
Building AI with AI
inesmontani
PRO
1
800
Introduction to Domain-Driven Design and Collaborative software design
baasie
1
640
jQuery: Nuts, Bolts and Bling
dougneiner
65
8.4k
[RailsConf 2023] Rails as a piece of cake
palkan
59
6.4k
Site-Speed That Sticks
csswizardry
13
1.1k
Making the Leap to Tech Lead
cromwellryan
135
9.8k
Discover your Explorer Soul
emna__ayadi
2
1.1k
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ϒϩά࿈ࡌ࢝Ί·ͨ͠ʂ