先日失敗した4インチのアップロードのリベンジです。
どうやら2パターン方法があるようです。
パターン①
プログラム上で、3.5インチと4インチの処理を書き
位置を指定する。
パターン②
メインストーリーボードを2つ作り、
3.5インチ用とと4インチ用を分ける。
私の場合はもちろん後者を選びました。
手順①
まず、プロジェクトを右クリックし、new fileを選択➡story boardを選択➡名前を入力
すると下記のように2個目ができました。
手順②
3.5インチ用とと4インチ用でstory boardを判断するよう、
下記を記述。
※ここで一点注意名前は.story boardの前の部分です。
つけていると、no such nameでエラーになります。
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
// Override point for customization after application launch.
UIStoryboard *storyboard; // StoryBoardの型宣言
NSString * storyBoardName; // StoryBoardの名称設定用
// 機種の取得
NSString *modelname = [ [ UIDevice currentDevice] model];
// iPadかどうか判断する
if ( ![modelname hasPrefix:@"iPad"] ) {
// Windowスクリーンのサイズを取得
CGRect r = [[UIScreen mainScreen] bounds];
// 縦の長さが480の場合、古いiPhoneだと判定
if(r.size.height == 480){
NSLog(@"Old iPhone");
storyBoardName = @"MainStoryboard2";
}else{
NSLog(@"New iPhone");
storyBoardName =@"MainStoryboard";
}
}else{
NSLog(@"iPad");
storyBoardName =@"MainStoryboard2";
}
// StoryBoardのインスタンス化
storyboard = [UIStoryboard storyboardWithName:storyBoardName bundle:nil];
// 画面の生成
UIViewController *mainViewController = [storyboard instantiateInitialViewController];
// ルートウィンドウにひっつける
self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
self.window.rootViewController = mainViewController;
[self.window makeKeyAndVisible];
return YES;
}
手順③
あとは、それぞれのアイコンとスタートアップ画像を指定して完了!
再度審査にまわしました。
今度こそ通ってくれ!
今日はここまで
0 件のコメント:
コメントを投稿