Xcode 9自动完成不工作100%部分工作
今天早上,Xcode 9.0(9A235)显示了一个新的/奇怪的自动完成框,它与以前完全不同。如何获得完整的“自动完成”框,使“自动完成”与通常的情况类似Xcode 9自动完成不工作100%部分工作,xcode,autocomplete,xcode9,Xcode,Autocomplete,Xcode9,今天早上,Xcode 9.0(9A235)显示了一个新的/奇怪的自动完成框,它与以前完全不同。如何获得完整的“自动完成”框,使“自动完成”与通常的情况类似 删除派生数据文件夹似乎可以解决我的问题。多亏了这篇文章:当文件不是目标的成员时,就会发生这种情况。打开自动完成不起作用的文件,并在Xcode的右上角显示“实用程序”选项卡(下面的屏幕截图中为蓝色)。 确保选中了您的目标(通常是应用程序的名称)。Autocomplete几乎可以立即工作,而无需重新启动Xcode、清理或删除派生数据 如果已选
删除派生数据文件夹似乎可以解决我的问题。多亏了这篇文章:当文件不是目标的成员时,就会发生这种情况。打开自动完成不起作用的文件,并在Xcode的右上角显示“实用程序”选项卡(下面的屏幕截图中为蓝色)。 确保选中了您的目标(通常是应用程序的名称)。Autocomplete几乎可以立即工作,而无需重新启动Xcode、清理或删除派生数据 如果已选中,请确保取消选中并再次检查。对我来说,它成功了。要尝试的事情: #1 如果使用cocoapods,请在项目目录中运行此命令:
rm -rf ~/Library/Caches/CocoaPods;
rm -rf Pods; rm -rf ~/Library/Developer/Xcode/DerivedData/*;
pod deintegrate; pod setup; pod install;
#2 **清除缓存数据** 清理项目->Cmd+Shift+K 清理构建文件夹->Cmd+Shift+Option+K 如果跳过第一步:
删除派生数据
Xcode首选项
->位置
->箭头符号将带您进入
DerrivedData
->删除文件夹
#3 **检查构建阶段的编译源代码** 项目中的每个
.swift
和.m
文件都应在此列表中,否则这些文件中不会自动完成
#4 **优化编辑器:** 在每个类属性和函数上使用fileprivate*,可以减少每个项的编译器工作范围 编写模块化/OOP代码,这样编译器就可以读取更少的代码 当结果是复杂计算时,避免使用类型推断,并尝试将复杂计算分解为
let this=smallerooperation
语句
*在Swift 4中,private变得比fileprivate更严格
在Xcode 12中,删除派生数据的频率有了显著的提高(尽管冻结增加了)。尝试:
刚刚花了一天时间试图解决Xcode(9.2)的自动完成噩梦。删除派生数据似乎暂时有效,然后事情又恢复了。重新启动etc和其他建议的巫毒没有起到作用
我放弃了,从Jet Brains下载了30天的AppCode试用版。Autocomplete在那个里工作得很好,这可能是巧合,但在我的Xcode项目中它又开始工作了。无法保证它会继续工作…从测试目标中删除该文件修复了我的问题。对我来说,它发生在我的测试文件中,因为出于某种原因它不是目标的一部分。设置目标成员身份解决了问题。请尝试这样做:
rm -rf ~/Library/Caches/CocoaPods;
rm -rf Pods; rm -rf ~/Library/Developer/Xcode/DerivedData/*;
pod deintegrate; pod setup; pod install;
选择文件>检查该文件是否添加到UITesting或UnitTesting目标中(文件检查器->目标成员身份)。如果是,请取消选中这两个选项,并确保仅选择了项目目标。然后构建并尝试自动完成是否工作正常
这对我有用。希望它能帮助别人。对我来说,问题发生在我放弃一个文件的所有更改时(在源代码管理>提交下),这有效地删除了该文件。这就是我想要的,我认为该文件和所有对它的引用也会被挖掘 但是,在项目导航器中仍然存在对该文件的引用(以红色显示)。删除项目导航器中的(现在不存在)文件会神奇地恢复自动完成 大量的清理、删除派生数据等都没有帮助。当我试图构建我的项目时,我才意识到删除的文件仍在显示,这当然失败了,因为它找不到该文件
希望这将帮助某人节省30分钟:)在我的案例(Xcode 9.2)中,它似乎是特定于文件的,对我来说,修复是:
终于在尝试了3个小时后,autocomplete正常工作。这个链接帮助了我。打开构建设置并填充框架搜索路径。请参见下图
问题主要是因为project navigator中缺少某些文件的位置(生成错误)
项目导航器
窗格希望这有帮助经过长时间的搜索,我终于解决了这个问题。在Xcode>Preferences>Text Editing的“代码完成”中,出于某种原因,我选中了“使用Escape键显示完成建议”。一旦我取消选中这个框,自动完成就像一个魅力,甚至不需要重新启动Xcode!(Xcode 10)构建错误可能会破坏Xcode中的自动完成功能。这里有一些解决方法,但效果不错
let halfFrameWidth: CGFloat = frame.width / 2
let middleLeft = (halfFrameWidth - mainFigureText.frame.width) / 2
switch doseType {
case .right:
newPosition.x = middleLeft + halfFrameWidth
case .left:
newPosition.x = middleLeft
default:
newPosition.x = (frame.width - mainFigureText.frame.width) / 2
}