Xcode 7.3.1不正确自动完成
我在OSX El Capitan 10.11.4上为iOSdevise了一个简单的,全新的Objective-C项目。 我正在使用Cocoapods,所以我使用以下3个窗格创build了Podfile:Firebase,UALogger和AFNetworking 3.0。 我安装了我的Pods,然后打开了.xcworkspace。 到现在为止还挺好。
我有一个视图控制器和一个子类UITableView,在VC的.m
,我导入Firebase,UALogger,AFNetworking和我的tableview如下:
// MyViewController.m #import "MyTableView.h" #import <AFNetworking.h> #import <Firebase/Firebase.h> #import <UALogger/UALogger.h> ... @property (strong, nonatomic) MyTableView *tableView;
然后我去我的viewDidLoad
方法,并尝试做一个简单的分配/初始化Firebase并创build我的tableview:
// MyViewController viewDidLoad Firebase *firebase = [[Firebase alloc] initWithUrl:@"myurl..."; self.tableView = [[MyTableView alloc] init];
以下是发生的事情 :
-
Firebase
类不是自动build议的,所以我必须在两个位置手动input,但是,initWithUrl...
是令人惊讶的自动build议。 -
UALogger
按照预期工作 – 也就是说,任何时候我开始inputUA...
,都会提示相应的完成。 -
AFNetworking类不是自动build议的,我必须手动input,但是与Firebase一样,方法名称是自动build议的。
-
当我开始创build我的tableview时,
MyTableView
类不是自动build议的。 这一点也不奇怪,但其中值得注意的部分是它是我自己的文件,而不是一个荚。 -
据我所知,苹果标准库方法都是正常的自动build议。
而且,更让我更困惑的是 :
- 如果我在构build中期(即,在单击运行button之后,但在项目完成之前)键入F , 则会自动提取
Firebase
。 但是,一旦构build完成,如果我退格,然后重新键入字母F ,这不再是一个build议。 AFNetworking或其他人不会发生同样的效果。
要清楚:一切顺利,我的应用程序运行完美,没有警告,没有错误。
到目前为止,
- 将生成设置中的
User Header Search Paths
设置为$(SRCROOT)/**
(还有"$(SRCROOT)/**"
和$(SRCROOT)
),并设置为recursive
- 清除
Header Search Paths
(他们重置为他们之前,我把它们清除) - 设置
Always Search User Paths
为Yes
- 确保Pod公共头文件完好无损
- 确保我的文件是目标成员的一部分
- 删除导出的数据
- 重新启动计算机
- 清理项目
- 重新删除派生的数据
- 重新清理项目
- 重新启动计算机
- 卸载所有的豆荚,并重新安装它们
- 创build第二个新的但相同的项目,并重复上述步骤
- 卸载Xcode,然后重新安装
这一切都没有工作,现在我在这里。
好消息是,这个假设并不是什么大不了的 – 我只需要打更多的东西,把我的小手指放在骨头上。
坏消息是,我不知道为什么会发生这种情况,不得不多打字,把我的小手指放在骨头上。
如果有一个解决scheme,我还没有尝试,请让我知道。 谢谢。
尝试清理您的项目并删除派生数据。 您可以强制Xcode 按Ctrl +空格键手动显示build议。