iOS - 应用程序因准则 2.10 被拒绝 - iPad 的解决方案 - 如何修复?
iOS - App Rejected Because Of Guideline 2.10 - Resolution For iPad - How to Fix?
我的 iPhone 唯一的应用程序已被苹果拒绝,原因如下:
We noticed that your app did not run at iPhone resolution when reviewed on iPad running iOS 9, which is a violation of the App Store Review Guidelines.
我现在了解到 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,也就是一个iPhone4的大小。我的以下代码导致显示我的 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故事板。我该如何解决这个问题?
iPad 当您在 iPad 中 运行 iPhone 应用程序时,iPhone 始终显示等于 iPhone 4S 或更低的视图大小。因此,请尝试更改您的应用,使您的应用能够在 iPhone 4 模拟器或设备上正常工作。
否则无法按设备限制您的应用。由于您的应用是 iOS 8 及更高版本,因此您必须支持 iPhone 4S 的分辨率。 iPhone 4S也快要iOS9了,近期也得支持一下。
您可以通过正确支持 iPad(有一个 iPhone + iPad 应用程序)或提供 3.5 英寸的故事板来解决问题 - 或者,使用 4英寸故事板,正确使用布局约束,并可能调整一些属性。
选择正确故事板的明显变化是:if (height <= 568) .. else if (height <= 667) ... else ... 568 或 667 像素高是 6+,如您所见,这是胡说八道。
您也可以只支持 iPad 并为 iPad 使用 6+ 故事板。同样,正确使用布局约束。
我的 iPhone 唯一的应用程序已被苹果拒绝,原因如下:
We noticed that your app did not run at iPhone resolution when reviewed on iPad running iOS 9, which is a violation of the App Store Review Guidelines.
我现在了解到 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,也就是一个iPhone4的大小。我的以下代码导致显示我的 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故事板。我该如何解决这个问题?
iPad 当您在 iPad 中 运行 iPhone 应用程序时,iPhone 始终显示等于 iPhone 4S 或更低的视图大小。因此,请尝试更改您的应用,使您的应用能够在 iPhone 4 模拟器或设备上正常工作。
否则无法按设备限制您的应用。由于您的应用是 iOS 8 及更高版本,因此您必须支持 iPhone 4S 的分辨率。 iPhone 4S也快要iOS9了,近期也得支持一下。
您可以通过正确支持 iPad(有一个 iPhone + iPad 应用程序)或提供 3.5 英寸的故事板来解决问题 - 或者,使用 4英寸故事板,正确使用布局约束,并可能调整一些属性。
选择正确故事板的明显变化是:if (height <= 568) .. else if (height <= 667) ... else ... 568 或 667 像素高是 6+,如您所见,这是胡说八道。
您也可以只支持 iPad 并为 iPad 使用 6+ 故事板。同样,正确使用布局约束。