-
Notifications
You must be signed in to change notification settings - Fork 264
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
App rejected due to NSLocationAlwaysUsageDescription #490
Comments
@lifenautjoe as a temporary fix to get around this issue, I would suggest including an In the long term it is planned to split the location code into a separate OneSignal+Location framework but for now that should fix the issue. |
Unfortunately that does not work... Apple rejects it if it doesn't include both the I sense this will be a chaos in the upcoming days. |
@lifenautjoe then there shouldn’t be an issue with including both strings - they won’t end up getting used. |
Can you remove the location feature? I also encountered the same problem。@Nightsd01 |
Hello, Maybe something like this would work: NSString *clazzName = [NSString stringWithFormat:@"%@%@%@", @"CL", @"Location", @"Manager"];
if( (int)[NSClassFromString(clazzName) performSelector:@selector(authorizationStatus)] == 3) { |
@JanC @lifenautjoe @coffeemao Do you happen to have the
Do you get the rejection right away after uploading or after a fews days, etc? @JanC It is possible something like that might work. It's hard to say if app is using static analytics or some kind of runtime instrumentation that flags any access to the class. Let me know if you had the framework linked, and if removing that ends up fixing the problem. |
In my case, it was rejected during the automated binary processing. I do have the I ended up adding the plist entry and the TestFlight beta submission was successful. |
@jkasten2 I don't have the |
@summera adding these strings will not ask the user for location permission. As long as you call Unfortunately there isn’t much we can do about Apple having overly-aggressive binary scans. In the future we will probably split out the location features into a separate framework but for now, adding the strings to your |
Closing issue due to no response |
+1 to splitting the feature out into another framework to avoid this. |
This is a bug! Ignore it. |
@danhhgl , |
@rgomezp I got the same email "Missing Purpose String in Info.plist" for "NSLocationAlwaysUsageDescription " and "NSLocationWhenInUseUsageDescription". But after a few minutes, I got a successful email: "App Store Connect: Version 1.0.0 (1) for YOUR_APP_NAME has completed processing." I did nothing at all. So I think this is a bug, so you can ignore it. |
Thanks for the details @danhhgl |
This is still happening for me. Is there no resolution for this yet, without adding the two Purpose Strings? |
What is the last OneSignal version where this doesn't happen? What has been the recommend guide lines for this? |
@sinosoidal , Just add the two permission strings (NSLocationWhenInUse and NSLocationAlwaysUsageDescription) to your build and call OneSignal.setLocationShared(false). The two permission strings satisfy the App store, but are never used because setLocationShared == false. I also don't like to have to do this, because it I understand that there is no other way around it. |
Should OneSignal.setLocationShared(false) be called before or after OneSignal.initWithLaunchOptions? Does it matter? |
Even with |
I get the wanting from Apple but then the build is approved for test flight. So as per some comments above, the email from Apple seems to be a bug more than an actual blocker. I haven't yet tried to submit to the App Store, so perhaps it would be blocked there with out the plist update? |
This still seem to happen today |
This is a similar issue to when the Google Analytics iOS SDK included symbols and linked against libraries that made use of the IDFA. IMO, one should be able to opt in on functionality such as location sharing, where the default does not at all link against libraries where location related code is accessed. I believe this can be made possible with OneSignal too. Any thoughts? |
Just got an email from Apple in regards to the latest built
I do not use the location of people in the app nor wish to do so or even ask for it.
I'm also calling
setLocationShared(false)
. Still rejected.This might be in regards to new privacy laws adopted on the 20th of the current month.
The text was updated successfully, but these errors were encountered: