如何为iTunes Connect Distribution创建通用二进制文件?

时间:2010-04-22 07:42:25

标签: build itunesconnect universal-binary

我创建了一个被拒绝的应用 ,因为Apple说我的应用没有显示正确的iPad窗口,它显示的是同一个iPhone屏幕但是左上角对齐。

在模拟器上运行,我让我的应用程序准确显示它应该是什么,一个大的iPad视图。

我的应用程序是在设备上显示的Apple裁判:

alt text http://www.balexandre.com/temp/2010-04-22_0939.png

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

alt text http://cl.ly/cCH/Screen_shot_2010-04-22_at_09.40.24.png

我在Application Delegate中的代码是我published before

的代码
- (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;
}

我的目标信息 iPhone / iPad

alt text http://cl.ly/cwB/Screen_shot_2010-04-22_at_09.33.12.png

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

  • 使用Base SDK
  • iPhone模拟器3.1.3
  • iPhone模拟器3.2

我的有效配置为Distribution,有效架构为arm6

任何已经将应用程序发布到iTunes Connect中的人都能解释我的设置吗?

PS 我遵循了Building and Installing your Development Application上的Creating and Downloading Development Provisioning Profiles上的开发人员指南,但没有提及任何相关内容,因为我确实做了并拒绝了该应用。< / p>

1 个答案:

答案 0 :(得分:4)

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

完成那件事,并得到我的App aproved

但我可以告诉你,如何从我从 Apple开发者技术支持

获得的电子邮件中将您的应用程序编译到AppStore(Apple Review Team)

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

  • 将Base SDK构建设置(在Architectures部分中)设置为iPhone SDK 3.2。
  • 将iPhone OS部署目标构建设置设置为iPhone OS 3.1.3或更早版本。
  • 将目标设备系列构建选项设置为iPhone / iPad。
  • 确保您的Architectures构建设置同时使用armv6和armv7。
  • 将Active SDK设置为iPhone Device 3.2,选择您的分发配置,构建(选择Build按钮)您的应用程序,然后将其提交给App review。

我希望这可以帮助我,因为它帮助了我:)。


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

alt text http://cl.ly/11AF/Screen_shot_2010-05-10_at_15.37.51.png

正如您在上面的图片中看到的那样,只需添加一个名为CFBundleIconFiles的新属性并添加2个图标,Array(0)用于iPhone Icon,Array(1)用于iPad图标。< / p>

请记住将默认的Icon file属性保留给iPhone,以便与旧版操作系统保持向后兼容。

请记住为两个应用指定正确的尺寸:

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