我创建了一个普通的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在这里举行?
Ugh。需要导入
UIKit/UIKit.h
3小时。