【发布时间】:2015-12-18 21:24:37
【问题描述】:
由于 Apple 提供的以下原因,我的 iPhone 专用应用程序已被拒绝:
我们注意到,在运行 iOS 9 的 iPad 上审核时,您的应用没有以 iPhone 分辨率运行,这违反了 App Store 审核指南。
我现在了解到 iPad 有自己的 iPhone 模拟器,您可以在上面运行 iPhone 应用程序。经过初步调试,我注意到在 iPad Air (iOS 9.0) 上进行测试时,我的 iPhone 5 故事板正在其自己的 iPhone 模拟器中使用。
这是它在 iPhone 5 上的外观(正确):
http://i.stack.imgur.com/SMHyx.png
这就是它在 iPad 上的外观(错误地):
http://i.stack.imgur.com/2PHG4.png
既然 iPad 使用的是我的 iPhone 5 故事板,为什么它不能正确缩放所有内容?我该如何解决这个问题?
*****编辑*****
我发现我在调试时犯了一个错误,iPad 的 iPhone 模拟器的显示高度为 480,这是 iPhone 4 的大小。我下面的代码导致我的 iPhone 6+ 故事板显示:
CGSize result = [[UIScreen mainScreen] bounds].size;
//get the right storyboard for the device.
if(result.height == 568)
{
storyBoard = [UIStoryboard storyboardWithName:@"iPhone5" bundle:nil];
NSLog(@"IPHONE 5 STORYBOARD!");
}
else if(result.height == 667)
{
storyBoard = [UIStoryboard storyboardWithName:@"iPhone6" bundle:nil];
NSLog(@"IPHONE 6 STORYBOARD!");
}
else //iPhone 6+
{
storyBoard = [UIStoryboard storyboardWithName:@"iPhone6Plus" bundle:nil];
NSLog(@"IPHONE 6+ STORYBOARD!");
}
但是,我认为我只为 iPhone 5 及更高版本制作了我的应用程序,将其设置为 iOS 8 及更高版本,这意味着我没有 iPhone 4 故事板。我该如何解决这个问题?
【问题讨论】:
标签: ios iphone ipad storyboard