[RESOLVED] App submission reject - Your app contains non-public API usage

Same as  naveen_pcs.  Failed with Build 2014.2393. 

Thanks for all the reports.  This affects everyone trying to deploy to iTunes.  We are aware of the problem and its severity.  We are getting the same error.  Engineering is working to solve this and we will post back here once we have a solution.

Rob

Typical Apple behavior.

Yup. They say jump and all we can do is ask “how high?”… Thankfully Corona Labs seems to have a fix in today’s daily. Didn’t test it yet but I’m sure the issue will be resolved quickly for those who have access to the daily builds. 

Edit : The blurb about this issue being fixed in todays Daily Build is gone. So I take it there was an attempted fix but it did not work. Oh well. I’m sure the fix will come along soon. 

Thanks Rob, Thanks Tom! Looking forward to an update to this… :slight_smile: You guys rock! Anyone else notice how the ‘new’ iTunes Connect looks much more like google’s developer console now? hmmm… :stuck_out_tongue:

Please fix the issue asap. we are unable to upload build to app store

same error, cannot upload apps

I suggest disabling the GameCenter functionality to pass the review.

As soon as Corona devs fix the issue we can update/resubmit.

I know, it’s not the perfect solution, especially for those dependant on GameCenter to incentivise players.

Hi exevio, can you tell us how we can disable the GameCanter functionality? Sorry just a newbie here!

For info exevio, I just got the same error on one of my app and I don’t use GameCenter

I hope the public build will have a fix to this as well, only on Starter and don’t get daily builds either. This Apple switching things up on a whim really messes things up.

We have disabled the game centre and also removed the code, still same issue…

Hey all, so a quick update on this. We are continuing to look into this.

These are clearly false positives b/c all the APIs in question are public but are wrongly being flagged as non-public. We have attempted some workarounds (changing selector methods to property accesses in Obj-C) but Xcode compilation continues to convert these back into a form which iTunes Connect flags as non-public. We’ve put in a word to Apple dev rel, but due to iOS 8 and the Sept 9 announcement, I suspect everyone is overloaded.

This issue also affects native iOS devs (https://devforums.apple.com/message/1035285#1035285) as well as other frameworks, so this is _not_ unique to Corona. Nonetheless, I share your frustration; these fire drill situations that Apple creates are no cake walk.

Due to the upcoming release of iOS 8, iTunes Connect has undergone “upgrades”. This is causing all sorts of headaches (https://devforums.apple.com/message/1035262#1035262) in addition to the one mentioned on this thread.

Given all this, the best comment/advice I’ve seen on this situation is to avoid submitting apps in the weeks before a new iOS version is coming out (e.g. a big Apple announcement):

Experienced devs learn from the past that submitting when a new iOS is pending is risky. Next time, do what you need to do two/four weeks ahead of the ‘event’ and/or wait a week or two after. Avoid the rush in any case.

Probably not what you want to hear, but it’s more an acceptance of the reality of being in the kitchen when Apple is cooking up big releases.

another error :confused:

http://tinypic.com/r/anngok/8

Keeping up with what Walter posted, the reason for the GameCenter error(s) on app submission is because they are now deprecated. The way for these errors to be resolved is to reimplement some of the Game Center functionality with this: https://developer.apple.com/library/ios/documentation/GameKit/Reference/GKGameCenterViewController_Ref/Reference/Reference.html

(Note: Something Corona would need to do, not us of course)

I’m also receiving the MPMoviePlayer error similar to what MadTeam described.

Is that going to be fixed as well? Or is Apple shooting out random errors at the moment due to the updates they’re making.

@madTeam and @PickionGames, what build are you using? That symbol is was removed a few months ago. Have you tried using the latest release (2393a) to see if you are getting the same errors as others (gameNetwork)?

I thought I did but when I open Corona the welcome screen says 2393, is it suppose to say 2393a?

Anyway, redownloading it now to see if it’ll help with error.

Update:

Ok I was using regular 2393. Updated to 2393a, even though on welcome screen it still says 2393 without the a.

I’m getting the same error as everyone else is getting now about the game network I believe. @madTeam you have to update your Corona to 2393a too I guess.

No, the 2393A Mac Simulator will only say 2393 in the Welcome window. Does your app use any plugins and are you sure you built the app with 2393?

Okay, we think we have found a workaround to Apple’s false alarm. We are making this available in daily build 2422. You may still see warnings about non-public APIs, but you should no longer see errors preventing your app from uploading.

What we are doing:

Pro/Enterprise users: you can use this daily build. We appreciate any reports on this. Expect to continue to see warnings, but the error should (hopefully) go away.

 

Starter/Basic users: Because Apple is making so many things in flux, we are going to wait for the dust to settle post-iOS 8 before we update the public release. Too many variables can change right now, and it doesn’t make sense for us to play a cat-and-mouse game with Apple — there may be other public APIs that Apple will capriciously choose to cause submission errors. Hopefully, given that native iOS devs are affected, Apple will fix this on their servers.

What you can do if you really must submit:

Right off, we recommend that you avoid submitting right now. Experience (https://devforums.apple.com/message/1035262#1035262) suggests you should postpone submissions until 2 weeks after iOS 8.

 

However, if you really must submit right now, you should submit your grievances to Apple. To that end, we have created a form letter (below) that you can send to (appreview@apple.com).

 

You will need to replace NINE_DIGIT_ID with the corresponding nine digit identifier from iTunes Connect.


SUBJECT: False positives in “non-public API usage” preventing app upload

MESSAGE BODY:

Hi, our app binary (NINE_DIGIT_ID) cannot be uploaded to iTunesConnect b/c ApplicationLoader is *incorrectly* flagging non-public APIs. In other words, these are false positives.

We say this with 100% certainty because the code is using public properties that the Xcode compiler (Apple’s own tools) are converting to ‘set’ selector calls (as Obj-C properties are syntactic sugar for selector method calls). These calls are erroneously being flagged as false positives:

* ‘setComposeViewDelegate:’ is equivalent to the ‘composeViewDelegate’ property in GKFriendRequestComposeViewController

* ‘setAchievementDelegate:’ is equivalent to the ‘achievementDelegate’ property in GKAchievementViewController

* ‘setLeaderboardDelegate:’ is equivalent to the ‘leaderboardDelegate’ property in GKLeaderboardViewController

* ‘setShowExistingMatches:’ is equivalent to the ‘showExistingMatches’ property in GKTurnBasedMatchmakerViewController

* ‘setTurnBasedMatchmakerDelegate:’ is equivalent to the ‘turnBasedMatchmakerDelegate’ property in GKTurnBasedMatchmakerViewController

Similar issues have been noted on the Apple’s Developer Forum, e.g. https://devforums.apple.com/message/1035114#1035114

Therefore, our app does *not* contain private APIs, and is consistent with public API usage per Apple’s developer agreement. Please let us know how we can upload our binary and get past these false alarms.

sincerely,

XXX