exercism / swift

Exercism exercises in Swift.
https://exercism.org/tracks/swift
MIT License
114 stars 158 forks source link

Local testing on Mac not working (fix inside) #760

Open kempsu opened 4 months ago

kempsu commented 4 months ago

A common error is occuring because of incorrect SDK paths.

$ swift test
warning: could not determine XCTest paths: terminated(1): /usr/bin/xcrun --sdk macosx --show-sdk-platform-path output:
    xcrun: error: unable to lookup item 'PlatformPath' from command line tools installation
    xcrun: error: unable to lookup item 'PlatformPath' in SDK '/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk'

error: XCTest not available

You can fix this error as followed:

$ xcrun --show-sdk-path --sdk macosx

You might get this result:

/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk

Now change the default SDK location by invoking the following command:

$ sudo xcode-select -switch /Applications/Xcode.app/Contents/Developer

If that also does not work, please take a look inside the regular SDK path:

$ ls -lat /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/

Normally you should see the SDKs inside this directory. If not, you'll need to download the SDKs first.

meatball133 commented 4 months ago

I am not really sure what this issue has to do with this repo? Feels like a swift issue or xcode issue. I use Swift frequently on Linux which have worst support than mac and xctest is builtin into the swift package and also which swift version do you use?

kempsu commented 4 months ago

I wanted to raise the potential issue with the docs of the Swift track, sorry if that wasn't clear. The issue might have occured on my system because I also installed the XCode 16 Beta in parallel.

I am using the following swift version: swift-driver version: 1.90.11.1 Apple Swift version 5.10 (swiftlang-5.10.0.13 clang-1500.3.9.4) Target: arm64-apple-macosx14.0