试图让一个简单的基于窗口的项目进行编译,拉出我的头发。
我正在运行Xcode的3.2.2和3.2.3版本。 后者设置在一个单独的文件夹中。
最初我使用后者来创建和编译我的项目对新的4.0 sdk。它汇编得很好。 然后我错误地删除了一些我认为不再需要的sdks。
自从我无法再编译。
现在我得到了十几个类似于以下的错误 “_OBJC_CLASS _ $ _ CATransition”,引自: ViewTransitionsAppDelegate.o中的objc-class-ref-to-CATransition
我的活动可执行文件是iphone模拟器4,Base SDK是iPhone设备3.0。
我尝试重新安装xcode3.2.3安装程序,没有区别。
我完全陷入困境,因为我的项目工作和编译都很好,无论是模拟器还是外部设备。
当项目无法编译时,是否有修复或重建项目的最佳实践或建议步骤?
欢迎任何帮助!
答案 0 :(得分:6)
确保您的应用程序与QuartzCore.framework
相关联,并且无论您在何处使用CATransition,都要导入CoreAnimation标头:
#import <QuartzCore/CoreAnimation.h>
否则,我建议您从系统中完全删除所有Xcode / Dev Tools安装(彻底清除)并重新安装最新的SDK。
编辑:还忘了提到最新的iPhone SDK(iOS 4),至少对我来说,不包括以前版本的iPhone SDK。它只包含3.2和4.0 SDK,因此您必须编辑应用程序的目标/项目设置才能使用iPhone SDK 4.0。
答案 1 :(得分:1)
就像一个注释 - 我有点挣扎,发现这是因为我没有将“QuartzCore”框架导入到我的项目中。
HTH。
答案 2 :(得分:0)
旧版本的操作系统(4.0之前版本)可能无法使用CATransition。你基本上有3个选择:
1)重写处理CATransition的部分不使用它(或其他任何不适用于4.0之前版本的iOS版本)
2)编写代码,无论是在编译时还是运行时,选择正确的行为来使用CATransitions或禁用该功能,或者以不同的方式实现它(参见Apple的iPad开发指南 - 它显示了一个涉及NSClassFromString的非常有用的技术)
3)瞄准后来的操作系统
您可能想要使用#3