2

My app update just got rejected with this message:

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

commentText

I searched StackOverflow to find out how to use nm and otool to check my libraries for private APIs, but I couldn't get it to work.

Also I have a slight feeling it is a false positive since from the last update I haven't added any new third party library, only a SpriteKit minigame that only uses my code (which I'm confident has no private APIs).

Searching my project for the "commentText" string only shows some properties and methods from EBPhotoPages, a third party photo gallery which I used in previous updates as well with no problem.

Any kind of help with the nm or otool or what course of action I should take in case it actually is a false positive will be appreciated.

EDIT: Yes, I verified my app from XCode before uploading it to iTunes Connect.

halfer
  • 19,824
  • 17
  • 99
  • 186
Potecuta
  • 85
  • 1
  • 7
  • 2
    Possible duplicate: [iOS App Rejected : non-public APIs](http://stackoverflow.com/q/39405016/2415822) (I'm out of close votes). See my answer about using `grep`, you probably have a namespace collision with a private selector. – JAL Sep 16 '16 at 19:35

1 Answers1

1

commentText is in EBPhotoPages. I found it in the protocol EBPhotoCommentProtocol among other places. Since it's on github , you should fork the repo and change it. You should also submit a pull request to the owner with the change.

It may be failing now because it's a new symbol in the iOS 10 non-public APIs, so didn't clash previously.

As far as we can tell Apple only do a text search for their symbol names. If they find something that matches they don't do any further analysis.

DavidA
  • 3,112
  • 24
  • 35