inflearn logo
강의

Khóa học

Chia sẻ kiến thức

[Sách giáo khoa chính thức của Apple] Giới thiệu về việc tạo ứng dụng iOS (bao gồm đánh giá)

Giao diện người dùng thích ứng

3번째 실습 진행중 오류

Đã giải quyết

433

daengcheongcrow

13 câu hỏi đã được viết

0

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

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

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

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

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

(디버깅 창에서)

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

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

swift ios

Câu trả lời 2

2

codershigh

안녕하세요, 정상원님. 

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

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

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

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

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

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

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

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

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

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

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

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

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

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

도움이 되셨길 바랍니다.

감사합니다.

0

daengcheongcrow

자문 자답입니다만..

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

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

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

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

수강 기간 연장 문의

0

28

1

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

0

42

2

Combine Playground 에서 실행 시

0

59

2

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

0

42

1

searchable이 화면 하단에 위치해요

0

62

2

Drawing Cycle 관련 질문

0

72

1

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

0

95

2

델리게이트 패턴 관련 질문

0

66

2

ios 애드몹 광고

0

134

2

수강 기간 연장 부탁드릴 수 있을까요?

0

61

1

활용 앱 57강 질문입니다.

0

55

1

그래프 그리기 위한 API가 프리미엄 요금제를 구독해야만 가능하다고 합니다...ㅜㅜ

0

76

2

과거 ai없을때 듣고 다시 듣는 중인데

1

55

1

활용 앱 30강 에러 질문입니다

0

64

2

예제 빌드시 The compiler is unable to type-check this expression in reasonable time 에러 발생

0

54

1

TextField 에 Binding 으로 연결하면 에러 발생

0

55

1

xcode 26.2 에서 ReducerOf<Self> 이슈

0

77

2

20강 Task 내부에서 nonisolated async 호출 예제 질문드립니다

0

78

2

19강 Actor 의 동작 관련해 질문드립니다

0

83

2

기초앱 17강 Contraints 설정 질문입니다.

0

67

2

소리가 ㅠㅠ

0

54

2

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

0

297

1

로그

0

260

1

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

0

740

1