2012-09-27 94 views
46

装载平台在使用filemerge解决HG冲突,我得到了下面错误无法在路径

FileMerge[18002:707] Unable to load platform at path 
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform 
+0

对于那些开发iPhone应用程序的人来说,是否有解决方案? – Quantum7

回答

21

我在Git中相同FileMerge警告。当我看看Xcode的首选项时,我可以看到iPhoneSimulator和iPhoneOS平台都没有安装,但是当查看“/Applications/Xcode.app/Contents/Developer/Platforms”时,目录确实存在。

我没有为iOS开发,所以我删除了iPhoneOS.platform和iPhoneSimulator.platform,警告消失了。

如果您确实需要这些平台,请尝试从Xcode中正确地重新安装它们。

+1

我建议最初重新命名必要的文件,看看这是否解决了这个问题。删除(如果有的话),当你确定。 – Matt

+1

是的,它的工作原理,谢谢!不过,路径可能有所不同。我的情况我不得不删除'/ Applications/Xcode.app/Contents/Developer/Platforms/iPhone *'。 – katspaugh

+1

@Matt:我同意删除东西时应该谨慎,特别是在终端中,因为没有垃圾箱,您可以从那里取回东西,与Finder不同。 但是,重命名不起作用。它只是给出了与新名称相同的错误信息。你可以做的是'cd /Applications/Xcode.app/Contents/Developer/Platforms/; sudo mkdir移动了IosStuff; sudo mv iPhone * movedIosStuff' – Nagel

3

我面临同样的问题下面的命令解决我的问题:

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

这对我不起作用,之后我仍然收到相同的错误信息。这个命令应该做什么? – Nagel

+2

这设置活动的开发人员目录。但是,该问题表明该目录存在,所以显然开发者目录已经设置。这个命令什么都不做。 – Quantum7

6

我试图从binary将所有*.platform/Info.plistxml1,它解决了这一问题。奇怪...

10

而我试图将iPhoneSimulator.platform/Info.plist从二进制转换为xml,证实Filemerge不会再产生错误。然后我将它转换回二进制文件,但Filemerge仍然很好。

$ cd /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform 
$ sudo plutil -convert xml1 Info.plist 
$ sudo plutil -convert binary1 Info.plist 

声明:灵感来自@ user3761183!

+0

这也适用于我,并且是侵入性最小的选项。 – peteorpeter

+4

在我的情况下,将文件转换回二进制文件恢复了错误信息。将它们保持为XML将消息保留。 –

+0

转换为XML对我来说暂时有效(当然可以保证1天以上),但它总是会重置,所以我必须在某一时刻再次执行。现在已经完成了这么多次,我正在寻找一个更持久的解决方案。 – piersb

3

这个问题对我来说有一个简单的解决方案。我只是启动了Xcode并创建了一个iOS游乐场项目。 Xcode让我在Mac上启用开发者模式,这是我做的。然后我关闭了Xcode,删除了该项目,并且filemerge错误不再存在。

运行Xcode版本6.2

+1

*这是*要走的路! 10.10.3可以正常工作。 – atamanroman

+2

不适用于我。 10.11.3上的Xcode 7.3。 – piersb