ASMusicKit을 만들고 나서 메소드를 사용해보려고 하였다.
다음과 같은 에러가 발생하였다.
Non-sendable type '[ASSong]' returned by implicitly asynchronous call to nonisolated function cannot cross actor boundary
프레임워크를 분리하지 않고 struct를 선언 해서 사용했을때는 다음과 같은 문제가 발생하지 않았으나 ASSong의 접근제어자를 public
으로 바꿔준 뒤부터 다음과 같은 문제가 발생하였다.
해결방법은 다음과 같았다.
@MainActor
를 채택한다. (다만 이는 UI작업 같은 메인스레드가 작업해야하는 것이 확실한 경우에만 사용하는 것이 좋아보인다)Sendable
은 주어진 타입의 값들이 concurrent code
에서 안전하게 사용될 수 있음을 나타낸다.