没有隐藏API的JSON框架?

4th*_*ace 2 iphone xcode cocoa-touch objective-c

鉴于隐藏API和Apple现在在将任何内容发布到应用程序商店之前检查它们的所有问题,您如何确定特定框架是否使用隐藏API?例如,我喜欢Google JSON框架:http://code.google.com/p/json-framework/.我不知道他们是否使用隐藏的API.

JSON还有什么可以肯定的是没有使用隐藏的API?

Lou*_*arg 6

您可以审核代码.

  1. 首先确保项目在没有警告的情况下编译.这意味着他们使用的所有方法都必须在其标题中声明.
  2. 然后查看代码中声明的所有类别(您可以自己执行此操作,或者找到一些工具来执行此操作).
  3. 对于在所有Apple框架提供的类上声明的所有类别,请确保在代码中声明的方法的具体实现.如果Apple提供的类中没有任何类别没有框架提供的具体实现,那么他们就会声明该类别,以避免编译警告访问私有方法.
  4. 查找对NSClassFromString的调用,并确保它的所有用途都用于公共类

他们可以使用私有API的其他方式,但它们并不常见,往往是由积极尝试混淆他们正在做的事情的人造成的.

关于点:

我自己已经审核了YAJL-objc,我确信Jon在TouchJSON中没有做任何坏事,因为他是一个非常好的iPhone开发人员.除此之外我无法理解为什么有任何JSON库,他们几乎没有什么可以隐藏在私有API中.使用私有API来实现视觉效果往往更常见的是与未暴露的硬件功能的接口,解析实际上只是计算.