-
Notifications
You must be signed in to change notification settings - Fork 554
Card.io cause Non-public API usage #201
Comments
I would ask Apple to be more specific and to make sure they're not incorrectly identifying private API usage. The card.io methods you listed are not private system API. I seem to recall incorrect builds causing some problems (e.g. wrong architectures; wrongly linked libraries/frameworks), but nothing specific for non-public API usage. If anyone has any suggestions, please leave a comment. |
It's Apple's mistake. We used to see a similar issue from time to time a few years ago -- apparently card.io contained some identifiers which happened to match non-public Apple identifiers, and Apple's screening tests caught these as false-positives. In your case today, Apple's problem would seem to be a different one. It seems unlikely that they'd be complaining because an app contains an identifier like |
Would Cardio consider change the name of references non-public selectors so to avoid conflict with Apple's mistake? |
@eversunsoft I think you should ask Apple to review their process to help eliminate false positives or get an understanding of what the real issue is. Names like If you really want to change the names, you can try to the fork the library, rename them, and build the library for yourself (build instructions are included with the source) but again, I would stress that this really should be something Apple either fixes or better explain what the issue is. Given that, I'll close this issue. If there are more details about this issue, please leave a comment, and we can reopen. |
I have the same problem when trying to submit my Xamarin.iOS application in the Apple Store. There are at least 2 more developers unable to update the version: https://components.xamarin.com/view/cardioios Could give special attention to solve this problem? |
So we also started getting rejected for private api usage. paypal/PayPal-iOS-SDK#456 I did what was recommended here and argued the point to Apple but got this response.
They don't seem to really care that it is a name collision. Its hard for us to argue against Apple also because my argument is. Paypal told me its not a private API (I fully believe it but I can't back up the statement). Unfortunately Apples review process is so inconsistent because we have been using this version for our last couple of releases ! Is it any way possible to change the method name. It will hopefully save some developers some time in the future also because at this stage for us anyway we want to get this release out and its at the stage where we would have to remove Paypal as an option from the app or at least stop using the SDK :( |
We are looking into trying to mitigate some of the collisions. Hopefully it isn't because of that specific method that they named in the email though since that's pretty unique to this project. |
@bluk the one we initially got flagged for was. |
I got some trouble when I try to upload my app to AppStore.
Apple reject the app with these error message:
Non-public API usage:
The app references non-public selectors in MyAppiOS: cardNumber, cardType, libraryVersion, navigationBarStyle, navigationBarTintColor, preload, setCardNumber:, setNavigationBarTintColor:
Deep searching told me that the Card.IO is causing the problem, indeed it has all the above selectors.
The same code was uploading successfully. What can be the cause of such behavior?
The text was updated successfully, but these errors were encountered: