diff --git a/Plugin/UtilityPlugin/ProjectDescriptionHelpers/Dependency+SPM.swift b/Plugin/UtilityPlugin/ProjectDescriptionHelpers/Dependency+SPM.swift index 3c2711d8..11543df4 100644 --- a/Plugin/UtilityPlugin/ProjectDescriptionHelpers/Dependency+SPM.swift +++ b/Plugin/UtilityPlugin/ProjectDescriptionHelpers/Dependency+SPM.swift @@ -11,6 +11,7 @@ public extension TargetDependency.SPM { static let Needle = TargetDependency.external(name: "NeedleFoundation") static let Moya = TargetDependency.external(name: "Moya") static let CombineMoya = TargetDependency.external(name: "CombineMoya") + static let Kingfisher = TargetDependency.external(name: "Kingfisher") } public extension Package { diff --git a/Projects/Features/MyPageFeature/Sources/MyPage/MyPageView.swift b/Projects/Features/MyPageFeature/Sources/MyPage/MyPageView.swift index 6b1429ba..266b14b1 100644 --- a/Projects/Features/MyPageFeature/Sources/MyPage/MyPageView.swift +++ b/Projects/Features/MyPageFeature/Sources/MyPage/MyPageView.swift @@ -1,6 +1,7 @@ import BaseFeature import DesignSystem import SwiftUI +import Kingfisher struct MyPageView: View { @StateObject var viewModel: MyPageViewModel @@ -57,22 +58,21 @@ struct MyPageView: View { Spacer() ZStack(alignment: .bottomTrailing) { - AsyncImage(url: viewModel.profile?.profileImageURL) { image in - image - .resizable() - .aspectRatio(contentMode: .fill) - .frame(width: 74, height: 74) - .clipShape(Circle()) - .scaledToFill() - } placeholder: { - ProgressView() - .progressViewStyle( - CircularProgressViewStyle(tint: .white) - ) - .frame(width: 74, height: 74) - .background(Color.GrayScale.gray5) - .clipShape(Circle()) - } + KFImage(viewModel.profile?.profileImageURL) + .placeholder { _ in + ProgressView() + .progressViewStyle( + CircularProgressViewStyle(tint: .white) + ) + .frame(width: 74, height: 74) + .background(Color.GrayScale.gray5) + .clipShape(Circle()) + } + .resizable() + .aspectRatio(contentMode: .fill) + .frame(width: 74, height: 74) + .clipShape(Circle()) + .scaledToFill() Circle() .fill(Color.GrayScale.gray3) diff --git a/Projects/Modules/FeatureThirdPartyLib/Project.swift b/Projects/Modules/FeatureThirdPartyLib/Project.swift index 63e846da..ce51fa26 100644 --- a/Projects/Modules/FeatureThirdPartyLib/Project.swift +++ b/Projects/Modules/FeatureThirdPartyLib/Project.swift @@ -6,6 +6,7 @@ let project = Project.makeModule( name: "FeatureThirdPartyLib", product: .framework, dependencies: [ - .SPM.Needle + .SPM.Needle, + .SPM.Kingfisher ] ) diff --git a/Tuist/Dependencies.swift b/Tuist/Dependencies.swift index c154a55b..bbfe2b60 100644 --- a/Tuist/Dependencies.swift +++ b/Tuist/Dependencies.swift @@ -9,7 +9,8 @@ let dependencies = Dependencies( .remote(url: "https://github.com/Quick/Quick.git", requirement: .upToNextMajor(from: "5.0.1")), .remote(url: "https://github.com/Quick/Nimble.git", requirement: .upToNextMajor(from: "10.0.0")), .remote(url: "https://github.com/uber/needle.git", requirement: .upToNextMajor(from: "0.19.0")), - .remote(url: "https://github.com/team-aliens/Moya.git", requirement: .branch("master")) + .remote(url: "https://github.com/team-aliens/Moya.git", requirement: .branch("master")), + .remote(url: "https://github.com/onevcat/Kingfisher.git", requirement: .upToNextMajor(from: "7.0")) ], baseSettings: .settings( configurations: [