diff --git a/lib/modules/versioning/swift/index.spec.ts b/lib/modules/versioning/swift/index.spec.ts
index b1282c6a55a87466bd65eac9c7deaab9a7804b30..9052516ec57fba437b49430cccdb0a3ea0bd484f 100644
--- a/lib/modules/versioning/swift/index.spec.ts
+++ b/lib/modules/versioning/swift/index.spec.ts
@@ -15,6 +15,8 @@ describe('modules/versioning/swift/index', () => {
     version            | expected
     ${'from: "1.2.3"'} | ${false}
     ${'1.2.3'}         | ${true}
+    ${'v1.2.3'}        | ${true}
+    ${'a'}             | ${false}
   `('isVersion("$version") === $expected', ({ version, expected }) => {
     expect(!!isVersion(version)).toBe(expected);
   });
@@ -99,6 +101,7 @@ describe('modules/versioning/swift/index', () => {
   it.each`
     version     | range           | expected
     ${'1.2.3'}  | ${'1.2.3'}      | ${true}
+    ${'v1.2.3'} | ${'1.2.3'}      | ${true}
     ${'1.2.4'}  | ${'..."1.2.4"'} | ${true}
     ${'v1.2.4'} | ${'..."1.2.4"'} | ${true}
     ${'1.2.4'}  | ${'..."1.2.3"'} | ${false}
diff --git a/lib/modules/versioning/swift/index.ts b/lib/modules/versioning/swift/index.ts
index a67d5699cc7678ba7aa1275ef0fe794cc002edb6..93510c78eaab6505c88af55c6b1b46408190199a 100644
--- a/lib/modules/versioning/swift/index.ts
+++ b/lib/modules/versioning/swift/index.ts
@@ -63,7 +63,7 @@ function isLessThanRange(version: string, range: string): boolean {
 
 function matches(version: string, range: string): boolean {
   // Check if both are an exact version
-  if (valid(range) && version === range) {
+  if (isVersion(range) && equals(version, range)) {
     return true;
   }
   const semverRange = toSemverRange(range);