ios - 应用程序被拒绝 - iPhone 应用程序还必须在 iPhone 分辨率和 2X iPhone 3GS 分辨率下未经修改地在 iPad 上运行

标签 ios iphone app-store submit

我的应用刚刚被拒绝。 问题:

iPhone Apps must also run on iPad without modification, at iPhone resolution, and at 2X iPhone 3GS resolution

但是我已经将 XCODE 中的 Devices 选项设置为仅在 Iphone 上运行,苹果是否也要求我在 ipad 上运行它们?

另外 - 我不知道它是否已连接 - 他们添加了此部分:

PLA 3.3.12

We found that your app uses the iOS Advertising Identifier but does not include ad functionality. This does not comply with the terms of the iOS Developer Program License Agreement, as required by the App Store Review Guidelines.


Specifically, section 3.3.12 of the iOS Developer Program License Agreement states:

"You and Your Applications (and any third party with whom you have contracted to serve advertising) may use the Advertising Identifier, and any information obtained through the use of the Advertising Identifier, only for the purpose of serving advertising. If a user resets the Advertising Identifier, then You agree not to combine, correlate, link or otherwise associate, either directly or indirectly, the prior Advertising Identifier and any derived information with the reset Advertising Identifier."

Note: iAd does not use the AdSupport framework, ASIdentifierManager, or the Advertising Identifier. Therefore they are not required for iAd implementations and should not be included in your app for iAd support. 

2) 广告是否也拒绝了我?或者他们只是添加了这个与拒绝无关?

最佳答案

Apple 要求应用程序在所有 iOS 平台上运行。因此,我必须向 Storyboard添加约束,以调整每个屏幕上 subview 的位置。因为添加每个约束很乏味,所以我使用了 Cirrious Fluent Layout,它对我来说非常有效。下面是我在屏幕上使用的代码,其中包含一个 ImageView 。这是要“修复”的最复杂的屏幕,因为(显然) ImageView 以某种方式改变了所有屏幕尺寸,作为 iOS 开发新手,我不知道为什么会这样,只知道它确实如此。

首先我需要添加引用:

using Cirrious.FluentLayouts.Touch;

代码:

//This line is required to turn off all autosizing/positioning
View.SubviewsDoNotTranslateAutoresizingMaskIntoConstraints();

// Get the screen dimensions and the middle of the screen 
// for button positioning

var barheight = this.NavigationController.NavigationBar.Bounds.Height; 
// Height of the navigation bar

var height = UIScreen.MainScreen.Bounds.Height; 
var width = UIScreen.MainScreen.Bounds.Width;
int middle = (int) UIScreen.MainScreen.Bounds.Width / 2;  
// We cast to int to truncate float, 
// int will convert implictly to float when used (Visual Studio).


var heightavailabletoimageviw = height -74 - 47 - 26 - 60; 
// 74 is the height of the banner, 47 is the height of the buttons and 
// 26 is the height of the title label plus a 5px gap  The rest of the 
// screen is available for use by the image view, 
// set heightavailabletoimageviw to this value
// Had to subtract 60 because the image view still overlapped 
// the buttons, no idea why.  Anyone?

// Had to add a constraint to the imageview because if I didn't
// it automatically scaled to the size of the image, not good.
ThePhoto.AddConstraints(
    ThePhoto.Width().EqualTo(UIScreen.MainScreen.Bounds.Width),
    ThePhoto.Height().EqualTo(heightavailabletoimageviw) 
);

// Had to fix the size of the imagebutton otherwise the button size
// scaled to the size of the image
btnPhoto.AddConstraints(
    btnPhoto.Width().EqualTo(62f),
    btnPhoto.Height().EqualTo(47f)
);

// Now we add the constraints to the viewcontroller to finish up.
View.AddConstraints(

    // Can't cover the navigation bar (unless it isn't there, mine is), 
    // this value sets all other relative positions    
    Banner.AtTopOf(View, barheight), 
    Banner.AtRightOf(View, 0),
    Banner.AtLeftOf(View, 0),

    lblTitle.Below(Banner, 0),
    lblTitle.WithSameWidth(Banner),

    ThePhoto.Below(lblTitle, 5), 
    ThePhoto.WithSameWidth(lblTitle),

    // I have no idea why, but I had to use negative
    // values for the buttons to appear on the screen,
    // otherwise they were off screen.
    // If anyone could explain this, I would appreciate it.
    btnUpload.AtBottomOf(View),
    btnUpload.ToLeftOf(View,-60),

    // Same here, had to use negative values for button to
    // position correctly on the screen
    btnPhoto.AtBottomOf(View), 
    btnPhoto.ToLeftOf(View,-(middle + 31)),

   // Again, same thing.
   btnMainMenu.AtBottomOf(View),
   btnMainMenu.ToRightOf(View,-80)

);

这就是我解决问题的方法,我重新提交了该应用程序,它现在出现在应用程序商店中:https://itunes.apple.com/us/app/oml-photo-manager/id1212622377?mt=8 .

希望这对某人有帮助......

R/ 普雷斯科特...

关于ios - 应用程序被拒绝 - iPhone 应用程序还必须在 iPhone 分辨率和 2X iPhone 3GS 分辨率下未经修改地在 iPad 上运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26898268/

相关文章:

objective-c - String 到 NSDate 的问题

ios - 用户 iTunes 商店的正确联属链接(美国、英国、德国...)

ios - 我可以在 iTunes connect 中上传两个版本的应用程序以供审核吗?

ios - 什么决定了 App Store 中应用程序的大小?

iphone - 一个view显示多个UICollectionView,但是显示的item个数不对

iphone - 我们可以通过编程方式将 iPhone 照片库滚动到底部吗

iPhone 开发者 : how to control the view transition animation?

iOS - 查找 View 的最高约束?

ios - UIAlertcontroller 设置属性消息

ios - 类型 '[AnyHashable : Any]?' 没有下标成员 - 使用 Moltin API