我创建了一个抛出错误的vanilla Xcode(v6.2)项目(项目A):
'Xcode无法找到协议声明 “UIViewControllerAnimatedTransitioning”'
以下是代码:
#import <Foundation/Foundation.h>
@interface WTF : NSObject <UIViewControllerAnimatedTransitioning>
@end
奇怪的是,我有一个我下载的示例项目(项目B),我可以将上面的代码放入其中并且它将识别UIViewControllerAnimatedTransitioning协议而没有问题:
#import <Foundation/Foundation.h>
@interface WTF : NSObject <UIViewControllerAnimatedTransitioning>
@end
我注意到两个项目之间最明显的差异是第二个下载的项目具有在资源管理器中列出的框架,但我使用Xcode 6.2创建的项目没有。在进一步阅读后,我发现新版本的Xcode消除了手动连接框架的需要,所以我不确定它是否相关。
因此,如果项目A在项目B没有的事情上抛出错误,我在Xcode(单视图应用程序)中启动了一个新项目(项目C)并粘贴在:
#import <Foundation/Foundation.h>
@interface WTF : NSObject <UIViewControllerAnimatedTransitioning>
@end
并得到同样的错误:
'Xcode无法找到协议声明 “UIViewControllerAnimatedTransitioning”'
重新启动Xcode和Mac,错误仍然存在。
WTF正在这里发生?
答案 0 :(得分:34)
唉。需要导入
UIKit/UIKit.h
3小时。