iTunes Store operation failed. The app referenced non-public selectors

Question

While validating my iOS app with iTunes AppStore, the organizer of Xcode 6.1.1 pops up an error “iTunes Store operation failed. The app referenced non-public selectors in Payload/my.app: messageSent” There is no such private or public method or name of class member or variable in my app. Actually such a string does not exist in my code. What can I do?

Solution

It has happened to us many times. There is not much you can do. Sometimes the error is on the Apple’s side.

– Be sure to recheck your code. It may be hidden somewhere deeply in your code, or in a previous version or in an imported library you have not recompiled yet. If somehow there is such a text in your code, try to reorganize it. Rename class, method or variable that you find suspicious. messageSent sounds like a call for a trouble. If it’s in your code then rename it to like myMessageSent.

– Find the folder and delete all derived data. How: open Xcode -> Preferences -> Locations. Folder is somewhere here: ~/Library/Developer/Xcode/DerivedData/…

– Your project is fine. Wait a few hours or a day while the iTunes Connect is repaired.

– Revert to the previous version of Xcode if you can. For example Xcode 6.0.1.