代码之家  ›  专栏  ›  技术社区  ›  alexbw

如果你使你的iPhone应用程序通用,你能在未来的版本中撤销它吗?

  •  4
  • alexbw  · 技术社区  · 15 年前

    我已经制作了一个通用的iPhone/iPad应用程序(仅从iPhone过渡),但在未来的版本中,我将大量使用iOS 4-only功能。

    对于我的应用程序的下一次更新,我可以只更新iPhone版本吗?

    2 回复  |  直到 13 年前
        1
  •  0
  •   jrtc27    15 年前

    您必须更新这两个应用程序,因为它们捆绑在一个二进制文件中。但是,使用条件编码(例如 if !(UIUserInterfaceIdiom() == UIUserInterfaceIdiomPad) { -请注意,我总是像在OS 3.1.3或更低版本上那样检查iPhone/iPod touch,它不会返回任何内容),您可以这样做,只有iPad版本不同。

    至于反转使其通用-进入你的项目和目标设置,并将“目标设备条目”更改为iPhone或iPad。升级目标的选项将再次出现。

        2
  •  1
  •   Alex Wayne    15 年前

    因为ipad运行ios3.2,所以您的代码必须同时处理这两个问题。

    if ([[UIDevice currentDevice].systemVersion isEqualToString:@"4.0"]) {
      [self doOs4Stuff];
    } else {
      [self doOs3Stuff];
    }
    

    尽管您必须小心使用4.0特定的API,但是使用诸如 NSClassFromString() 为了防止它在旧的操作系统版本上崩溃。

    我的示例也可以使用更健壮的版本检查,例如,可以解析字符串来测试主版本是“4”还是“3”。