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

iphone-不推荐的功能…它们会使iphone崩溃吗?

  •  3
  • Duck  · 技术社区  · 14 年前

    我正在处理一个为iPhoneOS2.0设计的旧代码。在这段代码中,我有一些在iPhone3.0上不推荐使用的说明。

    我不愿意更改版本,因为我有很多客户,特别是在ipod touch上,他们仍在使用2.0。如果我更新指令,他们将无法继续接收更新。

    应用程序是为2.0编译的,并且一直都是这样。

    我已经为苹果提交了一个新版本,其中一些错误被纠正,新功能被添加。我一直把这个应用程序发给苹果,他们从不抱怨。现在他们拒绝了这个应用程序,告诉我它在OS3.1.3下崩溃了。

    我遵循了他们的指示,但没有看到任何崩溃,使用“deprecated”函数的代码部分在3.1.3上运行得很好。

    在为3.1.3编译项目时,我在xcode上看到一个黄色警告,告诉我在3.1.3上有一条指令被弃用。

    最大的问题是:这条指令是否适用于3.1.3,我是否应该忽略这个警告? 这会让iphone崩溃吗?

    在我看来,所有新版本的iphone操作系统都保持了与旧版本的兼容性,因此,正如我所想,任何为2.0编译的应用程序都将在3.1.3和所有版本上运行。

    如您所见,我已经在3.1.3中测试过这个,应用程序运行得很好。

    怎么会这样?有什么想法吗?

    谢谢你的帮助。

    1 回复  |  直到 14 年前
        1
  •  2
  •   Ben Gottlieb    14 年前

    已弃用的调用被设计为在其已弃用的操作系统版本中工作,但在某些(未定义的)未来操作系统中停止工作。这种抨击是对开发人员的警告:嘿,你应该修改你的代码,这将在未来打破。这是一种在不破坏所有人的情况下更新api基础的方法。

    总之,现在可以使用这些调用,但如果决定放弃2.x的可操作性,则需要编辑代码。