diff --git a/Sources/XcodeVersionManager/Commands/DownloadCommand.swift b/Sources/XcodeVersionManager/Commands/DownloadCommand.swift index 646936a..434cfef 100644 --- a/Sources/XcodeVersionManager/Commands/DownloadCommand.swift +++ b/Sources/XcodeVersionManager/Commands/DownloadCommand.swift @@ -50,9 +50,9 @@ struct DownloadCommand: AsyncParsableCommand { } .sorted { lhs, rhs in if preferUniversal { - lhs.download.architectures.count > rhs.download.architectures.count + lhs.download.isUniversal && !rhs.download.isUniversal } else { - lhs.download.architectures.count < rhs.download.architectures.count + !lhs.download.isUniversal && rhs.download.isUniversal } } diff --git a/Sources/XcodeVersionManager/Models/XcodeRelease.swift b/Sources/XcodeVersionManager/Models/XcodeRelease.swift index cdcab27..52dbc11 100644 --- a/Sources/XcodeVersionManager/Models/XcodeRelease.swift +++ b/Sources/XcodeVersionManager/Models/XcodeRelease.swift @@ -9,6 +9,10 @@ struct XcodeRelease { struct Download: Equatable { let architectures: [Architecture] let url: URL + + var isUniversal: Bool { + architectures.count == 2 || architectures.count == 0 + } } struct Version: Equatable {