lucgian841
lucgian841

Reputation: 2002

Xcode 13.2.1 unable to resolve Swift Package Manager

In my app I use several of SPM, I inserted them to my project. Yesterday I updated my Xcode to the last version (13.2.1), but I'm having lot of issues with SPM. Usually when I switch a branch or change a version of Xcode I clean all by using command+shift+k. I did the same with the new release of Xcode, but I'm having lots of issue by resolving SPM, as you can see in this image

enter image description here

all of my package are fetched but not resolved. This is a very big problem because in this condition I can't compile my app. There's a way to fix this issue? There's someone who has the same problem like me? I'm getting crazy about this. Thank you

Upvotes: 14

Views: 25277

Answers (9)

Emirhan Karahan
Emirhan Karahan

Reputation: 140

I always face with this issue and solve it by resetting or resolving packages. Sometimes clearing derived data or reopening Xcode works just fine. However this time my issue didn't solved by these. The problem was a misconfigured swift package. After deleting the broken package, everything went back to normal.

So If solutions above not working, check your packages.

enter image description here

Upvotes: 0

return true
return true

Reputation: 7916

For me, the issue was that I had no longer a GitHub account under Settings > Accounts.

Upvotes: 1

niks
niks

Reputation: 554

Was facing the similar issue with our custom frameworks.

Updating the swift tool version from // swift-tools-version:5.2 to // swift-tools-version:5.3 in the package.swift fixed the issue for me.

Upvotes: 0

Mozahler
Mozahler

Reputation: 5303

Using Xcode 14.2, I:

  • cleaned the build folder
  • closed the project
  • created a workspace in the same project base folder
  • dragged the .xcodeproj file into the workspace
  • waited until it loaded all the packages and finished creating the indexes built the project

all warnings went away.

Upvotes: 0

Nouru Muneza
Nouru Muneza

Reputation: 77

For me I added the package anyway and then clicked on File > packages > Reset package caches

Upvotes: 2

Samantha
Samantha

Reputation: 849

What worked for me was following these steps in Xcode

  1. File > Packages > Reset Package Caches
  2. File > Packages > Resolve Package Versions

Upvotes: 8

Muhammad Fauzi Masykur
Muhammad Fauzi Masykur

Reputation: 2242

For me,

  1. hit Cmd + q to totally quit Xcode
  2. Wait several seconds to make sure Xcode is completely closed.
  3. Re-Open Xcode.

Upvotes: 0

David Hoerl
David Hoerl

Reputation: 41652

I just spent two days on this same issue, and finally got my rather long list of packages to resolve and build. I just can't believe Apple can't fix this. If we could just update one package at a time we could slowly get everything to work. In any case, I just made notes to my team of what I did to finally get all packages to resolve:


If Xcode struggles to resolve them, the solution is complicated and must often be done multiple times (Xcode 13.2.1):

  • close the project
  • quit Xcode
  • delete every folder in the Derived folders, then in Finder delete Trash
  • cd to the folder containing the MyProject.xcodeproj and run: xcodebuild -resolvePackageDependencies -project MyProject.xcodeproj -scheme MyScheme -platform="iOS, name:'Any iOS Device'"
  • open Xcode
  • open the project

Some projects may not resolve or have errors (little red "x"s on the right side). Not good but may be solvable:

  • use Xcode "File" -> "Packages" -> "Resolve Packages"
  • alternately, close the project, then reopen it.

You will probably get some warnings when running xcode build, I get:

--- xcodebuild: WARNING: Using the first of multiple matching destinations:
{ platform:macOS, arch:arm64, variant:Designed for [iPad,iPhone], id:xxx-xxx }
{ platform:iOS, id:dvtdevice-DVTiPhonePlaceholder-iphoneos:placeholder, name:Any iOS Device }
{ platform:iOS Simulator, id:dvtdevice-DVTiOSDeviceSimulatorPlaceholder-iphonesimulator:placeholder, name:Any iOS Simulator Device }
...

Once you get to a stable position, with no errors and all packages showing version numbers, you should be good for the long haul.

IMPORTANT: occasionally you need to update the minimum version shown in the Project -> Package Dependencies, to reflect the existing Package release (which you may see from the left Xcode panel, or by visiting the Packages github site. If they are too old you may have problems resolving after you wipe the Derived Folder (for some other reason, maybe Package Format changed?)

Upvotes: 27

Noman Haroon
Noman Haroon

Reputation: 193

These Steps work for me on XCode 13:

  1. Clear derived data
  2. Quit XCode
  3. Open XCode Again
  4. Wait for Indexing | Processing files
  5. Build (This will fail most probably)
  6. Wait for packages to resolve
  7. Clean Project
  8. Build.

Also if you have errors on local packages, then just try to build them individually.

Hopefully it will help

Upvotes: 2

Related Questions