我的應用程序的新版本取決於iOS 5.0+。但是,我的舊版本允許iOS 4.如果我沒有記錯,Apple會拒絕該應用程序,如果它刪除了某些用戶的支持。我試圖讓不在iOS 5.0+上的設備加載另一個名爲oldVersion
的XIB。以下是我已經試過:如何爲舊設備加載不同的視圖控制器?
float version = [[[UIDevice currentDevice] systemVersion] floatValue];
if (version < 5.0) {
UIViewController *olderVersion = [[[ViewController alloc] initWithNibName:@"oldVersion" bundle:nil] autorelease];
self.window.rootViewController = olderVersion;
[self.window makeKeyAndVisible];
} else {
//Load normally.
}
(這是在應用程序委託的- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
)
我也試過在我viewDidLoad
加載我的新版本,並
float version = [[[UIDevice currentDevice] systemVersion] floatValue];
if (version < 5.0) {
oldVersion *screen = [[oldVersion alloc] initWithNibName:nil bundle:nil];
[self presentModalViewController:screen animated:NO];
[screen release];
return;
} else {
//Normal stuff...
}
。它們都不能正常工作。第一個(在應用程序委託中)加載屏幕,但不加載代碼中的任何內容(如NSLog()和UIAlertView's)。第二個(viewDidLoad)不顯示屏幕,它只是加載我的新版本,沒有我在代碼中做的任何定製。
那麼,我該如何發送不是iOS 5.0+的設備到oldVersion
?
這不會改變任何東西。另外,爲什麼我應該保存它?如果用戶升級他/她的設備會怎麼樣。 –