OpenFeint+iOS5 iTunes warning - non-public selector?

Hi -
I apologize if this is light on specifics and heavy on assumptions, but I don’t have much information at this point.

Just built and uploaded (to iTunes) an OpenFeint-enabled iOS app. Used the application loader provided with Xcode 4.2 (The one released with iOS5).

Although the app uploaded successfully, Application loader reported the following issue:

The app references non-public selectors in (myapp).app/(myapp): updateBadge

This is presumably referring to a module in OpenFeint. I don’t have anything with this name in my application. I assume that the app will be rejected for this reason. I remember hearing somewhere that beginning in iOS 5, apple was making some previously-public user identifier property private. I assume (perhaps incorrectly) that OpenFeint addressed this in their latest version.
A question I have is - is Corona using the latest version of OF? The online docs mention version 2.7.2, but I think that’s probably outdated.

Has anyone else submitted a Corona + OpenFeint app via the 4.2 Application Loader and *not* received this message?

Other information: Built using .640. My app does use OF achievements. I am using game center integration via OFGameCenter.plist. OF and game center integration works in test/sandbox environment.

Any insight appreciated - Thanks
Scott

[import]uid: 31041 topic_id: 16623 reply_id: 316623[/import]

This probably won’t help you, but I’m in the same boat, and maybe this will help narrow down the problem. I have an app on iTunes that I was trying to update… and I got the same error msg during upload via the new Application Loader.

My app uses OF leaderboards, no achievements, and no GC integration. I just switched it to gameNetwork from openfeint, even though it’s working, could this be causing the problem?

I’m on Corona .641, and Xcode 4.2 (4D199) [import]uid: 10379 topic_id: 16623 reply_id: 62130[/import]

Is this the first time you’ve uploaded with the latest version of Application Loader?
My understanding is that they added the feature to check for private API usage in the last version.

I believe Corona’s gameNetwork API is an abstraction of the older, (now deprecated?) openFeint API, allowing for other game networks (e.g., papaya). The underlying openFeint SDK which Corona is using is what Application Loader is complaining about.

The million dollar question is - Will apple disapprove the binary? If so, this is a showstopper for Corona and OF until it’s fixed.
[import]uid: 31041 topic_id: 16623 reply_id: 62134[/import]

Yup, first time uploading via the latest version of Application Loader. I hope that Ansca folks are working on this as we speak, and we’re not the first ones who experienced this… otherwise if the app submission gets rejected because of this, it is a showstopper.

On another note; I like the new features, but sometimes I wish things were addressed differently… even though I like the new Welcome Window… tack or untack the “Show Welcome window” does nothing and I can’t seem to disable it :frowning: [import]uid: 10379 topic_id: 16623 reply_id: 62136[/import]

I did see this in the bugs database:

6702 iOS - Core Functionality/UI OpenFeint without Game Center: App rejected Incoming - needs review Open

The way the fogbugz database works (a bit confusing IMO), you can’t see any additional details on it unless you get a special link via email. Based on the bug #, it’s pretty old though.

In any case, please post to this thread when apple approves/disapproves. My submission is a new app, which will probably take longer than your update…

Thanks
[import]uid: 31041 topic_id: 16623 reply_id: 62158[/import]

I also have the same problem. I’m on Corona build 641 and Xcode 4.2. I really hope Apple won’t reject my binary because I desperately need this update to go through. [import]uid: 71241 topic_id: 16623 reply_id: 62169[/import]

scott0 - I don’t even bother because at times I find myself chasing my own tail spending hours figuring stuff out on outdated docs and etc… I don’t want to spoil anyones dinner, but if it wasn’t for the community and their input in resolving issues I probably wouldn’t have bothered with a subscription. On the lighter note, I have two updates with both of them receiving the same error msg… I might pull one of them(read below…)

grrstudios - ack, ack… I was hoping for one of my updates to be in before Halloween… I’m tempted to pull one update binary back, rewrite and skip OF till this gets resolved.

I will keep you both posted. [import]uid: 10379 topic_id: 16623 reply_id: 62180[/import]

Hi,

Just wanted to report in I’ve just received the same error msg when submitting an update using Application Loader 2.4.1 (Corona 2011.645)

“The app references non-public selectors in (myapp).app/(myapp): updateBadge”

The game is released last week and I have used previous version of the XCode/AL to upload it…

Besides that error, it appears to be uploaded ok and currently waiting for review.

[import]uid: 10478 topic_id: 16623 reply_id: 63026[/import]

@scott0,

I have checked that bug report and it’s not related…

Btw, you can see details of any bug entry by stripping some part of the url. It just needs to be first 8 random characters…

In you case: http://bugs.anscamobile.com/default.asp?6702_lstu64s0 [import]uid: 10478 topic_id: 16623 reply_id: 63028[/import]

Btw,

“updateBadge” sounded like it might be the part of recent “Local Notifications” feature… You know, it shows the red number badge on the app icon… [import]uid: 10478 topic_id: 16623 reply_id: 63029[/import]

Bump for the team, I’m curious about this… [import]uid: 10478 topic_id: 16623 reply_id: 63180[/import]

Apple just approved my new app about 30 mins ago, apparently this isn’t a show-stopper.
[import]uid: 31041 topic_id: 16623 reply_id: 63181[/import]

Just got the same message for the first time - has anyone verified what it is (looked on the internet but no real answers there). Has anyone had their app rejected after submitting and getting this code? [import]uid: 40033 topic_id: 16623 reply_id: 66337[/import]

I just got the same error aswell.

update badge, and “app references non-public selectors”. Ive just done a quick browse on the internet and it seems a fair few people are having the public selector warning in the last few weeks…

It still uploaded my game though, and its now waiting for review, so hopefully these warnings wont get the app rejected. [import]uid: 69826 topic_id: 16623 reply_id: 66723[/import]

I’ve had two approvals (one new and one update) with this warning, so I assume it really is just a warning at this point.
[import]uid: 31041 topic_id: 16623 reply_id: 66730[/import]

My game got rejected for about the same reason here…

"We found that your app uses one or more non-public APIs, which is not in compliance with the App Store Review Guidelines. The use of non-public APIs is not permissible because it can lead to a poor user experience should these APIs change.

We found the following non-public API in your app:

updateBadge

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.

Additionally, one or more of the above-mentioned APIs may reside in a static library included with your application. If you do not have access to the library’s source, you may be able to search the compiled binary using “strings” or “otool” command line tools. The “strings” tool can output a list of the methods that the library calls and “otool -ov” will output the Objective-C class structures and their defined methods. These techniques can help you narrow down where the problematic code resides.

We appreciate that you may have made the precautions in your code for using non-public APIs, however, there is no way to fully accommodate the unknown. It is for this reason, that we do not permit the use of non-public APIs in App Store apps."
What can I do now?
Any help would be much appreciated…
[import]uid: 78837 topic_id: 16623 reply_id: 66783[/import]

This could be a showstopper for every corona/openfeint app until it’s addressed. I’d file a bug report here at ansca and reference this thread. My experience with ansca bug reports has been positive, so I’d definitely start here. You should’t be paying for a service (Corona) that produces a product that you can’t sell.
[import]uid: 31041 topic_id: 16623 reply_id: 66786[/import]

johnybe - what API’s did you use in your app? [import]uid: 40033 topic_id: 16623 reply_id: 66795[/import]

I am using:

director.lua,
easing.lua,
facebook API,
json.lua,
gameNetwork API,
lib_particle_candy,
xml.lua,
ui.lua
and some other modules I created.

I guess Apple’s problem is that I am calling GameCenter throught OpenFeint…
So, the reason they reject my app must be something about gameNetwork API from Corona SDK.

Is there a solution?? I am really frustrated here…
[import]uid: 78837 topic_id: 16623 reply_id: 66798[/import]

im guessing it must be something to do with the gameNetwork API, if yours got rejected because of the updateBadge warning, then mine doesnt stand much of a chance… thats going to be a couple of weeks extra delays :confused:

Johnybe, id contact corona support straight away, and maybe send in a bug report aswell, then hopefully they can sort this out quickly. [import]uid: 69826 topic_id: 16623 reply_id: 66801[/import]