App Store - 方法调整合法性

ult*_*ous 21 objective-c app-store swizzling ios

在App Store上是否存在关于方法调查的最新信息是合法/非法的?

我能找到的唯一数据点是一段时间后的Three20框架重组,从这个通知开始:

您当前发布到App Store的应用程序xxx正在使用method_exchangeImplementations将Apple提供的API的实现与您自己的实现交换.由于即将发生的更改,应用程序中的此行为可能会导致崩溃或导致iPhone OS 4.0上的用户数据丢失.

xxx使用method_exchangeImplementations与您的方法ttdealloc交换dealloc的实现.它还用你的方法popViewControllerAnimated2:交换方法popViewControllerAnimated:的实现.

请立即解决此问题,并将新二进制文件上传到iTunes Connect.如果我们认为这样做是谨慎或必要的,我们可能会删除您的申请.


当我在搜索时,我可以找到关于调配和应用程序商店的每个最近的对话似乎都引用了同样的Three20事件.通知似乎非常具体,我想知道问题是否是Three20所做的更改或者method_exchangeImplementations被普遍禁止的具体更改问题.

关于是否允许这种做法,还有其他数据吗?在商店中是否有任何使用应用程序的应用程序的开发人员?

谢谢!

pat*_*nke 8

AFNetworking是一种用于网络请求的广泛的lib(IMO),它使用至少1.3.4版的混合来支持类方法中额外的可接受状态代码和内容类型.

所以这样做似乎是合法的.

注意:他们使用了class_replaceMethod而不是method_exchangeImplementations.