-
Notifications
You must be signed in to change notification settings - Fork 124
AppStore rejected the app because nextStartIndex conflict with apple's private API #203
Comments
Actually it's not that simple. Given that the method names are tied to the JSON keys in the response objects, this would break users of the nextStartIndex feature (to automatically download more items using the same ticket)... As a quick and very dirty solution to unblock you from submitting to the App Store while we take a closer look at this, if your services (or the ones you are using) don't support nextStartIndex, you could rename nextStartIndex to _nextStartIndex in your copy of the code. This would only need to be done while archiving the app to be sent for review. Thanks for the heads up! |
Yea, we dealt with this on the query side but looks like we didn't do it on the object side, I'll look at properly dealing with it. |
google/google-api-objectivec-client-for-rest@4905536
I'm getting rejected for the same reason: Your app uses or references the following non-public APIs: "nextStartIndex:" I'm using:
I don't see nextStartIndex anywhere though so I can't rename. Any other suggestions? Fixed perhaps in GoogleMaps 2.0.1? |
You'll want to ask on the issue/support areas for those sdks, neither of them comes directly from this project. |
Hi, @gabrielpjensen I've been hit with that rejection also. We're only using GoogleMaps, did upgrading that to 2.0.1 have any benefit for you? Correction: we're only using the Places API which is now a separate component, interested in knowing if you had any success when upgrading that. I'll probably upgrade nonetheless and post my results here. Correction 2: I've upgraded from GoogleMaps 1.13.x to GooglePlaces 2.0.1, but the one you mentioned, GooglePlacesAPI, is not Google's but a third party one and probably not relevant to the |
@perotinus do you know what the pods are people are using and hitting this problem? As far as I can tell, it doesn't have anything to do directly with this project. |
Hmm. I believe it would be mostly people using an older version of GTL directly, either through this library or somewhere else. @premprakash0961988 GoogleOpenSource.framework looks like it's provided by the Google+ team. I think you may need to reach out to that team to see if they have an updated version of their library with a new version of GTL. If the other frameworks they distribute depend on that version of GTL, I don't think you'll be able to update GTL without getting an update to the Google+ platform. Maps had the problem in an older release because they have a renamed version of GTL in their binary, but I believe that was fixed with 2.0.1. |
I have also had Apple reject my app saying that GoogleOpenSource.framework contains a call to nextStartIndex which is not allowed because it is a private API. I added the libraries directly from here: https://developers.google.com/+/mobile/ios/upgrading-sdk |
@shudecek I'm trying to find someone on the Google+ SDK team to ask about this. I'll report back if and when I find someone and get more info about the Google+ SDK. |
@shudecek OK, I was able to find someone on the Google+ SDK team. It looks like that SDK has been deprecated and replaced with GoogleSignIn, per the note at the top of https://developers.google.com/+/mobile/ios/upgrading-sdk, so there will not be an update forthcoming to use a new version of GTL. It looks like there's a migration guide for Google+ SignIn to GoogleSignIn here. |
Yes, I had to update to my library and my app got approved on app store. Their implementation using cocoapods was pain because I was using TagManager. I had to manually add everything to make it work. |
hi all, updating the GoogleSignIn SDK from 3.0.0 to 4.0.0 fixed this for me |
AppStore rejected the app and gave the following reason:
_Your app uses or references the following non-public APIs:
"nextStartIndex:"
The use of non-public APIs is not permitted on the App Store because it can lead to a poor user experience should these APIs change.
Next Steps
Please revise your app to remove any non-public APIs. 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, if you are using third party libraries, please update to the most recent version of those libraries. If you do not have access to the libraries' source, you may be able to search the compiled binary using the "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 tools can help you narrow down where the problematic code resides. You could also use the "nm" tool to verify if any third-party libraries are calling these APIs._
Then, I found there is "@Property (retain) NSNumber *nextStartIndex;" in line 167 of GTLService.m
The solution is to replace this property name, isn't it?
Many Thanks.
The text was updated successfully, but these errors were encountered: