当我使用iOS 5.0在较旧的xCode上运行我的iOS 6项目时。它在执行项目时发出警告和触发异常。
Property 'window' requires method 'window' to be defined - use @synthesize , @dynamic or provide a method implementation
背后的科学是什么?为什么我需要在5.0中明确添加@synthesize。虽然它在iOS 6中运行良好。
答案 0 :(得分:4)
这与iOS 6或iOS 5无关。这与Xcode中使用的编译器版本有关。在最新版本的Xcode中使用的最新版本的编译器支持许多旧版本的Objective-C编译器中没有的新功能。其中一个功能不再需要明确的@synthesize
语句。一旦利用这些较新的功能,就无法使用旧版本的编译器来编译代码。
所以现在问题变成了 - 你为什么要在旧版本的Xcode中构建这个项目?你的目标是什么?为什么不使用最新的Xcode,只需将项目的部署目标更改为iOS 5.0,并将Base SDK保留为“最新”。