์๋ ํ์ธ์ Foma ์ ๋๋ค!
์ ๋ฒ ์๊ฐ์๋ ์ฑ ์๋ช ์ฃผ๊ธฐ ๊ฐ๋ ์ ๋ํด์ ์์๋ณด์๋๋ฐ์. <- ์ฑ ์๋ช ์ฃผ๊ธฐ ๊ฐ๋ ํธ
์ฑ ์๋ช ์ฃผ๊ธฐ๋ฅผ ํ์ฉํ์ฌ ์ด๋ค ๊ธฐ๋ฅ์ ๋ง๋ค ์ ์๋์ง ์ค๋์ ์์๋ณด๊ฒ ์ต๋๋ค!
์ด๋ฒ์๋ ์ฑ ์๋ช ์ฃผ๊ธฐ ์ค์์ Background์ํ์ ์๋ sceneDidEnterBackground(_:) ๋ฉ์๋๋ฅผ ํ์ฉํด์
์ ํ๋ธ ํ๋ฆฌ๋ฏธ์์ด ์ด๋ค ์๋ฆฌ๋ก ๋์ด์๋์ง ๊ฐ๋จํ๊ฒ ์์๋ณด๊ฒ ์ต๋๋ค!
Storyboard
๋จผ์ ํ๋ฆฌ๋ฏธ์์ธ์ง ๋ ธ๋ฉ์ธ์ง๋ฅผ ๊ตฌ๋ณํ ๋ ์ด๋ธ๊ณผ ๋ ธ๋ฉ,ํ๋ฆฌ๋ฏธ์ ๋ก๊ทธ์ธ ๋ฒํผ์ ๊ฐ๊ฐ ๋ง๋ค์ด์ค๋๋ค.
๋ ์ด๋ฒ ์๊ฐ์๋ ์์ ์ฌ์์ด ํ์ํ๋ฏ๋ก ์์ ์ ์ฌ์ํ ์ ์๋ ๋ฒํผ๋ ๋ง๋ค์ด์ค๋๋ค.
ViewController
๋ทฐ์ปจํธ๋กค๋ฌ์ ๋ ์ด๋ธ๊ณผ ๋ฒํผ๋ค์ ๋ชจ๋ ์ฐ๊ฒฐํด์ฃผ๊ณ action๋ ๋ง๋ค์ด์ค๋๋ค.
ํ๋ ์ด๋ฒํผ์ ์ํ์ ๋ก๊ทธ์ธ์ํ๋ฅผ ์ ์ฅํ ๋ณ์๋ ๊ฐ๊ฐ ๋ง๋ค์ด์ค๋๋ค.
ํ๋ ์ด๋ฒํผ ์ํ์ ๋ก๊ทธ์ธ ์ํ๋ฅผ ์ด์ฉํด ๊ฐ ๋ฒํผ์ ์ก์ ์ฝ๋๋ฅผ ์์ฑํ๊ฒ ์ต๋๋ค.
์ด๋ฏธ์ง ์์ด์ฝ ์ํ๋ ์์ด์ฝ์ ๊ตฌํด์ Asset์ ๋ฃ์ด์ฃผ์ ์ผ ํฉ๋๋ค.
๊ทธ ๋ค์์ผ๋ก ์์ ์ ์ฌ์ํ ์ ์๋ ํ๊ฒฝ์ ๋ง๋ค์ด์ฃผ๊ฒ ์ต๋๋ค.
๋จผ์ AVFoundation์ import ํด์ค ๋ค
AVAudioPlayer๋ฅผ ๋ด๋ ๋ณ์๋ฅผ ๋ง๋ค์ด์ค๋๋ค.
๋ทฐ๋๋๋ก๋๋ก ๊ฐ์ ์๋์ ๊ฐ์ด ๋ฎค์งํ๋ ์ด ์ฝ๋๋ฅผ ๊ตฌํํฉ๋๋ค.
1
2
3
4
5
6
7
8
|
let song = Bundle.main.path(forResource: "Gang Gang Schiele", ofType: "mp3")
do {
musicPlayer = try AVAudioPlayer(contentsOf: URL(fileURLWithPath: song!))
try AVAudioSession.sharedInstance().setCategory(AVAudioSession.Category.playback,mode: AVAudioSession.Mode.default,options: AVAudioSession.CategoryOptions.mixWithOthers)
} catch {
print("error")
}
|
let song = Bundle.main.path(forResource: "์ํ๋ ๋ ธ๋ ์ด๋ฆ", ofType: "ํ์ ") <- ์ฌ๊ธฐ์ ๋ ธ๋๋ ๋ฐ๋ก ์ ์ฅ์ ํด๋๊ณ ์ด๋ฆ๊ณผ ํ์ ์ ์ ์ผ์ ์ผํฉ๋๋ค.
์ด์ ๋๋์ด ์ฑ์๋ช ์ฃผ๊ธฐ๋ฅผ ํ์ฉํ ์ฐจ๋ก์ ๋๋ค.
SceneDelegate
SceneDelegate๋ก ์ด๋ํ์ ์ sceneDidEnterBackground ๋ฉ์๋์ NotificationCenter๋ฅผ ํ์ฉํด ์ฑ์ด background์ ์ง์ ํ์ ๋๋ฅผ ์๋ ค์ค๋๋ค. (๋ ธํฐํผ์ผ์ด์ ์ผํฐ๋ฅผ ์ฐ๋ ๋ฐฉ๋ฒ์ ์ฌ๊ธฐ ๋ฅผ ๋ณด์๋ฉด ๋ฉ๋๋ค.)
๋ทฐ์ปจํธ๋กค๋ฌ๋ก ์ด๋ํด ๋ทฐ๋๋๋ก๋์ ๋ ธํฐํผ์ผ์ด์ ์ต์ ๋ฒ๋ฅผ ์ค์ ํด์ฃผ๊ณ @objc ํจ์๋ฅผ ๋ง๋ค์ด์ค๋๋ค.
๋ง์ฝ ๋ฐฑ๊ทธ๋ผ์ด๋์ ์ง์ ํ์ ๋ ๋ ธ๋ฉ ์ ์ ๋ผ๋ฉด ๋ฎค์งํ๋ ์ด์ด๋ฅผ ์ ์ง์ํค๋ ์ฝ๋๋ฅผ ์์ฑํด์ค๋๋ค.
์ด๋ ๊ฒ ๋ค ์์ฑํด์ฃผ๊ณ ๋๋ฉด ์ ํ๋ธ ํ๋ฆฌ๋ฏธ์๊ณผ ๊ฐ์ด ๋ ธ๋ฉ์ ์ ์ผ๋ ๋ฐฑ๊ทธ๋ผ์ด๋ก ์ด๋ํ๋ฉด ๋ ธ๋๊ฐ ๊บผ์ง์ง๋ง ํ๋ฆฌ๋ฏธ์์ ์ ์ผ๋๋ ๋ฐฑ๊ทธ๋ผ์ด๋๋ก ์ด๋ํด๋ ๋ ธ๋๊ฐ ๊บผ์ง์ง ์์ต๋๋ค.
App Video
Github
์ ์ฒด์์ค์ฝ๋
fomagran/AppLifeCyle
Contribute to fomagran/AppLifeCyle development by creating an account on GitHub.
github.com
๋๊ธ