私のアプリの新しいバージョンは、iOS 5.0以降に依存します。しかし、以前のバージョンではiOS 4が許可されていました。正しく覚えていれば、一部のユーザーのサポートを削除した場合、Appleはそのアプリケーションを拒否します。私は、iOS 5.0以上ではないデバイスを、oldVersion
と呼ばれる別のXIBをロードしようとしています。ここで私が試したものです:古いデバイス用に異なるView Controllerをロードするにはどうすればよいですか?
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などのコードには何もロードされません。 2番目のビュー(viewDidLoad)は画面に表示されず、コード内でカスタマイズすることなく新しいバージョンをロードするだけです。
iOS 5.0以降でないデバイスをoldVersion
に送信するにはどうすればよいですか?
のためのXIBを開き
ところ。また、なぜ私はそれを保存する必要がありますか?ユーザーがデバイスをアップグレードする場合はどうなりますか? –