过去几个月我花了大约1500个源代码文件将我的项目转换成Swift。这真是令人难以置信的乏味,但我终于做到了。它运行良好,构建良好,但是:
当我尝试存档项目时,Xcode失败并出现以下错误:
$loginQ = mysqli_query($dbc,"UPDATE energy SET unit=('".$_POST['unit']."')
,jan=('".$_POST['jan']."'),feb=('".$_POST['feb']."'),mar=('".$_POST['mar']."')
,apr=('".$_POST['apr']."'),may=('".$_POST['may']."'),jun=('".$_POST['jun']."')
,jul=('".$_POST['jul']."'),aug=('".$_POST['aug']."'),sep=('".$_POST['sep']."')
,oct=('".$_POST['oct']."'),nov=('".$_POST['nov']."'),dece=('".$_POST['dec']."')
,giver=('".$_POST['giver']."'),note=('".$_POST['note']."')
WHERE
uname='".$uname."' AND years='".$year."' AND label='Test'
"
$loginQ2 = mysqli_query($dbc,"UPDATE energy SET unit=('".$_POST['unit2']."')
,jan=('".$_POST['jan2']."'),feb=('".$_POST['feb2']."'),mar=('".$_POST['mar2']."')
,apr=('".$_POST['apr2']."'),may=('".$_POST['may2']."'),jun=('".$_POST['jun2']."')
,jul=('".$_POST['jul2']."'),aug=('".$_POST['aug2']."'),sep=('".$_POST['sep2']."')
,oct=('".$_POST['oct2']."'),nov=('".$_POST['nov2']."'),dece=('".$_POST['dec2']."')
,giver=('".$_POST['giver2']."'),note=('".$_POST['note2']."')
WHERE
uname='".$uname."' AND years='".$year."' AND label='Test2'
"
ditto: can't get real path for source '/Users/USER/Library/Developer/Xcode/DerivedData/
APP-dtsbrzschafjiubelceuxtfwstqf/Build/Intermediates/ArchiveIntermediates/APPCore/
IntermediateBuildFilesPath/APPCore.build/Release/APPCore.build/Objects-normal/
x86_64/APPCore.swiftmodule''
Command /usr/bin/ditto failed with exit code 1
是应用,APP
是嵌入式框架。
我尝试了什么:
APPCore
框架作为发布 - 实际上有效(!) - 并且(!)创建APPCore
文件最后一部分是最奇怪的。这显然表明存档做了一些略有不同的事情,但我不知道是什么。
我的问题是,是否有人知道为什么会发生这种情况以及如何调试此问题。我花了最近两天试图解决这个问题,但没有结果......
我也搜索了这个错误,但遗憾的是,答案相当有限,建议对所有代码行进行评论,然后开始慢慢取消注释,直到项目构建完成。对于较小的项目来说哪个是可以的,但对于25KLOC项目来说则不行,主要是当你完全不知道从哪里开始......
答案 0 :(得分:0)
我有同样的问题,你的问题实际上帮助我解决了它(Xcode 8)。
在调试模式下,只需获得“同上:无法获取源的真实路径”,而无需任何进一步的信息。切换到发布模式向我显示问题是框架不允许有桥接头文件。我去了构建设置并删除了桥接头文件(不知道为什么有一个),它现在在发布和调试模式下编译。