使用更简单的示例创建了一个新问题here。
我在Xcode中遇到了一些奇怪的行为,包括给不正确的变量值和给我旧版本项目中的语法错误,这些项目在我离开它们时可以很好地编译。
回到干净的Xcode的最佳方法是什么? 在Applications目录中是否存在两个(或多个)Xcode可执行文件的问题?我一次只运行一个版本...
是否可以完全删除所有程序数据文件和缓存文件,就像从未安装过Xcode一样?
如果没有,是否存在可以安全删除的缓存/ etc列表?
这是到目前为止我根据堆栈溢出搜索尝试过的方法:
这是我悲惨的长篇小说:我已经在High Sierra上使用Xcode 9.4.1进行了大约6-8周的项目。我是新手,所以我创建了一些简单的“概念验证”应用程序来了解文本视图,属性字符串,Web视图等。这些小项目中的每一个都可以编译并运行良好。
我将这些功能组合到一个应用程序中,并添加了Cocoa Pod库。同样,一切编译正常。我正在调试代码中的简单问题。有一次,Xcode停止在我的代码的“变量”显示中显示正确的值。我只能使用print()语句进行调试,该语句始终显示正确的变量值。
我将(?)升级到Xcode 10,然后又升级到Mojave,以尝试解决Xcode的错误变量值。出现了其他问题,包括评估JavaScript的已知问题。因此,我决定恢复到莫哈韦沙漠之前的状态,以恢复工作状态。我使用Time Machine恢复为High Sierra下的Xcode 10。
现在我的项目给出了编译错误。即使是我简单的概念证明应用程序也存在编译错误。所以我一直在尝试回到可编译的代码。
我还应该尝试什么来确定发生了什么变化?
以下是产生语法错误的特定属性字符串代码:
let titleAttributes = [NSAttributedString.Key.font: NSFont.boldSystemFont(ofSize: 22)]
给出错误:
Type 'NSAttributedString' has no member 'Key'
我在segue上也遇到了错误:
performSegue(withIdentifier: "showSecondVC", sender: self)
给出错误
Cannot convert value of type 'String' to expected argument type 'NSStoryboardSegue.Identifier'
长帖子的道歉。在Unix下,很容易使用户帐户或应用回到已知的初始状态。在Mac OS X下似乎要困难得多...
谢谢您的建议!
答案 0 :(得分:3)
您谈论的问题似乎源于Swift版本。
要回答您的问题,当您下载一个新的Xcode应用程序(是的,同一台计算机上可以有多个Xcode应用程序)时,所有内容都在庞大的应用程序内。
所有本地数据都在文件夹内
~/Library/Developer/Xcode/
在这里您可以找到具有大量数据的其他文件夹。如果您对Ide大小有疑问,可以检查UserData文件夹中的“ IDEPreferencesController.xcuserstate”。