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
120
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Swiftで作るiOSアプリ開発入門_07
Schoo講義資料
jollyjoester
March 26, 2016
More Decks by jollyjoester
See All by jollyjoester
印西市創業実践プログラム2026 【AI活用講座】
jollyjoester
0
28
AI時代でも変わらない技術コミュニティの力 ~10年続く"ゆるい"つながりが生み出す価値~
jollyjoester
0
20
AIコードアシスタントとiOS開発
jollyjoester
1
370
市民のためのセキュリティ講座
jollyjoester
0
91
コミュニティMTG in WWDC24
jollyjoester
0
360
BengaluruでLTしてきた
jollyjoester
0
400
try! Swift Tokyo 2024
jollyjoester
0
400
エンジニアが直接会う場の価値について
jollyjoester
8
4.7k
来年Proposalを出すつもりで参加するときっともっと楽しい!
jollyjoester
0
420
Other Decks in Education
See All in Education
[2026前期火5] 論理学(京都大学文学部 前期 第1回)「ハルシネーションを外部世界との対応を考えずに見分ける方法」
yatabe
0
1.1k
View Manipulation and Reduction - Lecture 9 - Information Visualisation (4019538FNR)
signer
PRO
1
2.7k
AI-Based Speaking Assessment of a Short-Term Study Abroad Program
uranoken
0
240
Visionary Initiative: Materials-Positive Society 「モノの進化をポジティブな社会の原動力に」|Science Tokyo(東京科学大学)
sciencetokyo
PRO
0
360
SL AMIGOS 教育格差と私たちの取り組み - スリランカの支援学校への支援プロジェクト:リシンドゥ リオ 氏 (別府溝部学園短期大学 ビジネス観光コース 留学生):2720 Japan O.K. ロータリーEクラブ2026年4月6日卓話
2720japanoke
0
610
The Lotus and the Frog
vyadav
0
120
プログラミング言語において文字列を複数行にわたって だらだらと記載するアレ
sapi_kawahara
0
160
Stardy 会社紹介資料
stardy
0
330
偶然のチャンスを掴みに行けるのは君だ!
kotomin_m
2
120
From Participation to Outcomes
territorium
PRO
0
460
Protecting Patrons with Digital Vendors
dsalo
0
200
From Days to Minutes: How We Taught an AI to Onboard 50+ Tenants on our AI Features
mfcabrera
0
170
Featured
See All Featured
GraphQLの誤解/rethinking-graphql
sonatard
75
12k
Navigating Weather and Climate Data
rabernat
0
220
Money Talks: Using Revenue to Get Sh*t Done
nikkihalliwell
0
250
Between Models and Reality
mayunak
4
330
16th Malabo Montpellier Forum Presentation
akademiya2063
PRO
0
140
Collaborative Software Design: How to facilitate domain modelling decisions
baasie
1
250
Ecommerce SEO: The Keys for Success Now & Beyond - #SERPConf2024
aleyda
1
2k
Making Projects Easy
brettharned
120
6.7k
Testing 201, or: Great Expectations
jmmastey
46
8.2k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
287
14k
Lightning Talk: Beautiful Slides for Beginners
inesmontani
PRO
2
570
Measuring & Analyzing Core Web Vitals
bluesmoon
9
860
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ϒϩά࿈ࡌ࢝Ί·ͨ͠ʂ