与Git difftool一起使用时的FileMerge错误消息

16

我在Git中使用FileMerge作为difftool工具。最近,我开始收到一个奇怪的错误信息:

Unable to load platform at path /Applications/Xcode.app/Contents/
   Developer/Platforms/iPhoneOS.platform

FileMerge仍然可以很好地执行差异比较(虽然它需要更长的加载时间)。你有任何想法是什么原因造成的,以及如何解决?

FileMerge仍然可以正常执行差异比较(尽管加载时间稍长)。你知道是什么原因导致了这个问题吗?如何解决?


SVN也是一样的。你是否使用opendiff的包装器(如fmdiff)? - surlac
@surlac - 不,只是普通的vanilla opendiff。 - eykanal
这里使用hg同样也是如此。 - speciousfool
顺便说一句,更新到最新版本的XCode后,所有这些问题都消失了。 - eykanal
6个回答

3

在使用FileMerge作为svnX的diff工具时,我遇到了完全相同的问题。下面的命令解决了我的问题:

sudo xcode-select -switch /Applications/Xcode.app/Contents/Developer/

这就是全部。


1

为了进一步解释user3761183的回答,经过一些谷歌搜索后,我运行了以下命令:

sudo plutil -convert xml1 /Applications/Xcode.app/Contents/Developer/Platforms/*.platform/Info.plist

那就解决了所有关于“无法在路径/Applications/Xcode.app/Contents/Developer/Platforms/AppleTVOS.platform加载平台”的错误。但我仍然会遇到以下错误:
无法加载'/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/Library/Xcode/Specifications/Core Build System.xcspec'。原因:Error Domain=NSCocoaErrorDomain Code=3840 "Unexpected character b at line 1" UserInfo={NSDebugDescription=Unexpected character b at line 1, kCFPropertyListOldStyleParsingError=Error Domain=NSCocoaErrorDomain Code=3840 "Unexpected ';' or '=' after key at line 1" UserInfo={NSDebugDescription=Unexpected ';' or '=' after key at line 1}}。
但是,如果您最初没有遇到这些问题,则上述命令应该可以解决您的问题。
编辑:删除有关未起作用的“安装其他所需组件”的评论。下一个猜测是像Jonathan F建议的重新安装XCode。
顺便说一句,我已经尝试过sudo xcode-select -switch /Applications/Xcode.app/Contents/Developer/,但也没什么用。

0

我使用XCode进行$ git mergetool,并且遇到了类似的错误。对我来说,这与XCode的组件/模拟器和文档有关。

前往XCode -> 首选项 -> 下载,并确保您拥有最新的组件和文档。

我之所以在这里,是因为我升级到XCode 7,由于Apple Watch文档与我们的开发许可证过期相结合,我遇到了类似的错误...


0
对我来说,将所有的*.platform/Info.plist从二进制转换为xml1解决了问题。很奇怪...

1
欢迎来到Stack Overflow!请阅读“我该如何撰写优质答案?”(http://stackoverflow.com/help/how-to-answer) - Scott Solmer

0

这似乎也是Mercurial的问题:无法加载路径处的平台

如果您不开发iOS,可以删除该文件夹。 如果您需要,则必须重新安装XCode(除非您能够找出如何仅重新安装该平台)。

我认为最好重新安装XCode,因为有一些其他涉及平台问题的SO问题(虽然不是特别的),它们似乎都指向重新安装XCode:

XCODE无法加载平台

Xcode无法打开:“Mac OS X平台丢失”

...所以开始重新安装并去喝杯啤酒吧!


0
关于Jim在他的答案中提到的问题,涉及到“第1行意外字符b”的错误,我发现错误消息指定的路径下的/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/Library/Xcode/Specifications/文件夹中的Core Build System.strings和Native Build System.strings文件都是某种二进制格式。解析器不希望出现这种情况,并抱怨单词bplist中的字符b打开文件。也许像OP所问的“平台问题”一样玩弄plutil可以帮助解决问题。我只是用Xcode 6 dmg版本中的ASCII格式替换了这两个文件,问题就消失了。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接