在iOS模拟器4.2/xcode3.2.5中运行iOS5/xcode 4.2中的项目构建

问题描述:

我在xcode 4.2中使用基本sdk 5.0创建了一个项目。在创建项目时,我没有检查显示的所有3个选项,当我们在iOS 5.0上创建新项目时,即。故事板,使用ARC并包含单元测试。写完我的代码后,我想在xcode 3.2.5/iOS 4.2上运行这个代码,但由于iOS 5使用@autoreleasepool而不是NSAutoreleasePool,因此会出现错误。我将如何在iOS4.2上运行它在iOS模拟器4.2/xcode3.2.5中运行iOS5/xcode 4.2中的项目构建

如何使用旧的main.m?

#import <UIKit/UIKit.h> 

int main(int argc, char *argv[]) 
{ 
    NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init]; 
    int retVal = UIApplicationMain(argc, argv, nil, nil); 
    [pool release]; 
    return retVal; 
} 

另一件事。 “故事板”和“ARC”仅在iOS 5中受支持。因此,如果您想在iOS4中运行此功能,这也会成为问题。

摘要: 如果你想向后兼容,在你想支持的最低版本上编写你的程序,那就没事了。使用旧的main.m,保留而不是强大的,没有故事板或ARC,它适用于iOS> = 4.

+0

可以说我使用的是包含NSAutoreleasePool的旧main.m,而不是使用@autoreleasepool。但另一个问题与财产申报中的强关键词有关。它们只能在5.0版本中使用。所以,我也必须改变它们。就故事板和ARC而言,我不会在sdk 5.0中使用它们。所以,他们赢了,不会在4.0或4.2中产生任何问题。 – anshul

+0

使用保留而不是强 - 我看到没有问题。无论如何,现在的问题是什么?你知道什么是错的,以及如何解决它。 – Sharky

+0

该问题与向后兼容性有关。只要做这两件事情,我能够部署在iOS4或4.2上使用iOS5编写的代码吗? – anshul