iOS 15에서 AttributedString이 추가되면서 일부 SDK 기능을 쓸 때 NSAttributedString 대신에 AttributedString을 사용해야할 때가 있는데, 이게 또 바로바로 호환이 되질 않는다. 아래와 같이 별도의 생성자를 통해 만들어줘야 한다.
let nsAttributedString = NSAttributedString(...)
// UIKit 특성을 뽑아올 때
let attributedString = try AttributedString(nsAttributedString, including: \.uiKit)
// SwiftUI 특성을 뽑아올 때
let attributedString = try AttributedString(nsAttributedString, including: \.swiftUI)
// AppKit 특성을 뽑아올 때
let attributedString = try AttributedString(nsAttributedString, including: \.appKit)
// Foundation 특성을 뽑아올 때
let attributedString = try AttributedString(nsAttributedString, including: \.foundation)
NSAttributedString의 모든 속성을 바로 가져올 수는 없고, 위와 같이 특정 스코프를 지정하면 그 스코프에 맞는 속성을 뽑아오는 개념이다. 솔직히 불편한데…걍 처음부터 AttributedString으로 만들고 NSAttributedString으로 변환하는게 나을듯…