★ TouchArcade needs your help. Click here to support us on Patreon.

__cxa_bad_cast is PRIVATE API, but i really dont use it drectly..

11-20-2009, 01:21 PM
#1
Joined: Aug 2009
Posts: 817
__cxa_bad_cast is PRIVATE API, but i really dont use it drectly..

today, i received a email from apple:

Quote:
hank you for submitting GeoGeo Wars to the App Store. Unfortunately it cannot be added to the App Store because it is using a private API. Use of non-public APIs, which as outlined in the iPhone Developer Program License Agreement section 3.3.1 is prohibited:

"3.3.1 Applications may only use Documented APIs in the manner prescribed by Apple and must not use or call any private APIs."

The non-public API that is included in your application is __cxa_bad_cast.

Regards,
i dont use it directly, i used boost lib in GeoGeo Wars, weather the lib
call it directly....

any guys here have used boost lib in your apps?
11-20-2009, 10:41 PM
#2
Joined: Aug 2009
Posts: 817
i get it....boost lib

11-20-2009, 10:48 PM
#3
Joined: Nov 2008
Location: Baltimore
Posts: 205
Quote:
Originally Posted by adot777 View Post
i get it....boost lib
do you mean

C++ BOOST?

its not even a lib its a set of headers and some libs.

You use the parts you need.

So saying you just use BOOST is not really a clue to what you used.

I use BOOST for files / paths just fine... shrug.
11-21-2009, 12:31 AM
#4
Joined: Sep 2009
Posts: 479
I haven't used boost in any of my apps but I'd be surprised if it contains code that calls a private API; its mostly "generic" code.

Are you using any engines such as Unity? I believe a couple of weeks ago they had to put out an update because they had some 'illegal' code like this. (its fixed now and my apologies if I got this wrong). My point is, check the external libraries you're using.

"when he eats three poops and becomes muscle bound, that was worth the .99 right there." -Super Fly!
Tetris and Bubble Wrap had a baby and named it Super Juicy!
TouchGen Best of 2009 Finalist! 5/5 Best of 2009
11-21-2009, 03:44 AM
#5
Joined: Aug 2009
Posts: 817
Quote:
Originally Posted by TheBunny View Post
do you mean

C++ BOOST?

its not even a lib its a set of headers and some libs.

You use the parts you need.

So saying you just use BOOST is not really a clue to what you used.

I use BOOST for files / paths just fine... shrug.
i found out that this privte API 's head file is used by boost(c++) lib.

in my "GeoGeo Wars" i used mutilthread, serialization lib....

11-21-2009, 03:46 AM
#6
Joined: Aug 2009
Posts: 817
Quote:
Originally Posted by GregH View Post
I haven't used boost in any of my apps but I'd be surprised if it contains code that calls a private API; its mostly "generic" code.

Are you using any engines such as Unity? I believe a couple of weeks ago they had to put out an update because they had some 'illegal' code like this. (its fixed now and my apologies if I got this wrong). My point is, check the external libraries you're using.
i used Mutithread , Serialization lib in "GeoGeo Wars"...
11-21-2009, 11:17 AM
#7
Joined: Sep 2009
Posts: 479
Quote:
Originally Posted by adot777 View Post
i used Mutithread , Serialization lib in "GeoGeo Wars"...
Wow, I never would have guessed that would be a problem. Have you determined which part of boost uses the private API? I guess you're going to have to rewrite that functionality.

"when he eats three poops and becomes muscle bound, that was worth the .99 right there." -Super Fly!
Tetris and Bubble Wrap had a baby and named it Super Juicy!
TouchGen Best of 2009 Finalist! 5/5 Best of 2009
11-21-2009, 04:18 PM
#8
Joined: Nov 2008
Posts: 942
We are not using boost, but from looking at the code it seems to be quite simple to replace the functions, it's just one header file. It would be best if those modifications are done in the main boost trunk though so that everyone can get it fixed.