检测私有API的使用

ndu*_*sis 10 iphone debugging cocoa-touch objective-c

我在App Store上被拒绝在我的应用程序中使用私有实例变量.我应该使用的ivars绝对不能在我的代码中访问,但我使用的是来自第三方的一个或两个静态库.我如何测试这些实际上是否真的是罪犯?

更新:

Apple指责我(和第三方库)在UITouch类中使用私有实例变量,包括

  • _locationInWindow
  • _tapCount
  • _previousLocationInWindow
  • _timestamp
  • _touchFlags
  • _相
  • _窗口

zen*_*ezz 10

我对检测问题一无所知,但最近我们遇到了这个问题; 在我们的例子中,它是由Three20库引起的.如果您使用它,请参阅http://groups.google.com/group/three20/browse_thread/thread/c442af6e39a918b0/2375e7a158ee9d1b以获取讨论/可能的解决方案.


epa*_*tel 5

您可以使用nm扫描哪个库使用相关ivar问题.

% nm static_lib.a | grep name_of_ivar
Run Code Online (Sandbox Code Playgroud)

如果你得到一条线,我认为有一个资本U,ivar你的名字可能有一个嫌疑人.