Build 如何为iTunes Connect发行版创建通用二进制文件?

Build 如何为iTunes Connect发行版创建通用二进制文件?,build,app-store-connect,universal-binary,Build,App Store Connect,Universal Binary,我创建了一个应用程序,但被拒绝了,因为苹果公司说我的应用程序没有显示正确的iPad窗口,它显示的是相同的iPhone屏幕,但左上对齐 在模拟器上运行,我让我的应用程序准确地显示它应该显示的内容,一个大的iPad视图 在设备上显示的作为苹果裁判的我的应用程序: 运行模拟器的我的应用程序(仅50%缩放): 我在应用程序委托中的代码就是我所使用的代码 -(BOOL)应用程序:(UIApplication*)应用程序使用选项完成启动:(NSDictionary*)启动选项{ //默认设置有以下行,让

我创建了一个应用程序,但被拒绝了,因为苹果公司说我的应用程序没有显示正确的iPad窗口,它显示的是相同的iPhone屏幕,但左上对齐

在模拟器上运行,我让我的应用程序准确地显示它应该显示的内容,一个大的iPad视图

在设备上显示的作为苹果裁判的我的应用程序:

运行模拟器的我的应用程序(仅50%缩放):

我在应用程序委托中的代码就是我所使用的代码

-(BOOL)应用程序:(UIApplication*)应用程序使用选项完成启动:(NSDictionary*)启动选项{
//默认设置有以下行,让我们对其进行注释
//MainViewController*a控制器=[[MainViewController alloc]initWithNibName:@“MainView”捆绑包:nil];
//我们的主控制器
MainViewController*A控制器=零;
//这是操作系统3.2.0+吗?
#如果允许的IPHONE操作系统版本最大值>=30200
if(UI\u USER\u INTERFACE\u IDIOM()==UIUserInterfaceIdiomPad)
//这是一台iPad,让我们将MainView设置为我们的MainView iPad
A控制器=[[MainViewController alloc]
initWithNibName:@“MainView iPad”捆绑包:nil];
其他的
//这是一个3.2.0+版本,但不是iPad(将来,当iPhone/iPodtouch使用与iPad相同的操作系统运行时)
A控制器=[[MainViewController alloc]
initWithNibName:@“MainView”捆绑包:nil];
#否则
//这是一款iPhone/iPodtouch(操作系统<3.2.0)
aController=[[MainViewController alloc]initWithNibName:@“MainView”捆绑包:nil];
#恩迪夫
//让我们继续我们的默认代码
self.mainViewController=a控制器;
[控制器释放];
mainViewController.view.frame=[UIScreen mainScreen].applicationFrame;
[窗口添加子视图:[mainViewController视图]];
[WindowMakeKeyandVisible];
返回YES;
}
关于我的目标信息,我有iPhone/iPad

我的问题是,我应该如何构建应用程序

  • 使用基本SDK
  • iPhone模拟器3.1.3
  • iPhone模拟器3.2
我的活动配置是
Distribution
,活动架构是
arm6

任何已经将应用程序发布到iTunes Connect的人都可以向我解释这些设置吗


p.S.我遵循了《开发者指南》中关于构建和安装开发应用程序的内容,该指南位于创建和下载开发配置文件的
中,但没有对此做任何说明,正如我所做的那样,该应用程序被拒绝了。

事实证明,在将项目发送给苹果支持部门后,他们回复说这可能是一个错误,我应该重新编译并再次发送

这样做了,得到了我的信任

但是我可以在这里告诉你,从我从苹果开发者技术支持处收到的电子邮件中,你应该如何将你的应用程序编译到AppStore(苹果审查团队)


按照以下步骤构建可在iPad和iPhone上运行的通用应用程序:

  • 将基本SDK构建设置(在架构部分)设置为iPhone SDK 3.2
  • 将iPhone OS部署目标构建设置设置为iPhone OS 3.1.3或更早版本
  • 将目标设备系列构建选项设置为iPhone/iPad
  • 确保您的体系结构构建设置同时使用armv6和armv7
  • 将活动SDK设置为iPhone设备3.2,选择您的分发配置,构建(选择构建按钮)您的应用程序,并将其提交给应用程序审查

我希望这能像帮助我一样帮助别人:)


添加(指定两个应用程序的图标)

如上图所示,只需添加一个名为
cfbundleconfiles
的新属性,并添加两个图标,数组(0)表示iPhone图标,数组(1)表示iPad图标

记住将默认的
图标文件
属性保留给iPhone,以便与旧版本的操作系统保持向后兼容性

请记住为两个应用指定正确的大小:

  • iPhone图标:57 x 57像素
  • iPad图标:72 x 72像素

事实证明,在将项目发送给苹果支持部门后,他们回复说这可能是一个错误,我应该重新编译并再次发送

这样做了,得到了我的信任

但是我可以在这里告诉你,从我从苹果开发者技术支持处收到的电子邮件中,你应该如何将你的应用程序编译到AppStore(苹果审查团队)


按照以下步骤构建可在iPad和iPhone上运行的通用应用程序:

  • 将基本SDK构建设置(在架构部分)设置为iPhone SDK 3.2
  • 将iPhone OS部署目标构建设置设置为iPhone OS 3.1.3或更早版本
  • 将目标设备系列构建选项设置为iPhone/iPad
  • 确保您的体系结构构建设置同时使用armv6和armv7
  • 将活动SDK设置为iPhone设备3.2,选择您的分发配置,构建(选择构建按钮)您的应用程序,并将其提交给应用程序审查

我希望这能像帮助我一样帮助别人:)


添加(指定两个应用程序的图标)

如上图所示,只需添加一个名为
cfbundleconfiles
的新属性,并添加两个图标,数组(0)表示iPhone图标,数组(1)表示iPad图标

记住将默认的
图标文件
属性保留给iPhone,以便与旧版本的操作系统保持向后兼容性

请记住为两个应用指定正确的大小:

  • iPhone图标:57 x 57像素
  • iPad图标:72 x 72像素

你对iphone和ipad的图标做了什么?你只需编辑pList。。。我
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {    

    // The default have the line below, let us comment it
    //MainViewController *aController = [[MainViewController alloc] initWithNibName:@"MainView" bundle:nil];

    // Our main controller
    MainViewController *aController = nil;

    // Is this OS 3.2.0+ ?
    #if __IPHONE_OS_VERSION_MAX_ALLOWED >= 30200

    if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad)
            // It's an iPad, let's set the MainView to our MainView-iPad
        aController = [[MainViewController alloc] 
                              initWithNibName:@"MainView-iPad" bundle:nil];
    else 
            // This is a 3.2.0+ but not an iPad (for future, when iPhone/iPod Touch runs with same OS than iPad)
        aController = [[MainViewController alloc] 
                              initWithNibName:@"MainView" bundle:nil];

    #else
        // It's an iPhone/iPod Touch (OS < 3.2.0)
        aController = [[MainViewController alloc] initWithNibName:@"MainView" bundle:nil];
    #endif

    // Let's continue our default code 
    self.mainViewController = aController;
    [aController release];

    mainViewController.view.frame = [UIScreen mainScreen].applicationFrame;
    [window addSubview:[mainViewController view]];
    [window makeKeyAndVisible];

    return YES;
}