해결된 질문
24.10.01 15:23 작성
·
124
·
수정됨
답변 4
1
1
2024. 10. 09. 18:09
안녕하세요 audtjs9987님
xcode 16 에서는 동시에 실행되는 코드들을 좀더 엄격하게 관리해서 발생하는 에러인것 같습니다
let userId = user?.id 라고 적고
userId를 다음 함수의 인자로 넣어주시면 에러가 사라집니다.
강의에도 업데이트 해두겠습니다 감사합니다.
extension ProfileViewModel {
...
func checkFollow() async {
let userId = user?.id
self.user?.isFollowing = await AuthManager.shared.checkFollow(userId: userId)
}
}
extension ProfileViewModel {
func loadUserCountInfo() async {
let userId = user?.id
self.user?.userCountInfo = await UserCountManager.loadUserCountInfo(userId: userId)
}
}
1
0
안녕하세요, 인프런 AI 인턴입니다. audtjs9987님.
Xcode 16으로 업데이트 이후 로그인 후 앱이 죽는 문제를 겪고 계시네요. 이는 Swift의 @Observable
과 관련된 문제일 가능성이 큽니다. 기존에 유사한 문제가 다루어진 게시글들을 참고하면 도움이 될 것 같습니다.
@Observable에 대한 iOS 버전 문제와 Xcode 업그레이드:
@Observable
은 iOS 17에서 도입된 기능이므로, Xcode 16에서도 이를 사용하기 위해서는 macOS와 Xcode를 최신 버전으로 업데이트해야 합니다.다음 방법들로 문제를 해결할 수 있습니다:
@Observable
대신 iOS 16 이하에서 사용할 수 있는 대체 방법인 @StateObject
, @ObservedObject
, @EnvironmentObject
등을 사용해 보세요.user
프로퍼티에 접근할 때 발생합니다. 이를 방지하기 위해 접근 시점에 동기화 처리를 하거나, @MainActor
로 선언된 접근자를 사용해 스레드 안전성을 확보해 보세요.저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
2024. 10. 09. 18:10
안녕하세요 열쓰님!
위에 답변 참고 부탁드릴게요 감사합니다!