inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

[애플 공식 교재] iOS 앱 만들기 입문 (리뷰포함)

Adaptive User Interfaces

3번째 실습 진행중 오류

해결된 질문

470

댕청한까마귀

작성한 질문수 13

0

동일하게 진행 하였습니다만

소리가 나지를 않습니다..

프로젝트 네비게이터에는 4개(3개의 소리, 1개의 스위프트파일)

을 넣어서 엑스코드에서는 소리가 들리는 것은 확인하였습니다.

실기기와 에뮬에서 실행하면 아무런 에러는 나오지 않습니다.

(디버깅 창에서)

이름을 변경하는 레이블은 잘 변경이 됩니다...

아래는 소스와 디버깅창입니다.. 따로 소리를 내기위해서는 설정해야 하는 부분이 있습니까?

swift ios

답변 2

2

코더스하이

안녕하세요, 정상원님. 

마지막까지 학습하시고 좋은 질문 주셔서 감사합니다.

덕분에 저의 실수를 보완할 수 있는 설명을 드리게 되어서 다행으로 생각합니다.

먼저, 제가 착각한 부분은 사운드의 특성과 변수의 Scope에 대한 것 입니다.

사운드 파일은 그 특성상 재생에 시간이 걸립니다.

하지만 함수 내에 선언한 변수의 경우, 그 함수의 실행이 끝나면 바로 메모리에서 릴리즈 되어 버립니다.

변수 내에서 사운드를 재생한 경우, 사운드 재생에 대한 명령을 실행하자 마자

사운드 파일이 메모리에서 사라져 버려서 더 이상 재생을 못하게 된 경우 입니다.

위 그림과 같이 사운드가 재생되는 시간동안 그 함수에 머무르게 하면 사운드가 끝까지 재생되는 것을 확인할 수 있습니다.

그래서 정상원님이 책의 코드와 동일하게 작성한 것 처럼, 

뷰 컨트롤러 레벨에서 사운드 변수를 선언하면, 함수에서는 빠져 나오더라도 사운드 파일은 존재하고 있으므로

사운드 재생을 마무리 할 수 있었던 거죠. 

보통 실제 앱 개발시 사운드 재생 관련한 기능을 구현할 때는 , 

SimpleSound.swift 내부에서처럼 AudioServicesPlaySystemSound() 함수를 바로 사용하는게 아니라AVAudioPlayer 등의 보다 하이레벨 API를 사용해 이러한 고려를 하지 않아도 되는 방식을 사용합니다.

이 부분은 책의 범위를 벗어나지만 AVFoundation을 참고하시기 바랍니다.

도움이 되셨길 바랍니다.

감사합니다.

0

댕청한까마귀

자문 자답입니다만..

교재로 쓰인 책에서는 소리변수는 따로 위로 빼서 작성하더라구요.

혹시나 해서 그대로 쳐보니 정상적으로 작동(소리남)하였습니다.

강의에서 작성하신 코드대로 하면 왜 안되는 것일까요?

let의 사용법에 관련된 것인가요...?

진로에 대한 질문...!

0

41

1

Static 선언 시 에러 발생

0

46

1

클로저의 형태로 만들다

0

51

1

Function Types Error

0

43

1

안드로이드 기기 실행 오류

0

65

2

수강연장 가능할까요...

0

60

2

강의에서 사용된 안드로이드 스튜디오 버전을 알고싶어요.

0

63

2

SwiftData 미리보기 미적용

0

58

2

중괄호와 함수

0

60

2

기본 뷰 디자인이 강사님과 다릅니다.

0

57

2

이미지 2x, 3x 질문

0

46

2

강의를 다 듣고난 후

0

75

2

android crud중 c 영상이 12초만 있는 잘린 영상이에요.

0

74

2

수강 기간 연장 문의

0

69

1

수강연장부탁드려도될까요..

0

86

2

Combine Playground 에서 실행 시

0

103

2

70강 - 글로벌 액터로 격리된 Protocol 을 extension 에서 conform 시 타입 본체의 격리 수준 질문

0

82

1

searchable이 화면 하단에 위치해요

0

104

2

Drawing Cycle 관련 질문

0

100

1

앱 제작 시 주로 코드로 작성하시는 이유가 있을까요?

0

138

2

델리게이트 패턴 관련 질문

0

106

2

Intro to App Development with Swift 책을 찾을 수 없습니다

0

314

1

로그

0

289

1

아무리봐도 assistant editor가 없습니다

0

758

1