iOS 3.2版iPad与iPhone iOS 3.0的兼容性

iOS 3.2版iPad与iPhone iOS 3.0的兼容性,iphone,ios,ipad,ipod-touch,universal-code,Iphone,Ios,Ipad,Ipod Touch,Universal Code,最近成功地将iPhone和iPod Touch应用程序提交到app store,但后来才知道它在iPad3.2上不起作用,但在具有高iOS的iPad上起作用,如缩放版的iPad4 原因:设置电影播放器的方向属性 实际查询:为了让它在MAC桌面的iPad3.2上运行,我使用了 if(UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) { player.view.frame = CGRectMake(0, 0, 768,

最近成功地将iPhone和iPod Touch应用程序提交到app store,但后来才知道它在iPad3.2上不起作用,但在具有高iOS的iPad上起作用,如缩放版的iPad4

原因:设置电影播放器的方向属性

实际查询:为了让它在MAC桌面的iPad3.2上运行,我使用了

if(UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad)
    {
        player.view.frame = CGRectMake(0, 0, 768, 1024);
        [self.view addSubview:player.view];
        [player play];
    }
    else {
                #ifdef __IPHONE_4_0
                     player.controlStyle = MPMovieControlStyleNone;
                #else
                     [player setOrientation:UIDeviceOrientationPortrait animated:NO];
}
当我使用iOS 3.0在MAC BOOK上运行相同的代码时,此代码抛出错误…不受支持

所以

  • 如果我在MAC桌面(使用iOS 4)上构建上述代码,这是否有效 在iOS 3.0?的iPhone设备上。。参考事件工具包框架 工作(在iOS 3.0中抛出错误,但在iOS 4中是必需的)

  • 我需要单独的iPad应用程序,而不是通用的


  • iPhone和ios3.2以及iPad和ios3.2在性能上有什么区别吗 使用的属性


    • 我认为您不应该在编译时硬编码它。相反,您应该测试类上是否存在特定的类或方法/属性,然后执行适当的操作。比如使用[NSObject respondstoSelector:]来测试对象是否理解特定的方法。

      好的,首先,使用Mac桌面或MacBook编译并不重要。看起来您可能混淆了“最小iOS”值和“基本SDK”

      基本SDK:指编译器将用于检查代码的代码库,但不确定应用程序将实际运行在哪个操作系统上。您可以使用5.0的基本SDK,并且您的应用程序在3.0系统上仍然可以正常工作。问题是,如果您使用的代码与基本SDK兼容,而不是与旧操作系统兼容,编译器将无法捕获它

      最小操作系统:此值确定应用程序将在哪个操作系统上运行


      如果您正在为更高的操作系统使用代码,但希望在较低的操作系统上运行,则需要在您正在运行的操作系统的代码中进行测试,然后为该平台运行适当的代码

      “iPhone与iOS 3.2和iPad与iOS 3.2有什么区别吗”iPhone没有iOS 3.2。我对Mac Desktop n Mac book的感觉是,Mac Desktop的x-code 3.2.4版本有iOS 3.2及以上版本,而Mac book的x-code版本有iOS 3.0版本