App Store Rejection due to TwitterKit TFSScribe Class

ios
fabric

#1

Hello, we are currently having our app rejected from the iTunes store because we included TwitterKit. We got this series of messages:

"Performance - 2.5.1

Your app uses or references the following non-public APIs:

setClientVersion
setRequestID

The use of non-public APIs is not permitted on the App Store because it can lead to a poor user experience should these APIs change.

Next Steps

Please revise your app to remove any non-public APIs. If you have defined methods in your source code with the same names as the above-mentioned APIs, we suggest altering your method names so that they no longer collide with Apple’s private APIs to avoid your application being flagged in future submissions."

“Please note that the setClientVersion: and setRequestID: are both used in [TFSScribe _enqueueImpression:eventName:query:clientVersion:timestamp:userID:managedObjectContext:] along with a number of block methods called by [TFSScribe _flushEventsWithRequestID:userID:managedObjectContext:]. It would be appropriate to remove or rename these references before resubmitting for review.”

“Thank you for your reply. If these selectors belong to a third party SDK it would be appropriate to contact the SDK provider to change these selectors so they do not conflict with a Private API, or that they call these selectors statically.”

Would it be possible to update the TwitterKit framework so it does not use these selectors? We are really stuck in limbo here, a major release being delayed by Apple’s persistence in this issue, and appreciate any help we can get.


#2

Hey @dennis_lysenko,

I replied to your email into our support channel - let me know how that goes.

-Mike