【发布时间】:2014-03-11 11:24:17
【问题描述】:
我已将 xcode 更新到 5.1 版。 而且我所有的插件都不起作用。
当我再次安装它们时,我没有看到任何错误日志。
如何检测安装处理的结果?
我正在使用
Alcatraz.xcplugin
CocoaPods.xcplugin
KSImageNamed.xcplugin
XAlign.xcplugin
我认为 xcode 5.1 存在一些问题,因为我所有的插件仍然可以在 xcode 5.0.1 上运行
【问题讨论】:
我已将 xcode 更新到 5.1 版。 而且我所有的插件都不起作用。
当我再次安装它们时,我没有看到任何错误日志。
如何检测安装处理的结果?
我正在使用
Alcatraz.xcplugin
CocoaPods.xcplugin
KSImageNamed.xcplugin
XAlign.xcplugin
我认为 xcode 5.1 存在一些问题,因为我所有的插件仍然可以在 xcode 5.0.1 上运行
【问题讨论】:
根据 Tuan Do 所说的(谢谢!):
library/Application Support/Developer/Shared/Xcode/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
打开终端并粘贴以下内容:
defaults read /Applications/Xcode.app/Contents/Info DVTPlugInCompatibilityUUID
【讨论】:
我像这样编辑了 Info.plist 文件:
将A2E4D43F-41F4-4FB9-BB94-7177011C9AED 添加到密钥DVTPlugInCompatibilityUUIDs
它适用于 CocoaPods,Dash 插件。我正在和其他人一起尝试。
希望它对你有用!
来源: https://github.com/omz/Dash-Plugin-for-Xcode/commit/989b3aad46f5a30efacd7c23432ce7343d84cc58
【讨论】:
您应该将 XCode 的当前 UUID 添加到插件的 DVTPlugInCompatibilityUUID 中以使插件工作,使用此命令:
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每个插件的Info.plistdefault read XCode 的当前 UUIDdefault write XCode 的当前 UUID 到插件的 DVTPlugInCompatibilityUUIDs 中【讨论】:
我创建了一个简单的 shell 脚本,将提供的 UUID 添加到所有已安装的插件中:
#!/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
【讨论】:
【讨论】:
发生这种情况时,退出 XCode,打开终端并输入:
tail -f /var/log/system.log
然后再次打开 XCode。如果任何插件存在兼容性问题,您会看到类似这样的日志:
[MT] PluginLoading:路径 '~/Library/Application Support/Developer/Shared 的插件所需的插件兼容性 UUID C4A681B0-4A26-480E-93EC-1218098B9AA0 DVTPlugInCompatibilityUUIDs
中不存在 /Xcode/Plug-ins/Lin.xcplugin'因此,解决兼容性问题所需要做的就是将记录的 UUID 添加到损坏的插件的 Info.plist 文件中,分组在 DVTPlugInCompatibilityUUIDs 键处(在上面的示例中,C4A681B0 -4A26-480E-93EC-1218098B9AA0)
您可能会在每个新的 XCode 版本中都这样做,因为 Apple 不正式支持插件。
【讨论】: