当前位置: 代码迷 >> Iphone >> Xcode更新, 各种插件适配有关问题
  详细解决方案

Xcode更新, 各种插件适配有关问题

热度:212   发布时间:2016-04-25 05:30:52.0
Xcode更新, 各种插件适配问题

每次Xcode 更新都要对每个插件进行添加UUID的操作,实在太麻烦了,就写了个小程序,只需要运行一下本程序,再重启一下Xcode,之前安装的各种插件就都能工作了,非常方便~

 

 

////  main.m//  xcplugin////  Created by Macro on 10/23/15.//  Copyright © 2015 Macro. All rights reserved.//#import <Foundation/Foundation.h>#define XCODE_PATH @"/Applications/Xcode.app/Contents/Info.plist"int main(int argc, const char * argv[]) {    @autoreleasepool {        // insert code here...                NSString *username = NSUserName();        NSString *pluginPath = [NSString stringWithFormat:@"/Users/%@/Library/Application Support/Developer/Shared/Xcode/Plug-ins", username];                NSDictionary *dictionary = [[NSDictionary alloc] initWithContentsOfFile:XCODE_PATH];        NSString *xcodeUUID = dictionary[@"DVTPlugInCompatibilityUUID"];        NSFileManager *fm = [NSFileManager defaultManager];        NSError *error;        NSArray *pathArray = [fm contentsOfDirectoryAtPath:pluginPath error:&error];        if (error) {            NSLog(@"路径错误");            return 0;        }        for (NSString *name  in pathArray) {            if ([name hasSuffix:@".xcplugin"]) {                NSString *pluginPlistPath = [NSString stringWithFormat:@"%@/%@/Contents/Info.plist", pluginPath, name];                NSDictionary *dictionary = [[NSDictionary alloc] initWithContentsOfFile:pluginPlistPath];                NSMutableArray *arr = [NSMutableArray arrayWithArray:dictionary[@"DVTPlugInCompatibilityUUIDs"]];                                if (![arr containsObject:xcodeUUID]) {                    [arr addObject:xcodeUUID];                    [dictionary setValue:arr forKey:@"DVTPlugInCompatibilityUUIDs"];                    [dictionary writeToFile:pluginPlistPath atomically:YES];                }            }        }    }    NSLog(@"XCode适配已成功,所有插件都可以正常使用了~");    return 0;}

 

  

 

1楼海龙辉
这个程序在xcode上要建一个什么样的工程去运行呢??初学者请原谅我的无知!!!
  相关解决方案