# Restoring old Xcode plug-ins after a version update

Language: en
Canonical: [Restoring old Xcode plug-ins after a version update](<https://allluckly.cn/en/journal/2016-02-19-restoring-old-xcode-plug-ins-after-a-version-update/>)
中文：[中文 HTML](<https://allluckly.cn/%E6%8A%95%E7%A8%BF/tuogao23>)
English: [English HTML](<https://allluckly.cn/en/journal/2016-02-19-restoring-old-xcode-plug-ins-after-a-version-update/>)
Published: 2016-02-19T00:00:00+08:00
Modified: 2026-10-23T10:34:13+08:00
Author: 许漠颜

Documents historical fixes for plug-ins that stopped loading after an Xcode update or an accidental Skip Bundles selection. It checks compatibility UUIDs, edits plug-in Info.plist files and resets the loading choice.

Originally credited to 许漠颜; edited and archived by Bison.

[Source listed in the original](<http://www.jianshu.com/p/875926697402>)

English translation of the [Chinese original](<https://allluckly.cn/%E6%8A%95%E7%A8%BF/tuogao23>), translated on 2026-10-23. The article body uses automated translation; app descriptions, historical reading notes and video subtitles receive separate editorial checks. Original publication dates, attribution, code and version notes are retained.

**Before you read** This technical note dates from 2015–2017. The examples have not been rerun as part of this archive update. Compares Xcode 7.1, 7.2 and 7.2.1 and concerns the plug-in loading mechanism used at the time.

Editor: [Bison](<https://allluckly.cn/en/>)  
 Contributor: [许漠颜](<http://www.jianshu.com/p/875926697402>)

> “I am a beginner and have never written a plugin, so I do not know why plugins stop working after every update. Based on the required changes, I suspect different versions have different uuids. I compared Xcode 7.1 and 7.2, and their uuids were indeed different.”

Issues:  
 (1) Plugins stop working after an Xcode update.

(2) Accidentally selecting Skip Bundles instead of Load Bundles when restarting Xcode.

Issue (1): I am a beginner and have never written a plugin, so I do not know why plugins stop working after every update. Based on the required changes, I suspect it relates to different uuids for different versions. I compared Xcode 7.1 and 7.2, and their uuids were indeed different. However, the recent 7.2.1 update has the same uuid as 7.2, yet the problem remains. I therefore do not know whether uuid is actually the cause. If you know, please reply.

Issue (2): after configuring the uuid in the plugin's DVTPlugInCompatibilityUUIDs, restarting Xcode presents Load Bundles and Skip Bundles once. Naturally, selecting Skip Bundles leaves the plugin unavailable.

Solution to issue (1): first, open the terminal and enter:

```
defaults read /Applications/Xcode.app/Contents/Info.plist DVTPlugInCompatibilityUUID
```

to obtain the uuid. Then go to

```
~/Library/Application Support/Developer/Shared/Xcode/Plug-ins
```

directory, find the desired plugin, choose Show Package Contents → Contents → Info.plist, and add the obtained uuid under DVTPlugInCompatibilityUUIDs.

Solution to issue (2): similarly, obtain the Mac's uuid, remove the matching entry under DVTPlugInCompatibilityUUIDs, and add the uuid again.

Restarting Xcode should then restore the plugins. However, this method becomes troublesome when many plugins are installed.

Simpler approach: the first case occurs after updating Xcode. Open the terminal and enter

```
    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`（注意的是我们在打开Xcode的情况下输入命令，然后重新启动Xcode）。
```

Simpler approach: the second case occurs after completing the first procedure but accidentally clicking skip bundles on restart. Open the terminal and enter

```

find ~/Library/Application\ Support/Developer/Shared/Xcode/Plug-ins -name Info.plist -maxdepth 3 | xargs -I{} defaults delete {} DVTPlugInCompatibilityUUIDs

```

Then restart Xcode and run

```

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`

```

command, then restart Xcode once more.

Explanation of the command line:

```

find ~/Library/Application\ Support/Developer/Shared/Xcode/Plug-ins -name Info.plist 找到目录Plug-in下名字Info.plist的文件

-maxdepth 3 |寻找的范围是三层文件夹<br>

xargs -I{} 将得到的info.plist文件的集合复制给{}<br>

defaults delete {} DVTPlugInCompatibilityUUIDs 删除掉plist文件下的DVTPlugInCompatibilityUUIDs参数


defaults write {} DVTPlugInCompatibilityUUIDs -array-add ''在DVTPlugInCompatibilityUUIDs Array下添加key


defaults read /Applications/Xcode.app/Contents/Info.plist DVTPlugInCompatibilityUUID 获取Mac的uuid

```

Some explanations here may be inaccurate, but following these steps will restore the plugins.

You can also use defaults write, defaults read, and defaults delete to work with other files on the Mac.

---

Recommended reading: [Preparing an iOS app for Apple Pay](<https://allluckly.cn/en/journal/2016-02-18-preparing-an-ios-app-for-apple-pay/>)

