Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Detecting the use of private APIs

I'm being rejected on the App Store for using private instance variables in my app. The ivars I am supposedly using are most definitely not being accessed in my code, but I am using one or two static libs from third parties. How would I test whether these could actually be the offenders?

Update:

Apple is accusing me (and 3rd party libs) of using private instance variables in the UITouch class, including

  • _locationInWindow
  • _tapCount
  • _previousLocationInWindow
  • _timestamp
  • _touchFlags
  • _phase
  • _window
like image 620
nduplessis Avatar asked Nov 16 '09 07:11

nduplessis


People also ask

What is the purpose of private APIs?

A private API is an application programming interface that has its application hosted with in-house developers. Private APIs act as front end interfaces to back end data and application functions. The interface provides a point of entry for developers or contractors that are working to develop those functions.

Can APIs be private?

Private APIs, also called internal APIs, are intended solely for internal use within a company or organization. They're the most common type of API as they're quick to develop and don't need to be as robust as products intended for public consumption.

How do I get a private API?

You can access your private APIs through interface VPC endpoints for API Gateway as shown in the following diagram. If you have private DNS enabled, you can use private or public DNS names to access your APIs. If you have private DNS disabled, you can only use public DNS names.

What is the difference between public and private API?

An API provides a way for developers to access the functionality of an operating system, program or other service. Public APIs are open to anyone and can be used without restrictions. Private APIs are only accessible by authorized users and may be subject to usage restrictions.


1 Answers

I don't know anything about detecting the problem, but we encountered this problem recently; in our case it was caused by the Three20 library. If you are using it, see http://groups.google.com/group/three20/browse_thread/thread/c442af6e39a918b0/2375e7a158ee9d1b for a discussion/possible solutions.

like image 157
zenzelezz Avatar answered Oct 06 '22 00:10

zenzelezz