📱 App Development Study/iOS🍎

[[Udemy iOS & Swift Bootcamp] 검색 및 Apple 공식문서 활용방법

ibelieveinme 2023. 3. 17. 20:51
728x90

1. Google

2. Stack Overflow https://stackoverflow.com/

3. Implement

4. Docs https://developer.apple.com/documentation

5. Customise

 

Google과 Stack Overflow로 방법을 찾고 코드로 구현한다.

코드의 의미를 찾아본다.

코드를 커스터마이징한다.

 

 

<구글 검색법>

What I want my app to do + Which programming language + Which resource

ex) Play sound Swift StackOverflow

 

Stak Overflow에선 가장 최근 답변을 적용해보기

 

<Apple documentation 으로 모르는 용어 확실히 확인하기>

import UIKit
import AVFoundation

class ViewController: UIViewController {
    
    var player: AVAudioPlayer?
    
    override func viewDidLoad() {
        super.viewDidLoad()
    }

    @IBAction func keyPressed(_ sender: UIButton) {  
        playSound()
    }
    
    func playSound() {
        //forResource: sound Name
        //ofTpe: sound type
        guard let path = Bundle.main.path(forResource: "C", ofType:"wav") else { return }
        
        let url = URL(fileURLWithPath: path)

        do {
            player = try AVAudioPlayer(contentsOf: url)
            player?.play()
            
        } catch let error {
            print(error.localizedDescription)
        }
    }
}

Stack Overflow로 찾은 버튼을 누르면 Audio가 재생되는 코드이다. 코드를 확인했으면 Apple 공식문서로 모르는 클래스, 함수를 꼭 확인하자.

 

먼저 Apple 공식문서에 AVFoundation 을 검색해보자.

https://developer.apple.com/documentation/avfoundation/

 

AVFoundation | Apple Developer Documentation

Work with audiovisual assets, control device cameras, process audio, and configure system audio interactions.

developer.apple.com

AVFoundation Framwork 중에 Audio 재생, 녹음, 프로세싱은 이 부분을 확인하면 되는 것을 알 수 있다.

 

클릭하면 AVFoundation Framwork가 갖고있는 클래스를 보여준다. 기본 재생 및 녹음 클래스는 위와 같다.

Audio 재생과 관련된 AVAudioPlayer 클래스를 클릭해보자.

 

선언부터 class 가 갖고 있는 함수를 확인할 수 있다.

AVAudioPlayer 는 객체임을 알 수 있고, 이 객체에 파일 URL을 달아서 재생하는 것.

 

Bundle: Resource 묶음인데, 구조적인 디렉토리로 저장되어 가져올 수 있는 것이라고 알면 될 것 같다.

즉, 특정 Resource를 로드하려면 Bundle로 데려와야 한다. 

 

그리고 기본&가장 많이 사용하는 경로는 main이다. Bundle.main

C.wav 파일을 가져오려면 위 Path 함수를 쓰면 된다.

즉 맨 위 코드는 AVAudioPlayer이 Audio를 재생하기 위해선 Audio Url 이 필요했고, Url은 Bundle.main.path 로 가져와서 넣은 것! Bundle.main.url 도 됨!

 

 

P.S) 빠른 찾기 방법은 option키 누르고 해당 글자 클릭하는 것!

 

728x90