当前位置 : 主页 > 手机开发 > ios >

ios – 当API上市时,应用程序是否仍然可以被拒绝使用它?

来源:互联网 收集:自由互联 发布时间:2021-06-11
一位同事和我正在讨论Apple如何处理使用以前私有API的应用程序.想象一下,如果您将[NSAppleObject someMethod],其中someMethod是iOS 7.1中的一个私有的,未记录的方法,但是从iOS 8.2开始它就会被公开
一位同事和我正在讨论Apple如何处理使用以前私有API的应用程序.想象一下,如果您将[NSAppleObject someMethod],其中someMethod是iOS 7.1中的一个私有的,未记录的方法,但是从iOS 8.2开始它就会被公开.该应用程序支持iOS 7.1.

我想使用respondsToSelector检查someMethod的可用性,如果可用,请使用它.我的同事认为,由于这种方法在7.1中是私有的,而我们的应用程序支持7.1,Apple将拒绝其使用,即使API现已公开.

只要有人能预测苹果会拒绝什么,我的同事是否正确?

不,你不会被拒绝. Apple只是在您的应用上运行测试,以查看它使用的API.如果您的应用的Base SDK公开API,那么您没问题.现在公共API在您的应用程序的早期部署目标中是私有的这一事实是无关紧要的.

此外,Apple如何判断您的应用是否仅在API实际公开的设备上使用现在的公共API.

如果Apple拒绝使用为您的Base SDK公开但对您的部署目标而言是私有的API的应用程序,那么在尝试使用更新的API同时仍支持较旧的iOS版本时,会拒绝太多应用程序.这将是一个糟糕的决定.

更大的问题是,以前的私有API在私有的iOS版本中可能更加笨拙或工作方式不同.因此,担心的实际问题是让您的应用程序避免在iOS版本中使用现在的公共API,因为较旧的私有版本可能无法像在公开的iOS版本中那样工作.

网友评论