Post not yet marked as solved
Post marked as unsolved with 4 replies, 481 views
I am trying to add a Mac command line tool target to an existing SwiftUI project, and use the swift-argument-parser framework in that command line tool.
I get build errors after adding the swift-argument-parser to my project.
Here are the minimum reproducible example steps that trigger this problem:
Create new Multiplatform app “Test”
File>New>Target macOS command line tool named “TestCmd”
Select Scheme “TestCmd” and verify that it runs successfully.
Select TestCmd target
File>Add Package dependencies>swift-argument-parser
Add both ArgumentParser and generate-manual packages to TestCmd target
Run from TestCmd scheme.
This yields a whole stream of errors:
Library not loaded:
@rpath/ArgumentParser.framework/Versions/A/ArgumentParser
Reason: tried:
‘/Library/Developer/Xcode/DerivedData/Test-hjtkgtqoywzwinaakrcdvgycyxhx/Build/Products/Debug/ArgumentParser.framework/Versions/A/ArgumentParser'
(no such file),
‘/Library/Developer/Xcode/DerivedData/Test-hjtkgtqoywzwinaakrcdvgycyxhx/Build/Products/Debug/PackageFrameworks/ArgumentParser.framework/Versions/A/ArgumentParser'
(code signature in <9CBB1F37-8A3F-32FC-9744-3108CEF0D6A5>
‘/Library/Developer/Xcode/DerivedData/Test-hjtkgtqoywzwinaakrcdvgycyxhx/Build/Products/Debug/PackageFrameworks/ArgumentParser.framework/Versions/A/ArgumentParser'
not valid for use in process: mapping process and mapped file
(non-platform) have different Team IDs),
'/Library/Developer/Xcode/DerivedData/Test-hjtkgtqoywzwinaakrcdvgycyxhx/Build/Products/Debug/PackageFrameworks/ArgumentParser.framework/Versions/A/ArgumentParser'
(code signature in <9CBB1F37-8A3F-32FC-9744-3108CEF0D6A5>
'/Library/Developer/Xcode/DerivedData/Test-hjtkgtqoywzwinaakrcdvgycyxhx/Build/Products/Debug/PackageFrameworks/ArgumentParser.framework/Versions/A/ArgumentParser'
not valid for use in process: mapping process and mapped file
(non-platform) have different Team IDs),
'/System/Volumes/Preboot/Cryptexes/OS/Library/Developer/Xcode/DerivedData/Test-hjtkgtqoywzwinaakrcdvgycyxhx/Build/Products/Debug/PackageFrameworks/ArgumentParser.framework/Versions/A/ArgumentParser'
(no such file),
'/Library/Developer/Xcode/DerivedData/Test-hjtkgtqoywzwinaakrcdvgycyxhx/Build/Products/Debug/PackageFrameworks/ArgumentParser.framework/Versions/A/ArgumentParser'
(code signature in <9CBB1F37-8A3F-32FC-9744-3108CEF0D6A5>
'/Library/Developer/Xcode/DerivedData/Test-hjtkgtqoywzwinaakrcdvgycyxhx/Build/Products/Debug/PackageFrameworks/ArgumentParser.framework/Versions/A/ArgumentParser'
not valid for use in process: mapping process and mapped file
(non-platform) have different Team IDs),
'/System/Volumes/Preboot/Cryptexes/OS~/Library/Developer/Xcode/DerivedData/Test-hjtkgtqoywzwinaakrcdvgycyxhx/Build/Products/Debug/PackageFrameworks/ArgumentParser.framework/Versions/A/ArgumentParser'
(no such file)
Searching on the string "not valid for use in process: mapping process and mapped file (non-platform) have different Team IDs" yields some posts about signing a Mac product for distribution on Apple's developer forums.
I will eventually want to code sign the command line tool target so I can share it/distribute it on the App Store, but for now, I just want to develop the @#$@#$ command locally.
Question: How do I add the swift-argument-parser SPM package to my nascent command line tool so I can start writing my command?
I can upload the above minimum project to GitHub if it would be helpful, but it takes less than a minute to reproduce the errors above.
(I'm using Xcode 15.0, running on an M2 Mac with macOS Sonoma 14.0, if that matters.)