在iOS 5中使用已弃用的方法

4

我最近将我的应用程序从iOS3升级到了iOS5。在编译时,我有几个警告,因为使用了过时的方法。

两个问题:

1- 在iPhone上运行iOS 5时,我会遇到问题吗?

2- 如果我没有更新这些方法,当我将应用程序上传到AppStore时,苹果公司会接受它吗?


1
可能是Will Apple accept Apps with deprecated code?的重复问题。 - Ben Zotto
4个回答

6

简要地说,

  1. 不行。
  2. 可以。

有关更详细的解释,请参见重复问题。


6
  1. 在iOS 5设备上使用编译器告诉你已经被弃用的方法,你可能不会遇到问题。当然,随着时间的推移,清除这个问题也是一件好事,因为弃用意味着这些方法可能在iOS 6(或者其他版本)中不存在。

    • 你需要注意的是编译器警告或错误,表示对象可能无法响应特定的方法调用。这些错误通常是由于方法在开发过程中被删除所致。听起来你已经做到了,但请确保在XCode中将SDK设为iOS 5,以确保你获得所有的错误/警告。总之,重要的教训就是:测试、测试、测试(也要在设备上进行测试)。
  2. 只要你的代码针对iOS 5编译并运行,仅使用一个被弃用的方法可能不会使你的应用被取消资格。然而,如果在测试过程中导致崩溃或类似的问题,他们很可能会把它退回给你重新制作。


2

“Deprecated”并不意味着已被移除。它只是友好提示,告诉您这些函数可能会在未来的iOS版本(例如6)中消失。目前它们仍然可以使用,并且审核团队将接受您的二进制文件。您应该注意,iOS中弃用方法的生命周期似乎相当长,自iOS 2(也称为iPhone OS 2.0)以来,一些NSFileManager方法已被弃用。

但是,我们鼓励您在某个时候更新您的应用程序。如果您有一个需要尽快发布的重要更新,现在可以跳过此步骤,但是未来您必须更改您的代码!


2
我要补充的是,使用已弃用的方法的风险不在于它们将来可能会消失(它们可能永远不会消失),而在于它们很可能随着时间的推移不会得到更新。因此,您在使用更危险、原始、未经充分测试的功能时存在风险,这可能会在API实际被删除之前对您造成影响。 - Ben Zotto

1
  1. 测试一下。你现在可能没有问题,但将来很可能会出现。
  2. 如果它真的能工作,你应该没问题,但苹果是善变的。不能保证。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接