DVTPlugInManager: Required plug-in compatibility not present - xcode

Keep seeing this error log from the terminal when pushing to git repo lately. I think it is due to fact that I updated to Xcode 9.2 or macOS High Sierra.
2017-11-29 07:49:30.580 xcodebuild[1558:49212] [MT] DVTPlugInManager: Required plug-in compatibility UUID C3998872.. for KSImageNamed.ideplugin (com.ksuther.KSImageNamed) not present
Any idea what it means and how to resolve this?

It sounds like you have an old Xcode plugin installed. I had this same error and I found the old plugin located in
~/Library/Developer/Xcode/Plug-ins/
The file name was KSImageNamed.ideplugin
I'd recommend deleting the file.

Related

XCode standard C++ headers suddenly not found before installing OSX update

I have a C++ project that have been compiling fine until now, I did not install any update of my system or XCode but I get this error:
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/wchar.h:123:15: fatal error: 'wchar.h' file not found
This file does exist on my system, so I suppose it's the CMake env paths that are no longer set up properly in the console?
Edit: if I clean my build dir and regenerate the whole CMake project, it is working again, but I still find this behaviour very unpleasant.
This has happened just when there was an available update for MacOS 13.0, and probably XCode updates going with it. But I did not install any of them yet, and my compilation is already broken.
What is happening so that the dev env is changed anyway?
I remember I had likewise issues last time there was an OS update.
Is any configuration needed to "secure" a dev env on MacOS?
Are all OS updates going to screw my XCode includes etc?

Error Compiling Publish (Sundell) from Manifest File

TLDR;
I installed John Sundell's Publish according to the accepted practices and immediately get an error when I try to build my site package. How do I successfully install the product?
After cloning the publish package:
git clone https://github.com/JohnSundell/Publish.git
I cd'd into the Publish folder and ran:
make
which created an executable at /usr/local/bin/publish
I opened a new terminal window, created a directory using mkdir Saturday and then cd'd into that folder. I typed publish new and was successful:
✅ Generated website project for 'Saturday'
Run 'open Package.swift' to open it and start building
When I open the manifest file (Package.swift) and type cmd-S (Save) it imports all the necessary packages, and everything looks good to go.
When I type cmd-B (Build), however this error message comes up:
The package product 'CollectionConcurrencyKit' requires minimum platform version 13.0 for the iOS platform, but this target supports 11.0
When I look at the clone/install of Publish I see:
Computing version for https://github.com/johnsundell/collectionConcurrencyKit.git
Computed https://github.com/johnsundell/collectionConcurrencyKit.git at 0.1.0 (0.37s)
Notice it says version 0.1.0. In the generated package for my site, it retrieves version 0.2.0. I don't know if that's an issue.
But not one other Package.swift file in all the fetched dependencies mentions iOS.
I have this line in my Package.swift
platforms: [.macOS(.v12)],
So I know I haven't added this dependency on iOS inadvertently, so I don't understand the error message.
I'm running macOS Monterey 12.6 on Xcode 14.0 (14A309) - both are the most recent release versions available.
The hardware is: MacBook Pro (16-inch, 2021) using the Apple M1 Pro chip
If I'm leaving anything out, please comment and I'll provide more detail.
This is a slap your forehead 🤦🏽‍♂️ kind of thing here.
It turns out that when I opened the Package.swift it defaulted to an iOS scheme that I had just been using. I updated the scheme to a macOS based one, the problem went away. Now I understand the source of the iOS error. Apparently the two versions of ConcurrencyKit is a red herring.
Hope this helps others! Always check your target when compiling.

Error exporting Xcode archive since version 13.2.1

We have been getting an error in exporting an archive since the release of Xcode 13.2.1, and are also seeing it in 13.3. (13.1 works great)
The error is:
Reached end of file while looking for: Mach-O slice.
I get this when exporting on our jenkins/fastlane server as well on my development machine.
Curious if anyone has found a solution for this?
It can be an internal issue with malformed library files, try to reload it.
You can try: export_xcargs: "-allowProvisioningUpdates"

Create custom Platform and SDK for Xcode 8.3+

I'm trying to create a custom .platform and SDK in Xcode 8.3 and higher.
I am ultimately attempting to update the old DarwinBuild build system so that I can compile a few of the Apple open source components. DarwinBuild used to use this technique in order to be able to compile against a different set of headers and libraries without having to chroot.
DarwinBuild includes a setup script, installXcode32, that creates a new .platform under Xcode's Developer/Platforms directory, and a new sdk under the platform's Developer/SDKs directory. It also creates an Info.plist and SDKSettings.plist in the right spots. This script needs some updating to work with Xcode 8.3.
I know this is unsupported, but that doesn't matter in this case. After all, Apple published the original script...
I updated the original installXcode32 script to work with the new Xcode paths (/Applications/Xcode.app/Contents/...), and it produces the new .platform, Info.plist, and SDKSettings.plist, and they're all symlinked to the right spots. However, xcodebuild -showsdks now produces this error:
xcodebuild: error: Initialization failed.
Reason: Required content for platform darwin is missing.
I know it's an issue with the Info.plist and SDKSettings.plist files. I have tried copying the entire MacOSX.platform directory, and changing the names in the .plist, and I get the same error.
Does anyone know enough about Xcode and platforms to know what is required to get Xcode 8.3+ to recognize a "new" Platform and sdk?
Many thanks!
I have successfully done this with Xcode 9.4, pretty much like you did. I changed:
CanonicalName
PLATFORM_NAME
DisplayName

Jenkins vs. Xcode plugin - codesign troubles

I have updated to OS X Yosemite and also Xcode 6.1 (downloaded from the developer site), from this time I have had the problem with the building as in the log file I see the note "Warning: --resource-rules has been deprecated in Mac OS X >= 10.10!". Does someone know how to use Xcode plugin without "resource-rules" flag? Thank you.
Everything is ok with Jenkins plugin. Just product settings is incorrect.
Open the "Build Settings" tab of your project. Searched "Code Signing Resource Rules Path", it was empty for me. Change to: $(SDKROOT)/ResourceRules.plist
credits goes to Adams Blair who described this problem with SDK2.2
https://stackoverflow.com/a/7919137/2124345
Update
This solution doesn't remove the warning itself. But i'm pretty sure that warning isn't a problem. The problem is that without this setting ResourceRules.plist files isn't generated in Payload folder, and build process stops because file is missing.
And again, it's not related with jenkins plugin at all. Same error happens with xcrun -sdk iphoneos PackageApplication. Jenkins just calling this command line as a build step.
The answer provided by Julius Lisauskas will resolve the warning, but it is actually just a workaround for a bug that exists in the Jenkins Xcode plugin xcrun.
As mentioned in Apple Technical Note TN2206:
Systems before OS X Mavericks documented a signing feature
(--resource-rules) to control which files in a bundle should be sealed
by a code signature. This feature has been obsoleted for Mavericks.
Code signatures made in Mavericks and later always seal all files in a
bundle; there is no need to specify this explicitly any more. This
also means that the Code Signing Resource Rules Path build setting in
Xcode should no longer be used and should be left blank.
It is thus no longer possible to exclude parts of a bundle from the
signature. Bundles should be treated as read-only once they have been
signed.
There is an issue raised on the Jenkins Xcode plugin regarding this bug that concludes the bug lies in Xcrun.
As specified in another answer, you can also just not specify the distribution certificate to sign with and it will package correctly.

Resources