The plugin didn't work on xcode 5.1 - plugins

I've updated xcode to version 5.1.
And all my plugins didn't work.
I didn't see any error log when I install them again.
How can I detect result of installing processing?
I'm using
Alcatraz.xcplugin
CocoaPods.xcplugin
KSImageNamed.xcplugin
XAlign.xcplugin
I think there's some problem with xcode 5.1 because all my plugins still work on xcode 5.0.1

Based on what Tuan Do said (THANK YOU!):
navigate to your plugins folder (library/Application Support/Developer/Shared/Xcode/Plug-ins)
Right click on the plug in and select show package contents
Open the info.plist file and find the DVTPlugInCompatibilityUUIDs and expand that section.
Click the + button and paste the UUID from above.
Save the file and restart Xcode.
Your plugins will appear again.
Repeat for any plug ins.
Xcode 6 UUID
C4A681B0-4A26-480E-93EC-1218098B9AA0
Xcode 6.2 UUID
A16FF353-8441-459E-A50C-B071F53F51B7
Xcode 6.3 UUID
9F75337B-21B4-4ADC-B558-F9CADF7073A7
Xcode 6.3.2 UUID
E969541F-E6F9-4D25-8158-72DC3545A6C6
Xcode 7.3 UUID
ACA8656B-FEA8-4B6D-8E4A-93F4C95C362C
How to find the UUID?
Open Terminal and paste the following:
defaults read /Applications/Xcode.app/Contents/Info DVTPlugInCompatibilityUUID

I edited Info.plist file like this:
Add A2E4D43F-41F4-4FB9-BB94-7177011C9AED into key DVTPlugInCompatibilityUUIDs
It works for CocoaPods, Dash plugin. I'm trying with others.
Hope it works for you!
Source:
https://github.com/omz/Dash-Plugin-for-Xcode/commit/989b3aad46f5a30efacd7c23432ce7343d84cc58

You should add current UUID of XCode into plugin's DVTPlugInCompatibilityUUIDs to make plugin work, use this command:
find ~/Library/Application\ Support/Developer/Shared/Xcode/Plug-ins -name Info.plist -maxdepth 3 | xargs -I{} defaults write {} DVTPlugInCompatibilityUUIDs -array-add `defaults read /Applications/Xcode.app/Contents/Info.plist DVTPlugInCompatibilityUUID`
find every plugin's Info.plist
default read current UUID of XCode
default write current UUID of XCode into plugin's DVTPlugInCompatibilityUUIDs

I created a simple shell script that adds supplied UUID to all installed plugins:
#!/bin/bash
cd "${HOME}/Library/Application Support/Developer/Shared/Xcode/Plug-ins"
for plugin in *.xcplugin; do
/usr/libexec/PlistBuddy -c "Add :DVTPlugInCompatibilityUUIDs: string $1" "${plugin}/Contents/Info.plist"
done

I've written an editor extension to solve this problem. Now you can fix this error by a simple click.
Download link: Dropbox

When that happens, quit XCode, open the Terminal and type:
tail -f /var/log/system.log
then open XCode again. If there is a compatibility problem with any plugin, you'll see a log like this one:
[MT] PluginLoading: Required plug-in compatibility UUID C4A681B0-4A26-480E-93EC-1218098B9AA0 for plug-in at path '~/Library/Application Support/Developer/Shared/Xcode/Plug-ins/Lin.xcplugin' not present in DVTPlugInCompatibilityUUIDs
So, what you have to do to fix compatibility problems is just add the logged UUIDs to broken plugins' Info.plist files, grouped at key DVTPlugInCompatibilityUUIDs (in the example above, C4A681B0-4A26-480E-93EC-1218098B9AA0)
You'll probably be doing this at every new XCode version since Apple does not support plugins officially.

Related

Install4j is not keeping link in prebuild JREs for MacOS

in our install4j script we are using a prebuild jre. The tar.gz file contains a link for MacOS and Linux. When installing on linux, the link is kept. When installing on MacOS (in Version 8.0.8, it did work in 8.0.4), the link is replaced by a real file.
Contents/MacOS/libjli.dylib -> ../Home/jre/lib/jli/libjli.dylib
After installing, the file Contents/MacOS/libjli.dylib is not a link any more, but a real file. It seems that the Eclipse-launcher has a problem with this, it does not start with this error:
Error: could not find libjava.dylib
Failed to GetJREPath()
If the file Contents/MacOS/libjli.dylib is changed back to a link, the Eclipse-Launcher will start again.
I have a temporary solution in my setup.install4j script to remove that file and create a link (action for both exists), but it would be nice to to modify the links in the tar.gz of a prebuild jre.
To be able to fully sign and notarize a JDK bundle on macOS, the file Contents/MacOS/libjli.dylib cannot be a symlink.
See
https://bugs.openjdk.java.net/browse/JDK-8235687
These are new requirements from Apple that have been introduced by notarization.
However, recent JDK versions fix the problems introduced by that change:
https://bugs.openjdk.java.net/browse/JDK-8238225

Xcode error while archiving: No such file or directory

I am trying to archive an App to generate an Adhoc version and I'm getting this error:
/Users/XX/Library/Developer/Xcode/DerivedData/XX-agdiwzkbuiqgyudhcwqimxlyeiqc/Build/Products/Debug-iphoneos/SQLite.swift/SQLite.framework: No such file or directory
I tried multiple solution from updating my Cocoapods to removing the Derived Data and nothing worked.
I'am using Xcode 8.2.1
If you are including frameworks or libraries in your project, make sure that you included them from the correct location. I ran into a similar situation where I was trying to embed a framework and it was pulling it from the DerivedData folder rather than the actual location.
It might be helpful to remove embedded frameworks in your Project file and then include them again. Make sure that the framework location is the actual path to the library relative to your project and not the simulator files.
How are you installing it? I guess you are using this right?
For Cocoapods are you using Xcode Beta. It seems that you need to work with the default one:
sudo xcode-select --switch /Applications/Xcode.app
If it doesn't work with cocoapods, try using it with Swift Package Manager
Ok so as SamG said, Xcode was actually pulling the SQLite.framework from the DerivedData for some reason.
Besides that, i removed the SQLite Pod and installed it manually following this
and now its working.

find project path in derived data folder in xcode 8

i have searched a lot but can not find a helpful link to find project location in derived data folder using swift in xcode 8.
Please help me regarding this issue.
You can run this in the command line using grep, and you'll have the DerivedData build folder of your project.
xcodebuild -project projectName.xcodeproj -showBuildSettings | grep -m 1 "BUILD_DIR" | grep -oEi "\/.*"
You can't get this path with Swift from your app: the "Derived Data" folder is only useful for Xcode, not for your app, which doesn't "see" it at all.
Xcode is the IDE and uses the folder when building your app - but your app is not aware of Xcode or its folders, your app is independent from the IDE.
With xCode, a simple way to the find the Derived Data path is to Build your target.
This does NOT run the target. But you can see the Derived Data folder on your machine.

Plugins don't work on xcode 6

Yeah, we have a new xcode version - xcode 6 and all old plugins don't work.
I know there is a new DVTPlugInCompatibilityUUIDs for each Xcode version and this problem will be fixed by plugin authors.
But DVTPlugInCompatibilityUUIDs is just a text, how can we find it? How can we fix without waiting for someone
Update
xcode 6.3.2: DVTPlugInCompatibilityUUIDs = E969541F-E6F9-4D25-8158-72DC3545A6C6
XCode 6.4 (6E35b): DVTPlugInCompatibilityUUIDs = 7FDF5C7A-131F-4ABB-9EDC-8C5F8F0B8A90
XCode 7.0.b2 (7A121I): DVTPlugInCompatibilityUUIDs = AABB7188-E14E-4433-AD3B-5CD791EAD9A3
Make sure your hidden folders are shown on your MAC ,
Hold Option Key and click on Go option in finder menu.
Go to Following Location -
library/Application Support/Developer/Shared/Xcode/Plug-ins
Right click on the plug in and select show package contents
Open the info.plist file and find the DVTPlugInCompatibilityUUIDs and expand that section.
Click the + button and paste the C4A681B0-4A26-480E-93EC-1218098B9AA0 .
Save the file and restart Xcode.
No Need to repeat for all plugins that are already installed to Xcode 6.
I have Xcode 6.1.1, here's what I did and it worked.
Right click on plugin file > Show Package Contents
Find and edit the Info.plist file.
In DVTPlugInCompatibilityUUIDs add the key C4A681B0-4A26-480E-93EC-1218098B9AA0 (thanks to amavi message)
Save your Info.plist file.
Then go to /Applications/Xcode.app/Contents/PlugIns folder, and copy your plugin file there (the administrator password will be required).
You can now launch Xcode and use your plugins ;-)
Run below command in Terminal. It will auto add Xcode's compatible UUID to all plugins:
find ~/Library/Application\ Support/Developer/Shared/Xcode/Plug-ins -name Info.plist -maxdepth 3 | xargs -I{} defaults write {} DVTPlugInCompatibilityUUIDs -array-add `defaults read /Applications/Xcode.app/Contents/Info.plist DVTPlugInCompatibilityUUID`
From https://gist.github.com/neonichu/9487584 use the following to get the DVTPlugInCompatibilityUUID of your Xcode version
/usr/libexec/PlistBuddy -c 'Print DVTPlugInCompatibilityUUID' "$(xcode-select -p)/../Info.plist"
For Xcode 6.2 add A16FF353-8441-459E-A50C-B071F53F51B7 to DVTPlugInCompatibilityUUIDs
xCode 6.3.2 was E969541F-E6F9-4D25-8158-72DC3545A6C6
I just check the plugins from /Applications/Xcode.app/Contents/PlugIns (Any plugin and use what they use for DVTPlugInCompatibilityUUID) and it works.
Adding more info:
The Path is to xCode app itself and within it go to Contents/PlugIns folder and you will see a bunch of plugins for xCode. Open any plugin package and go to Contents of it and open Info.plist, which will have the property DVTPlugInCompatibilityUUIDs. I did compare a couple of them and they seem to have the same so i copied that and used it which worked just fine.
XCode 6.4 (6E35b): DVTPlugInCompatibilityUUIDs = 7FDF5C7A-131F-4ABB-9EDC-8C5F8F0B8A90
XCode 7.0.b2 (7A121I): DVTPlugInCompatibilityUUIDs = AABB7188-E14E-4433-AD3B-5CD791EAD9A3

How to run phone gap with xcode4?

Since moving to XCode4, I have been getting errors like:
/VERSION: No such file or directory
cp: /javascripts/phonegap..js: No such file or directory
cp: /javascripts/phonegap..min.js: No such file or directory
error: /VERSION: No such file or directory
for projects that were working under XCode3.
Open XCodes Preferences, and navigate to Source Trees. If there is no PhoneGapLib entry there, try adding a new setting with the following values:
Setting Name: PHONEGAPLIB
Display Name: Phone Gap Lib
Path: /Users//Documents/PhoneGapLib
Note that the path should be to the location of your PhoneGapLib folder, and that it may not be in your documents folder, depending on how you installed PhoneGap.
I just learned about a great web service recently made available by Nitobi (makes of PG), which will automatically generate the necessary PhoneGap files you need for use in Xcode 4.
Just enter your project name, hit a button and they'll generate a zip file for you to download. This lets you set up a new project without messing with the command line.
You could set up a new project, then migrate your older project files over.
Did you search Google for this error?
I'm a bit of a noob with PhoneGap and Xcode still, but I know there have been recent issues with PG and Xcode 4. Perhaps you're experiencing the same issues as the commenters to this post: PhoneGap + XCode4 (and more specifically, here).